[MPlayer-users] libavutil svn is failing to pass configure tests in vlc [r16748]

Gilles Sabourin gilles.sabourin at free.fr
Sun Jan 25 16:09:10 CET 2009


Sorry team, it was my intention to spam you : for whatever reason, my 
electronic signature failed for my last message.

I have compiled latest ffmpeg subversion [r16771], and after that, I got vlc 
compilation error in their libavcodec plugin since last 2009-01-24 evening. 
While grepping around, I discovered that libavutil is failing to pass 
configure tests. Here are vlc's config.log traces :

configure:45910: checking for AVCODEC
configure:45917: $PKG_CONFIG --exists --print-errors "libavcodec libavutil"
configure:45920: $? = 0
configure:45933: $PKG_CONFIG --exists --print-errors "libavcodec libavutil"
configure:45936: $? = 0
configure:45987: result: yes
configure:46017: checking libavcodec/avcodec.h usability
configure:46034: gcc -std=gnu99 -c  -Wall -Wextra -Wsign-compare -Wundef -
Wpointer-arith -Wbad-function-cast -Wcast-align -Wwrite-strings -Wmissing-
prototypes -Wvolatile-register-var -Werror-implicit-function-declaration -
I/usr/include/libavcodec -I/usr/include/libavutil    -DSYS_LINUX -
I/usr/include/libavcodec -I/usr/include/libavutil   conftest.c >&5
In file included from /usr/include/libavutil/common.h:106,
                 from /usr/include/libavutil/avutil.h:56,
                 from /usr/include/libavcodec/avcodec.h:30,
                 from conftest.c:218:
/usr/include/libavutil/mem.h:29:20: error: config.h: No such file or directory
configure:46041: $? = 1
configure: failed program was:
configure:45910: checking for AVCODEC
configure:45917: $PKG_CONFIG --exists --print-errors "libavcodec libavutil"
configure:45920: $? = 0
configure:45933: $PKG_CONFIG --exists --print-errors "libavcodec libavutil"
configure:45936: $? = 0
configure:45987: result: yes
configure:46017: checking libavcodec/avcodec.h usability
configure:46034: gcc -std=gnu99 -c  -Wall -Wextra -Wsign-compare -Wundef -
Wpointer-arith -Wbad-function-cast -Wcast-align -Wwrite-strings -Wmissing-
prototypes -Wvolatile-register-var -Werror-implicit-function-declaration -
I/usr/include/libavcodec -I/usr/include/libavutil    -DSYS_LINUX -
I/usr/include/libavcodec -I/usr/include/libavutil   conftest.c >&5
In file included from /usr/include/libavutil/common.h:106,
                 from /usr/include/libavutil/avutil.h:56,
                 from /usr/include/libavcodec/avcodec.h:30,
                 from conftest.c:218:
