media-video/mjpegtools-1.6.0-r5 fails to compile while emerging gnome. Reproducible: Always Steps to Reproduce: 1. emerge rsync 2. emerge -b gnome or emerge -b mjpegtools (with -b or without) 3. wait Actual Results: i686-pc-linux-gnu-gcc -mcpu=i686 -march=i686 -march=i686 -O3 -pipe -Wall -Wunused -o .libs/yuvscaler yuvscaler.o yuvscaler_resample.o yuvscaler_bicubic.o -L/var/tmp/portage/mjpegtools-1.6.0-r5/work/mjpegtools-1.6.0/utils -lmjpegutils -lm ./.libs/liblavfile.so -L/usr/lib -lmovtar -L/var/tmp/portage/mjpegtools-1.6.0-r5/work/mjpegtools-1.6.0/../quicktime4linux-1.4-patch -L/var/tmp/portage/mjpegtools-1.6.0-r5/work/mjpegtools-1.6.0/../quicktime4linux-1.4-patch/i686 -lquicktime -lpthread -lpng -lz -lm -L/lib -ldl -L/usr/include/jpeg-mmx -L/usr/local/lib /usr/lib/libdv.so /usr/lib/libpopt.so /usr/lib/libSDL.so -lm -L/usr/kde/3/lib -lartsc -L/usr/X11R6/lib -lX11 -lXext -lvga -ldl -lpthread -lm /usr/lib/libglib.so -lpthread -ldl ./.libs/liblavjpeg.so /usr/lib/libjpeg.so /usr/i686-pc-linux-gnu/bin/ld: cannot find -lartsc collect2: ld returned 1 exit status make[2]: *** [yuvscaler] Error 1 make[2]: *** Waiting for unfinished jobs.... i686-pc-linux-gnu-gcc -mcpu=i686 -march=i686 -march=i686 -O3 -pipe -Wall -Wunused -o .libs/jpeg2yuv jpeg2yuv.o -rdynamic -L/var/tmp/portage/mjpegtools-1.6.0-r5/work/mjpegtools-1.6.0/utils -lmjpegutils ./.libs/liblavjpeg.so -L/usr/include/jpeg-mmx /usr/lib/libjpeg.so -L/usr/lib -L/usr/X11R6/lib /usr/lib/libgtk.so /usr/lib/libgdk.so /usr/lib/libgmodule.so /usr/lib/libglib.so -ldl -lXi -lXext -lX11 -lm creating jpeg2yuv i686-pc-linux-gnu-g++ -march=i686 -O3 -pipe -o .libs/lav2divx lav2divx.o lav_common.o -Wl,-rpath -Wl,/usr/lib -L/var/tmp/portage/mjpegtools-1.6.0-r5/work/mjpegtools-1.6.0/utils -lmjpegutils ./.libs/liblavfile.so -L/usr/lib -lmovtar -L/var/tmp/portage/mjpegtools-1.6.0-r5/work/mjpegtools-1.6.0/../quicktime4linux-1.4-patch -L/var/tmp/portage/mjpegtools-1.6.0-r5/work/mjpegtools-1.6.0/../quicktime4linux-1.4-patch/i686 -lquicktime -lpthread -lpng -lm -L/lib -ldl -L/usr/include/jpeg-mmx -L/usr/local/lib -lm -L/usr/kde/3/lib -L/usr/X11R6/lib -ldl -lpthread -lm -lpthread -ldl ./.libs/liblavjpeg.so /usr/lib/libjpeg.so /usr/lib/libdv.so /usr/lib/libpopt.so -lm -lartsc -ldl -lpthread -lm /usr/lib/libglib.so -lpthread -ldl /usr/lib/libaviplay.so -lz /usr/lib/libSDL.so /usr/lib/libesd.so /usr/lib/libaudiofile.so -lm -lvga -lSM -lICE -lXinerama -lXv -lXxf86vm -lXxf86dga -lXi -lXext -lX11 -lXft /usr/lib/libfreetype.so -lfontconfig -lXrender -lpthread -lnsl -ldl -lm /usr/i686-pc-linux-gnu/bin/ld: cannot find -lartsc collect2: ld returned 1 exit status make[2]: *** [lav2divx] Error 1 make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/mjpegtools-1.6.0-r5/work/mjpegtools-1.6.0' make: *** [all] Error 2 !!! ERROR: media-video/mjpegtools-1.6.0-r5 failed. !!! Function src_compile, Line -175, Exitcode 2 !!! (no error message) Expected Results: Compiled sucessfully and continued emerging gnome. # emerge info Portage 2.0.46-r2 (default-1.0, gcc-2.95.3, glibc-2.2.5-r2,2.2.5-r6) ================================================================= System uname: 2.4.19-ipv6-imzzo-coda i686 AuthenticAMD USE="x86 oss apm avi crypt cups jpeg libg++ mikmod mpeg ncurses qtmt quicktime spell xml2 xv berkdb bonobo esd gdbm gif gnome-libs gpm gtkhtml guile imlib java ldap libwww motif mozilla nls opengl pam png python qt readline scanner sdl slang ssl svga tcpd tetex tiff X gtk gtk2 gnome -alsa -arts 3dnow cdr encode kde mmx oggvorbis pdflib perl sse truetype xmms ipv6" ARCH="x86" COMPILER="" CHOST="i686-pc-linux-gnu" CFLAGS="-march=i686 -O3 -pipe" CXXFLAGS="-march=i686 -O3 -pipe" ACCEPT_KEYWORDS="x86 ~x86" CONFIG_PROTECT="/etc /var/qmail/control /usr/kde/2/share/config /usr/kde/3/share/config /usr/kde/3.1/share/config /usr/share/config" CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d" MAKEOPTS="-j3" JDK_HOME="/opt/blackdown-jdk-1.3.1" JAVA_HOME="/opt/blackdown-jdk-1.3.1" AUTOCLEAN="yes" SYNC="rsync://rsync.gentoo.org/gentoo-portage" GENTOO_MIRRORS="http://csociety-ftp.ecn.purdue.edu/pub/gentoo ftp://ftp.gtlib.cc.gatech.edu/pub/gentoo ftp://gentoo.linux.no/pub/gentoo ftp://ftp.oregonstate.edu/pub/gentoo http://www.ibiblio.org/pub/Linux/distributions/gentoo"
update your system emerge sync emerge -pu world --deep at lease portage, gcc and system packages then try again
Alright. I have not done a world update like this before, so I'm a little wary. Is there anything special I need to know, as in possible problems, things to watch out for, etc? Thanks.
basically what happened is that you had KDE (and ARTS -- KDE's soundserver) installed, and some things linked to it. You have, since, removed KDE and arts, but there are libs on your system which still try to link to the arts library. Two choices: remerge kde; or find /usr/lib -name '*.so' | xargs ldd to find out what is still linking to arts. then qpkg -f on those .so files to find out which package they came from, and remerge those packages (make sure you have -kde -qt -arts in USE).
I just had this problem myself, and there's no need to rebuild the entire system. Taking a hint from http://forums.gentoo.org/viewtopic.php?t=34669&highlight=mjpegtools run this command: find / -name '*.la' | xargs grep -l '/usr/kde/3/lib' Chances are you'll notice that there's a "libdv" in the list, and possibly some others. Just re-emerge the ones that show up (for me, it was just libdv).
First, I tried the emerge -pu world --deep after updating portage: # emerge -pu world --deep These are the packages that I would merge, in order: Calculating world dependencies / !!! all ebuilds that could satisfy "virtual/glu" have been masked. !!! (dependency required by "x11-libs/qt-3.1.0-r3" [ebuild]) And that's as far as I get. Now for CJ's suggestion: # find / -name '*.la' | xargs grep -l '/usr/kde/3/lib' /var/tmp/portage/mjpegtools-1.6.0-r5/work/mjpegtools-1.6.0/lavtools/.libs/liblavfile.la /var/tmp/portage/mjpegtools-1.6.0-r5/work/mjpegtools-1.6.0/lavtools/liblavfile.la /usr/lib/ao/plugins-2/libarts.la /usr/lib/kde3/libkemergepart.la find: /proc/32719/fd: No such file or directory /usr/lib/libdv.la The only two I was able to find in portage were libarts (as media-libs/libart_lgpl) and libdv (as media-libs/libdv). libdv is already the latest, should I rebuild it anyway? libarts however is one version back: * media-libs/libart_lgpl Latest version available: 2.3.11 Latest version installed: 2.3.10 So I'll try rebuilding that. I'll have to get around to all of this later, as I'm off to work. Cheers.
Yeah, rebuild libdv anyway. What happened is that libdv was compiled with an older version of KDE, and the directory KDE used to live in doesn't exist anymore. The .la files are informational, and they tell you how the library was compiled and where it found its dependencies and whatnot, and mjpegtools uses those files to determine what IT needs to link in. So once you recompile libdv using the currently-installed KDE, the .la file will be updated and mjpegtools will continue on its way. The one "libarts" file you noticed looks like it's actually a part of "libao," and I don't think you need to worry about that one (and the "arts" package is kde-base/arts, I believe, not media-libs/libart_lgpl). You may want to find out what package owns libkemergepart.la and redo that one as well.
re-emerged libdv, and also kemerge (which was what owned that other file), however I'm still getting mjpegtools compile failure: i686-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I. -I.. -I.. -I/usr/include -DG_LOG_DOMAIN=\"lavtools\" -DLAVPLAY_VERSION=\"1.6.0\" -I/usr/include -I/usr/include/glib-1.2 -I/usr/lib/glib/include -I/usr/local/include -I /var/tmp/portage/mjpegtools-1.6.0-r7/work/quicktime4linux-1.4-patch -I/usr/X11R6/include -I /usr/X11R6/include -I../utils -I/usr/include/avifile -I/usr/include/gtk-1.2 -I/usr/include/glib-1.2 -I/usr/lib/glib/include -I/usr/X11R6/include -mcpu=i686 -march=i686 -march=i686 -O3 -pipe -Wall -Wunused -c `test -f yuvmedianfilter.c || echo './'`yuvmedianfilter.c make[2]: *** [lav_io.lo] Error 1 make[2]: *** Waiting for unfinished jobs.... lav_common.c: In function `lav_init_dv_decoder': lav_common.c:425: too few arguments to function `dv_decoder_new' make[2]: *** [lav_common.o] Error 1 make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/mjpegtools-1.6.0-r7/work/mjpegtools-1.6.0' make: *** [all] Error 2 !!! ERROR: media-video/mjpegtools-1.6.0-r7 failed. !!! Function src_compile, Line -215, Exitcode 2 !!! (no error message) Thanks for sticking with me on this.
That's a different issue which is covered in a number of other bugs I've seen here and also in the forums. I'm also wholly unfamiliar with it. I'd suggest looking around there...
Once AGAIN and AGAIN -r5 is the latest working gcc 2.95
Gotchya, forgot about doing that. Thanks.