The following ebuild: [ebuild U ] media-libs/xine-lib-1.0 [1_rc8-r1] +X +aac* -aalib +alsa (-altivec) +arts +avi -cle266 -debug -directfb +dvd -dxr3 +esd -fbcon +ffmpeg* +gnome +i8x0* +ipv6 -libcaca +mng* +nls -nvidia +oggvorbis +opengl +png +samba +sdl +speex +theora +vidix* +xv +xvmc* 0 kB will not emerge because it stops at the configure stage due to missing: "External ffmpeg library": checking for pp_get_context in -lpostproc... no configure: error: External ffmpeg library not found. ********************************************************************* You can try to specify prefix of ffmpeg library by the option --with-external-ffmpeg=prefix, or to specify custom FFMPEG_CPPFLAGS and FFMPEG_LIBS. If you would like to use the internal ffmpeg, please remove the configure option --with-external-ffmpeg. ********************************************************************* I tried emerge -av ffmpeg xine-lib and it emerged ffmpeg fine, but then it stopped during the configure stage of xine-lib ..do i need some other library, well its not in the ebuild anyways and needs to be fixed. Reproducible: Always Steps to Reproduce: 1. emerge -av ffmpeg xine-lib 2. you'll get the cannot find ffmpeg library error Actual Results: you'll get the cannot find ffmpeg library error during configure stage of xine-lib-1.0 Expected Results: it should detect the ffmpeg library and continue compiling?
Ok I found the culprint, thanx ferret for telling me where to look in config.log/#gentoo/freenode: configure:26069: i686-pc-linux-gnu-gcc -o conftest -O2 -march=pentium4 -frename-registers -mno-sse2 -mno-sse3 -ffunction-sections -I/usr/include/ffmpeg -I/usr/include/postproc -L/usr/lib conftest.c -lpostproc -lavcodec >&5 /usr/lib/libavcodec.so: undefined reference to `a52_syncinfo' collect2: ld returned 1 exit status distcc[19822] ERROR: compile conftest.c on localhost failed configure:26075: $? = 1 configure: failed program was: | /* confdefs.h. */ | | #define PACKAGE_NAME "" | #define PACKAGE_TARNAME "" | #define PACKAGE_VERSION "" | #define PACKAGE_STRING "" | #define PACKAGE_BUGREPORT "" | #define XINE_MAJOR 1 | #define XINE_MINOR 0 | #define XINE_SUB 0 | #define PACKAGE "xine-lib" | #define VERSION "1.0" | #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 HAVE_DLFCN_H 1 | #ifdef __cplusplus | extern "C" void std::exit (int) throw (); using std::exit; | #endif | #define HAVE_ALLOCA_H 1 | #define HAVE_ALLOCA 1 | #define HAVE_STDLIB_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_GETPAGESIZE 1 | #define HAVE_MMAP 1 | #define HAVE_ARGZ_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_LOCALE_H 1 | #define HAVE_NL_TYPES_H 1 | #define HAVE_MALLOC_H 1 | #define HAVE_STDDEF_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_SYS_PARAM_H 1 | #define HAVE_FEOF_UNLOCKED 1 | #define HAVE_FGETS_UNLOCKED 1 | #define HAVE_GETCWD 1 | #define HAVE_GETEGID 1 | #define HAVE_GETEUID 1 | #define HAVE_GETGID 1 | #define HAVE_GETUID 1 | #define HAVE_MEMPCPY 1 | #define HAVE_MUNMAP 1 | #define HAVE_PUTENV 1 | #define HAVE_SETENV 1 | #define HAVE_SETLOCALE 1 | #define HAVE_STPCPY 1 | #define HAVE_STRCHR 1 | #define HAVE_STRCASECMP 1 | #define HAVE_STRDUP 1 | #define HAVE_STRTOUL 1 | #define HAVE_TSEARCH 1 | #define HAVE___ARGZ_COUNT 1 | #define HAVE___ARGZ_STRINGIFY 1 | #define HAVE___ARGZ_NEXT 1 | #define HAVE_ICONV 1 | #define ICONV_CONST | #define HAVE_LANGINFO_CODESET 1 | #define HAVE_LC_MESSAGES 1 | #define ENABLE_NLS 1 | #define HAVE_LIBINTL_H 1 | #define HAVE_GETTEXT 1 | #define HAVE_DCGETTEXT 1 | #define inline inline __attribute__ ((__always_inline__)) | #define SIZEOF_LONG 4 | #define HAVE_LRINTF 1 | #define _ISOC9X_SOURCE 1 | #define HAVE_INT_FAST8_T 1 | /* end confdefs.h. */ | | /* Override any gcc2 internal prototype to avoid an error. */ | #ifdef __cplusplus | extern "C" | #endif | /* We use char because int might match the return type of a gcc2 | builtin and then its argument prototype would still apply. */ | char pp_get_context (); | int | main () | { | pp_get_context (); | ; | return 0; | } configure:26101: result: no configure:26191: error: External ffmpeg library not found. ********************************************************************* You can try to specify prefix of ffmpeg library by the option --with-external-ffmpeg=prefix, or to specify custom FFMPEG_CPPFLAGS and FFMPEG_LIBS. If you would like to use the internal ffmpeg, please remove the configure option --with-external-ffmpeg. *********************************************************************
Do a revdep rebuild, probably some reverse dependency is gone on holydays :)
add FFMPEG_LIBS="-L/usr/lib -la52 -lavcodec -lpostproc" FFMPEG_CPPFLAGS="-I/usr/include/ffmpeg -I/usr/include/postproc" in front of the emerge command, it seems that ffmpeg is linked to the shared library and not the static library that the xine configure program seems to expect.
please try the latest -r2 revbump of ffmpeg please.
Fixed the a52 stuff in portage, the -l adding was being done in the wrong file. Added it to configure so it would apply to config.mak and trickle down to the other makefiles. This is fixed in ffmpeg-0.4.9_p20050226-r2 btw.