/usr/include/libavutil/mem.h:29:20: error: config.h: No such file or directory
configure:46041: $? = 1
configure: failed program was:
| /* confdefs.h.  */
| #define PACKAGE_NAME "vlc"
| #define PACKAGE_TARNAME "vlc"
| #define PACKAGE_VERSION "1.0.0-git"
| #define PACKAGE_STRING "vlc 1.0.0-git"
| #define PACKAGE_BUGREPORT ""
| #define PACKAGE "vlc"
| #define VERSION "1.0.0-git"
| #define STDC_HEADERS 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_UNISTD_H 1
| #define __EXTENSIONS__ 1
| #define _ALL_SOURCE 1
| #define _GNU_SOURCE 1
| #define _POSIX_PTHREAD_SEMANTICS 1
| #define _TANDEM_SOURCE 1
| #define _FORTIFY_SOURCE 2
| #define restrict __restrict
| #define HAVE_DLFCN_H 1
| #define LT_OBJDIR ".libs/"
| #define ENABLE_NLS 1
| #define HAVE_GETTEXT 1
| #define HAVE_DCGETTEXT 1
| #define HAVE_ICONV 1
| #define ICONV_CONST 
| #define LIBEXT ".so"
| #define HAVE_GETTIMEOFDAY 1
| #define HAVE_STRTOD 1
| #define HAVE_STRTOL 1
| #define HAVE_STRTOF 1
| #define HAVE_STRTOLL 1
| #define HAVE_STRTOULL 1
| #define HAVE_STRSEP 1
| #define HAVE_ISATTY 1
| #define HAVE_VASPRINTF 1
| #define HAVE_ASPRINTF 1
| #define HAVE_SWAB 1
| #define HAVE_SIGRELSE 1
| #define HAVE_GETPWUID_R 1
| #define HAVE_MEMALIGN 1
| #define HAVE_POSIX_MEMALIGN 1
| #define HAVE_IF_NAMETOINDEX 1
| #define HAVE_ATOLL 1
| #define HAVE_GETENV 1
| #define HAVE_PUTENV 1
| #define HAVE_SETENV 1
| #define HAVE_GMTIME_R 1
| #define HAVE_CTIME_R 1
| #define HAVE_LOCALTIME_R 1
| #define HAVE_DAEMON 1
| #define HAVE_SCANDIR 1
| #define HAVE_FORK 1
| #define HAVE_BSEARCH 1
| #define HAVE_LSTAT 1
| #define HAVE_STRDUP 1
| #define HAVE_STRNDUP 1
| #define HAVE_STRNLEN 1
| #define HAVE_ATOF 1
| #define HAVE_LLDIV 1
| #define HAVE_POSIX_FADVISE 1
| #define HAVE_POSIX_MADVISE 1
| #define HAVE_USELOCALE 1
| #define HAVE_STRCASECMP 1
| #define HAVE_STRNCASECMP 1
| #define HAVE_STRCASESTR 1
| #define HAVE_ALLOCA_H 1
| #define HAVE_ALLOCA 1
| #define HAVE_FCNTL 1
| #define HAVE_VMSPLICE 1
| #define HAVE_EVENTFD 1
| #define HAVE_MMAP 1
| #define HAVE_SETLOCALE 1
| #define HAVE_LANGINFO_H 1
| #define HAVE_NL_LANGINFO 1
| #define HAVE_LANGINFO_CODESET 1
| #define HAVE_CONNECT 1
| #define HAVE_SEND 1
| #define HAVE_ZLIB_H 1
| #define HAVE_GETADDRINFO 1
| #define HAVE_GETNAMEINFO 1
| #define HAVE_GAI_STRERROR 1
| #define HAVE_STRUCT_ADDRINFO 1
| #define HAVE_ADDRINFO 1
| #define HAVE_VA_COPY 1
| #define HAVE___VA_COPY 1
| #define HAVE_INET_ATON 1
| #define HAVE_GETOPT_LONG 1
| #define HAVE_GETOPT_LONG 1
| #define RETSIGTYPE void
| #define HAVE_DLFCN_H 1
| #define HAVE_DL_DLOPEN 1
| #define HAVE_CLOCK_NANOSLEEP 1
| #define HAVE_NANOSLEEP 1
| #define HAVE_NANOSLEEP 1
| #define STRNCASECMP_IN_STRINGS_H 1
| #define HAVE_SIGNAL_H 1
| #define HAVE_TIME_H 1
| #define HAVE_ERRNO_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_STDBOOL_H 1
| #define HAVE_GETOPT_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_WCHAR_H 1
| #define HAVE_LOCALE_H 1
| #define HAVE_FCNTL_H 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_TIME_H 1
| #define HAVE_SYS_TIMES_H 1
| #define HAVE_SYS_IOCTL_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_XLOCALE_H 1
| #define HAVE_ARPA_INET_H 1
| #define HAVE_NETINET_IN_H 1
| #define HAVE_SYS_EVENTFD_H 1
| #define HAVE_NET_IF_H 1
| #define HAVE_SYS_SHM_H 1
| #define HAVE_LINUX_VERSION_H 1
| #define HAVE_LINUX_DCCP_H 1
| #define HAVE_SYSLOG_H 1
| #define TIME_WITH_SYS_TIME 1
| #define HAVE_POLL 1
| #define HAVE_DIRENT_H 1
| #define HAVE_DECL_NANOSLEEP 1
| #define HAVE_STRUCT_TIMESPEC 1
| #define HAVE_PTHREAD_H 1
| #define HAVE_HAL 1
| #define HAVE_DBUS 1
| #define ATTRIBUTE_ALIGNED_MAX 64
| #define HAVE_ATTRIBUTE_PACKED 1
| #define HAVE_EXECINFO_H 1
| #define HAVE_BACKTRACE 1
| #define HAVE_MMX_INTRINSICS 1
| #define CAN_COMPILE_MMX 1
| #define CAN_COMPILE_MMXEXT 1
| #define HAVE_SSE2_INTRINSICS 1
| #define CAN_COMPILE_SSE 1
| #define CAN_COMPILE_SSE2 1
| #define CAN_COMPILE_3DNOW 1
| #define NDEBUG 1
| #define ENABLE_SOUT 1
| #define HAVE_LUA 1
| #define ENABLE_HTTPD 1
| #define HAVE_LIBPROXY 1
| #define ENABLE_VLM 1
| #define HAVE_TAGLIB 1
| #define HAVE__USR_LIB64_LIVE_LIVEMEDIA_INCLUDE_LIVEMEDIA_VERSION_HH 1
| #define HAVE_DVDREAD_DVD_READER_H 1
| #define HAVE_LIBSMBCLIENT_H 1
| #define HAVE__SMBCCTX_CLOSE_FN 1
| #define HAVE_DVBPSI_DR_H 1
| #define HAVE_DVBPSI_SDT 1
| #define HAVE_LINUX_VIDEODEV_H 1
| #define HAVE_LINUX_VIDEODEV2_H 1
| #define HAVE_LIBV4L2 1
| #define HAVE_NEW_LINUX_VIDEODEV2_H 1
| #define HAVE_LIBCDIO 1
| #define HAVE_VCDINFO 1
| #define HAVE_CDDAX 1
| #define HAVE_LIBCDDB 1
| #define HAVE_VCDX 1
| #define HAVE_LIBCDDB 1
| #define HAVE_LINUX_DVB_VERSION_H 1
| #define HAVE_LINUX_DVB_FRONTEND_H 1
| #define HAVE_X11_XLIB_H 1
| #define HAVE_INET_PTON 1
| #define HAVE_INET_PTON 1
| #define HAVE_INET_NTOP 1
| #define HAVE_INET_NTOP 1
| #define HAVE_OGG_OGG_H 1
| #define HAVE_EBML_EBMLVERSION_H 1
| #define HAVE_MATROSKA_KAXVERSION_H 1
| #define HAVE_MATROSKA_KAXATTACHMENTS_H 1
| #define HAVE_LIBMODPLUG_MODPLUG_H 1
| #define HAVE_MPCDEC_MPCDEC_H 1
| #define HAVE_MAD_H 1
| /* end confdefs.h.  */

