Doesn't look like it has much to do with configuration etc., and the ebuild doesn't use USE flags. I've avifile-0.6.0.20011130 and xmms-1.2.7. I use -O3 -march=i686 -pipe -fomit-frame-pointer optimizations, but I don't think that or anything else I didn't mention is related to the problem. emerge avi-xmms aborts with: /bin/sh ../libtool --mode=compile c++ -DPACKAGE=\"avi-xmms\" -DVERSION=\"1.2.2\" -DSTDC_HEADERS=1 -I. -I. -I/usr/include/avifile -I/usr/include/xmms -I/usr/include/gtk-1.2 -I/usr/include/glib-1.2 -I/usr/lib/glib/include -I/usr/X11R6/include -I/usr/include/SDL -D_REENTRANT -I/usr/include/gtk-1.2 -I/usr/include/glib-1.2 -I/usr/lib/glib/include -D_REENTRANT -I/usr/X11R6/include -march=i686 -O3 -pipe -fomit-frame-pointer -c caviplay.cpp c++ -DPACKAGE=\"avi-xmms\" -DVERSION=\"1.2.2\" -DSTDC_HEADERS=1 -I. -I. -I/usr/include/avifile -I/usr/include/xmms -I/usr/include/gtk-1.2 -I/usr/include/glib-1.2 -I/usr/lib/glib/include -I/usr/X11R6/include -I/usr/include/SDL -D_REENTRANT -I/usr/include/gtk-1.2 -I/usr/include/glib-1.2 -I/usr/lib/glib/include -D_REENTRANT -I/usr/X11R6/include -march=i686 -O3 -pipe -fomit-frame-pointer -c -fPIC -DPIC caviplay.cpp -o caviplay.lo caviplay.cpp: In function `int thread_video(void *)': caviplay.cpp:414: implicit declaration of function `int unsetenv(...)' caviplay.cpp:432: `fccYUY2' undeclared (first use this function) caviplay.cpp:432: (Each undeclared identifier is reported only once caviplay.cpp:432: for each function it appears in.) caviplay.cpp: In function `void cb_sweep(CImage *)': caviplay.cpp:637: no matching function for call to `CImage::data ()' caviplay.cpp:637: no matching function for call to `CImage::bytes ()' caviplay.cpp:640: no matching function for call to `CImage::bytes ()' caviplay.cpp:643: no matching function for call to `CImage::bytes ()' caviplay.cpp:644: no matching function for call to `CImage::bytes ()' caviplay.cpp:646: no matching function for call to `CImage::data ()' caviplay.cpp:646: no matching function for call to `CImage::bytes ()' caviplay.cpp:648: no matching function for call to `CImage::bytes ()' caviplay.cpp: In method `int cPlayer::open(const char *)': /usr/include/avifile/aviplay.h:237: too few arguments to function `class IAviPlayer * CreateAviPlayer(const char *, int, const char * = 0, const char * = 0, const char * = 0)' caviplay.cpp:683: at this point in file caviplay.cpp:686: no matching function for call to `IAviPlayer::initPlayer (const char *&, int &)' caviplay.cpp:688: no matching function for call to `IAviPlayer::isValid ()' caviplay.cpp:690: no matching function for call to `IAviPlayer::setKillHandler (void (&)(int))' caviplay.cpp:693: no matching function for call to `IAviPlayer::setAsync (double)' caviplay.cpp:695: no matching function for call to `IAviPlayer::width ()' caviplay.cpp:696: no matching function for call to `IAviPlayer::height ()' caviplay.cpp:738: no matching function for call to `IAviPlayer::setDrawCallback2 (void (&)(CImage *))' caviplay.cpp:740: no matching function for call to `IAviPlayer::GetVideoLength ()' caviplay.cpp:743: no matching function for call to `IAviPlayer::GetAudioLength ()' caviplay.cpp: In method `int cPlayer::close()': caviplay.cpp:764: no matching function for call to `IAviPlayer::setDrawCallback2 (void (&)(CImage *))' caviplay.cpp:765: no matching function for call to `IAviPlayer::setKillHandler (void (&)(int))' caviplay.cpp:768: no matching function for call to `IAviPlayer::isPlaying ()' caviplay.cpp:768: no matching function for call to `IAviPlayer::stop ()' caviplay.cpp: In method `int cPlayer::seek(long int)': caviplay.cpp:833: no matching function for call to `IAviPlayer::reseek_exact (long int &)' caviplay.cpp: In method `int cPlayer::play()': caviplay.cpp:846: no matching function for call to `IAviPlayer::start ()' caviplay.cpp:847: no matching function for call to `IAviPlayer::play ()' caviplay.cpp: In method `int cPlayer::pause(int)': caviplay.cpp:854: no matching function for call to `IAviPlayer::pause (int &)' caviplay.cpp: In method `int cPlayer::rewind()': caviplay.cpp:860: no matching function for call to `IAviPlayer::reseek (int)' caviplay.cpp: In method `int cPlayer::postype(int)': caviplay.cpp:880: implicit declaration of function `int putenv(...)' caviplay.cpp: In method `int cPlayer::query(const char *, long int *, char **)': caviplay.cpp:941: `MainAVIHeader' undeclared (first use this function) caviplay.cpp:941: parse error before `;' caviplay.cpp:944: `hdr' undeclared (first use this function) caviplay.cpp:956: implicit declaration of function `int strdup(...)' caviplay.cpp:956: assignment to `char *' from `int' lacks a cast make[1]: *** [caviplay.lo] Error 1 make[1]: Leaving directory `/var/tmp/portage/avi-xmms-1.2.2-r2/work/avi-xmms-1.2.2/src' make: *** [all-recursive] Error 1
ok, tried to reproduce this but it merged fine for me. My working assumption will be that this is a dependency problem of some kind.
By the way, I did an emerge media-video/avi-xmms This pulled in media-video/avifile-0.53.5-r1 and media-video/avi-xmms-1.2.2-r2 If I then 'ldd /usr/lib/xmms/Input/libavixmms.so, I get the following dependencies libaviplay.so.0 => /usr/lib/libaviplay.so.0 (0x40033000) libgtk-1.2.so.0 => /usr/lib/libgtk-1.2.so.0 (0x401d7000) libgdk-1.2.so.0 => /usr/lib/libgdk-1.2.so.0 (0x402c6000) libgmodule-1.2.so.0 => /usr/lib/libgmodule-1.2.so.0 (0x402f8000) libglib-1.2.so.0 => /usr/lib/libglib-1.2.so.0 (0x402fb000) libdl.so.2 => /lib/libdl.so.2 (0x40322000) libXi.so.6 => /usr/X11R6/lib/libXi.so.6 (0x40325000) libXext.so.6 => /usr/X11R6/lib/libXext.so.6 (0x4032d000) libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x4033c000) libxmms.so.1 => /usr/lib/libxmms.so.1 (0x40404000) libpthread.so.0 => /lib/libpthread.so.0 (0x40411000) libSDL-1.2.so.0 => /usr/lib/libSDL-1.2.so.0 (0x40426000) libgthread-1.2.so.0 => /usr/lib/libgthread-1.2.so.0 (0x40494000) libm.so.6 => /lib/libm.so.6 (0x40497000) libstdc++-libc6.2-2.so.3 => /usr/lib/gcc-lib/i686-pc-linux-gnu/2.95.3/libstdc++-libc6.2-2.so.3 (0x404ba000) libc.so.6 => /lib/libc.so.6 (0x40510000) libesd.so.0 => /usr/lib/libesd.so.0 (0x4063c000) libaudiofile.so.0 => /usr/lib/libaudiofile.so.0 (0x40644000) libvga.so.1 => /usr/lib/libvga.so.1 (0x40668000) /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x80000000)
I checked, and I had all these libs - except for libvga (last but one in your list). I emerged media-libs/libsvga, got libvga.so, but the avi-xmms emerge still fails as before. However, libsvga might still be (another?) missing dep. The question (for me) is, why in the world would an xmms input plugin link against it?
Apparently this package is abandoned upstream. seemant found another patch to enable avi viewing in xmms (complete with USE keyword) so maybe we should just remove this package completely
OK, avi-xmms does indeed seem to have stagnated upstream. There is an ambitious new project, however, called avi4xmms. The ebuild for that has been created and added to portage, but I have masked it. The newest revision for avi-xmms is blank, but it has avi4xmms as its RDEPEND. Additionally, xmms makes use of the "avi" USE flag now to be able to accommodate that avi4xmms plug-in. You all might recall that I had instituted that flag for a bloated addition to xmms which played avi's "natively." The new avi4xmms is a sexy and trim new plugin, but it requires that xmms be linked with -lavifile and -lstdc++ in order to be used. I masked all three because of the freeze. At this point, we can very well remove avi-xmms and have only avi4xmms, or what-have-you.
This package no longer exists in portage.
*** Bug 11311 has been marked as a duplicate of this bug. ***