You can see that config.h included in libavutil/mem.h is missing. In fact, 
this file is only provided at ffmpeg compilation time, no runtime.

The problem was introduced by this commit:

gilles at gilles-bureau:~/ffmpeg/libavutil> svn log mem.h
------------------------------------------------------------------------
r16748 | diego | 2009-01-24 15:55:30 +0100 (sam. 24 janv. 2009) | 2 lines

Directly #include a bunch of indirectly #included headers.

------------------------------------------------------------------------
r16590 | aurel | 2009-01-14 00:44:16 +0100 (mer. 14 janv. 2009) | 3 lines

Change semantic of CONFIG_*, HAVE_* and ARCH_*.
They are now always defined to either 0 or 1.

------------------------------------------------------------------------

and :

gilles at gilles-portable:~/ffmpeg/libavutil> svn diff --revision r16590:r16748 
mem.h
Index: mem.h
===================================================================
--- mem.h       (révision 16590)
+++ mem.h       (révision 16748)
@@ -26,6 +26,7 @@
 #ifndef AVUTIL_MEM_H
 #define AVUTIL_MEM_H

+#include "config.h"
 #include "common.h"

 #if defined(__ICC) || defined(__SUNPRO_C)
===================================================================


Conclusion is obvious :
#include "config.h"

has nothing to do at this level : please revert r16748 (and its eventual 
dependencies).

Greetings,
Gilles Sabourin



More information about the MPlayer-users mailing list