mjpegtools-1.6.0-rx and 1.6.1 fail without alsa (alsa-lib I think). Alsa itself is no mandatory dependency in the build. There is AFAIK no --without-alsa switch for mjpegtools. This is the error: gcc -mcpu=i686 -march=i686 -march=i686 -O3 -pipe -fomit-frame-pointer -Wall -Wunused -o .libs/yuvscaler yuvscaler.o yuvscaler_resample.o yuvscaler_bicubic.o -L/var/tmp/portage/mjpegtools-1.6.1/work/mjpegtools-1.6.1/utils -lmjpegutils ./.libs/liblavfile.so -L/usr/lib -lmovtar -L/var/tmp/portage/mjpegtools-1.6.1/work/quicktime4linux-1.4-patch -L/var/tmp/portage/mjpegtools-1.6.1/work/quicktime4linux-1.4-patch/i686 /usr/lib/libquicktime.so /usr/lib/libglib.so -lpthread -lpng -lz -lm -L/lib -ldl -L/usr/include/jpeg-mmx ./.libs/liblavjpeg.so /usr/lib/libjpeg.so creating yuvscaler /bin/sh ../libtool --mode=link g++ -march=i686 -O3 -pipe -fomit-frame-pointer -o lav2divx lav2divx.o lav_common.o -L../utils -lmjpegutils liblavfile.la liblavjpeg.la -Wl,-rpath,/usr/lib -laviplay -lm gcc -mcpu=i686 -march=i686 -march=i686 -O3 -pipe -fomit-frame-pointer -Wall -Wunused -o .libs/jpeg2yuv jpeg2yuv.o -rdynamic -L/var/tmp/portage/mjpegtools-1.6.1/work/mjpegtools-1.6.1/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 /bin/sh ../libtool --mode=link g++ -march=i686 -O3 -pipe -fomit-frame-pointer -o yuv2divx yuv2divx.o -lpthread -L../utils -lmjpegutils -Wl,-rpath,/usr/lib -laviplay -lm liblavfile.la libtool: link: cannot find the library `/usr/lib/libasound.la' make[2]: *** [lav2divx] Error 1 make[2]: *** Waiting for unfinished jobs.... libtool: link: cannot find the library `/usr/lib/libasound.la' make[2]: *** [yuv2divx] Error 1 make[2]: Leaving directory `/var/tmp/portage/mjpegtools-1.6.1/work/mjpegtools-1.6.1/lavtools' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/mjpegtools-1.6.1/work/mjpegtools-1.6.1' make: *** [all] Error 2 !!! ERROR: media-video/mjpegtools-1.6.1 failed. !!! Function src_compile, Line 93, Exitcode 2 !!! (no error message) This is my "emerge info": Portage 2.0.46-r9 (default-x86-1.4, gcc-3.2.1, glibc-2.2.5-r2,2.3.1-r2) ================================================================= System uname: 2.4.19 i686 Intel(R) Pentium(R) 4 Mobile CPU 1.80GHz GENTOO_MIRRORS="http://www.ibiblio.org/pub/Linux/distributions/gentoo" CONFIG_PROTECT="/etc /var/qmail/control /usr/share/config /usr/kde/2/share/config /usr/kde/3/share/config /usr/X11R6/lib/X11/xkb" CONFIG_PROTECT_MASK="/etc/wget /etc/init.d /etc/gconf /etc/env.d" PORTDIR="/usr/portage" DISTDIR="/usr/portage/distfiles" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR_OVERLAY="/usr/portage.local" USE="x86 oss apm crypt cups gif jpeg mikmod mmx ncurses nls pdflib png qtmt quicktime spell truetype xml2 xmms xv zlib gdbm berkdb slang readline bonobo svga java guile mysql X sdl gpm tcpd pam libwww ssl python esd imlib oggvorbis gtk qt motif opengl cdr sse sse2 -3dnow pcmcia pnp trusted pda gphoto2 dga fbcon -gnome libg++ tcltk tiff alsa dvd ggi mozilla xml perl samba -doc -kde xfs gtkhtml encode avi mpeg -arts gtk2" COMPILER="gcc3" CHOST="i686-pc-linux-gnu" CFLAGS="-march=pentium4 -O3 -pipe -fomit-frame-pointer" CXXFLAGS="-march=pentium4 -O3 -pipe -fomit-frame-pointer" ACCEPT_KEYWORDS="x86" MAKEOPTS="-j2" AUTOCLEAN="yes" SYNC="rsync://rsync.gentoo.org/gentoo-portage" FEATURES="sandbox ccache"
It also fails with alsa installed (but can be fixed). First, the /usr/kde/3.1/lib path seems not to be included in ld.so.conf (even after an env-update). Shouldn't it? Fixing this does not help, but a symlink from /usr/kde/3 to /usr/kde/3.1 finally leads to solving this problem. (Though this is no nice solution) After this I can merge mjpegtools-1.6.1 without a hick. <error> ... gcc -mcpu=i686 -march=i686 -march=i686 -O3 -pipe -fomit-frame-pointer -Wall -Wunused -o .libs/lav2wav lav2wav.o -L/var/tmp/portage/mjpegtools-1.6.1/work/mjpegtools-1.6.1/utils -lmjpegutils ./.libs/liblavfile.so -L/usr/lib -lmovtar -L/var/tmp/portage/mjpegtools-1.6.1/work/quicktime4linux-1.4-patch -L/var/tmp/portage/mjpegtools-1.6.1/work/quicktime4linux-1.4-patch/i686 /usr/lib/libquicktime.so -lpng -lz -L/lib -L/usr/include/jpeg-mmx /usr/lib/libjpeg.so -L/usr/local/lib /usr/lib/libdv.so /usr/lib/libpopt.so /usr/lib/libSDL.so /usr/lib/libasound.so -L/usr/kde/3/lib -lartsc -L/usr/X11R6/lib -lX11 -lXext -lggi /usr/lib/libgii.so /usr/lib/libgg.so -lvga -lm /usr/lib/libglib.so -lpthread -ldl /usr/lib/gcc-lib/i686-pc-linux-gnu/3.2.1/../../../../i686-pc-linux-gnu/bin/ld: cannot find -lartsc collect2: ld returned 1 exit status make[2]: *** [lav2wav] Error 1 make[2]: *** Waiting for unfinished jobs.... gcc -mcpu=i686 -march=i686 -march=i686 -O3 -pipe -fomit-frame-pointer -Wall -Wunused -o .libs/lav2yuv lav2yuv.o lav_common.o -L/var/tmp/portage/mjpegtools-1.6.1/work/mjpegtools-1.6.1/utils -lmjpegutils ./.libs/liblavfile.so -L/usr/lib -lmovtar -L/var/tmp/portage/mjpegtools-1.6.1/work/quicktime4linux-1.4-patch -L/var/tmp/portage/mjpegtools-1.6.1/work/quicktime4linux-1.4-patch/i686 /usr/lib/libquicktime.so -lpng -lz -L/lib -L/usr/include/jpeg-mmx -L/usr/local/lib -L/usr/kde/3/lib -L/usr/X11R6/lib ./.libs/liblavjpeg.so /usr/lib/libjpeg.so /usr/lib/libdv.so /usr/lib/libpopt.so /usr/lib/libSDL.so /usr/lib/libasound.so -lartsc -lX11 -lXext -lggi /usr/lib/libgii.so /usr/lib/libgg.so -lvga -lm /usr/lib/libglib.so -lpthread -ldl /usr/lib/gcc-lib/i686-pc-linux-gnu/3.2.1/../../../../i686-pc-linux-gnu/bin/ld: cannot find -lartsc collect2: ld returned 1 exit status make[2]: *** [lav2yuv] Error 1 make[2]: Leaving directory `/var/tmp/portage/mjpegtools-1.6.1/work/mjpegtools-1.6.1/lavtools' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/mjpegtools-1.6.1/work/mjpegtools-1.6.1' make: *** [all] Error 2 !!! ERROR: media-video/mjpegtools-1.6.1 failed. !!! Function src_compile, Line 93, Exitcode 2 !!! (no error message) </error>
please take a look at bug #13524. mjpegtools merged fine with USE=-alsa here.
Anything fixed by a symlink from /usr/kde/3 to /usr/kde/3.1 is the infamous problem where .la files of non-kde, arts-using apps contain references to the hardcoded path of/usr/kde/3 and fail when it is uninstalled. Unfortunately no clean solution has been proposed. Although we should probably cultivate users' awareness of this issue and suggest that they run a simple script sedding all such .la files.
Any update on the script to sed .la files?
The solution is simple in my case: I used to have kde 3, now I have kde-3.1. Same problem when compiling mjpegtools (because of -L/usr/kde/3/lib). As it turns out there were a few old apps in the dependency tree which were still referring to the old path. Did a quick find / -name '*.la' | xargs grep -l '/usr/kde/3/lib' Hmmm... ./usr/lib/ao/plugins-2/libarts.la ./usr/lib/libdv.la came out as the cluprits and hmmm... libdv happens to be part of the dependencies of mjpegtools (at least, as evident in the Makefile and the build commands). Did a quick: emerge --oneshot libao emerge --oneshot libdv Now the *.la files in those 2 packages refer to 3.1 paths. Got stuck again because I had -fprefetch-loop-arrays in my CFLAGS. Took that out and all is well with compiling mjpegtools. Comments? Portage 2.0.46-r11 (default-x86-1.4, gcc-3.2.2, glibc-2.3.1-r3) ================================================================= System uname: 2.4.20-gentoo-r1 i686 Intel(R) Pentium(R) 4 CPU 1.80GHz GENTOO_MIRRORS="http://gentoo.oregonstate.edu/ http://distro.ibiblio.org/pub/Linux/distributions/gentoo" CONFIG_PROTECT="/etc /var/qmail/control /usr/kde/2/share/config /usr/kde/3/share/config /usr/X11R6/lib/X11/xkb /opt/jakarta/tomcat/conf /usr/kde/3.1/share/config /usr/share/config" CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d" PORTDIR="/usr/portage" DISTDIR="/usr/portage/distfiles" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR_OVERLAY="/usr/portage.local" USE="x86 oss 3dnow apm avi crypt cups encode gif jpeg libg++ mikmod mmx mpeg ncurses nls pdflib png qtmt quicktime spell truetype xml2 xmms xv zlib gtkhtml alsa gdbm berkdb slang readline arts tetex bonobo svga tcltk java guile mysql postgres X sdl gpm tcpd pam libwww ssl perl python esd imlib oggvorbis gnome gtk qt kde motif opengl mozilla cdr scanner xfs" COMPILER="gcc3" CHOST="i686-pc-linux-gnu" CFLAGS="-march=pentium4 -O3 -pipe -s -fomit-frame-pointer -fforce-addr -falign-functions=4 -fprefetch-loop-arrays -ffast-math" CXXFLAGS="-march=pentium4 -O3 -pipe -s -fomit-frame-pointer -fforce-addr -falign-functions=4 -fprefetch-loop-arrays -ffast-math" ACCEPT_KEYWORDS="x86 ~x86" MAKEOPTS="-j2" AUTOCLEAN="yes" SYNC="rsync://rsync.gentoo.org/gentoo-portage" FEATURES="sandbox ccache"
The solution in comment #5 worked for me. I re-emerged those packages that had the *.la files pointing to the /usr/kde/3/lib folder and mjpegtools compiled fine.
It's generally good practice to rebuild things that depend on a library that was updated anyway, so I personally don't see this issue with kde 3.1 and 3.0 as a bug. Just run as stated in comment #5 a: find / -name *.la |xargs grep /usr/kde/3/' then qpkg -f on any results, and rebuild listed packages.
This would lead to: PKG=""; for lib in `find /{,usr,usr/local}/lib -name '*.la' | xargs grep -l '/usr/kde/3/lib'`; \ do PKG="$PKG `qpkg -nc -v -f $lib`" ; done ; PKG=`echo $PKG | sed 's/\ /\n/g' | sort -u` ; \ PKGS="" ; for pk in $PKG ; do medium=`echo $pk | sed 's/.*\///'`; short=`echo $medium | sed 's/\-.*//'` ; \ long=`echo $pk | sed "s/\//\/$short\//"` ; PKGS="$PKGS /usr/portage/$long.ebuild" ; done ; \ emerge $PKGS --nodeps -p
I don't think this variant has been discussed here. Also note that re-emerging the packages with the broken .la files didn't fix this for me. I even re-emerged libdv (which didn't show as having a bad .la file), and still get the same error. Sorry for all the extra lines, I didn't want to edit it, and risk cutting out something useful... ... source='lav_io.c' object='lav_io.lo' libtool=yes \ depfile='.deps/lav_io.Plo' tmpdepfile='.deps/lav_io.TPlo' \ depmode=gcc /bin/sh ../depcomp \ /bin/sh ../libtool --mode=compile 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=i586 -march=i586 -mcpu=k6 -march=k6 -O3 -pipe -Wall -Wunused -c -o lav_io.lo `test -f lav_io.c || echo './'`lav_io.c mkdir .libs 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=i586 -march=i586 -mcpu=k6 -march=k6 -O3 -pipe -Wall -Wunused -c editlist.c -Wp,-MD,.deps/editlist.TPlo -fPIC -DPIC -o editlist.o rm -f .libs/lav_io.lo 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=i586 -march=i586 -mcpu=k6 -march=k6 -O3 -pipe -Wall -Wunused -c lav_io.c -Wp,-MD,.deps/lav_io.TPlo -fPIC -DPIC -o lav_io.o mv -f editlist.o .libs/editlist.lo 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=i586 -march=i586 -mcpu=k6 -march=k6 -O3 -pipe -Wall -Wunused -c editlist.c -Wp,-MD,.deps/editlist.TPlo -o editlist.o >/dev/null 2>&1 lav_io.c: In function `check_DV2_input': lav_io.c:1385: too few arguments to function `dv_decoder_new' make[2]: *** [lav_io.lo] Error 1 make[2]: *** Waiting for unfinished jobs.... mv -f .libs/editlist.lo editlist.lo make[2]: Leaving directory `/var/tmp/portage/mjpegtools-1.6.0-r7/work/mjpegtools-1.6.0/lavtools' 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 -227, Exitcode 2 !!! (no error message) ------ # emerge info Portage 2.0.46-r9 (default-1.0, gcc-2.95.3, glibc-2.2.5-r2,2.2.5-r7) ================================================================= System uname: 2.4.20-xfs_pre6 i686 Pentium III (Coppermine) GENTOO_MIRRORS="http://www.ibiblio.org/pub/Linux/distributions/gentoo" CONFIG_PROTECT="/etc /var/qmail/control /usr/share/config /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" PORTDIR="/usr/portage" DISTDIR="/usr/portage/distfiles" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR_OVERLAY="/usr/local/portage" USE="x86 oss 3dnow apm avi crypt encode jpeg libg++ mikmod mmx mpeg ncurses pdflib qtmt quicktime spell xml2 xv alsa arts cdr esd gdbm gif gnome-libs gtk gtkhtml guile imlib java kde libwww motif mysql nls oggvorbis opengl pam perl png python qt readline sdl slang ssl svga tcltk tcpd tiff gnome bonobo -ipv6 mozilla mozxmlterm mozinterfaceinfo mozp3p moznoirc innodb -berkdb 3dfx voodoo3 gphoto2 gpm X xmms truetype freetype scanner cups" COMPILER="" CHOST="i686-pc-linux-gnu" CFLAGS="-march=i686 -O3 -pipe" CXXFLAGS="-march=i686 -O3 -pipe" ACCEPT_KEYWORDS="x86 ~x86" MAKEOPTS="-j2" AUTOCLEAN="yes" SYNC="rsync://rsync.us.gentoo.org/gentoo-portage" FEATURES="sandbox ccache"
Ack. Don't know if it matters, but I posted the wrong emerge info. Sorry about that. Here is the correct one for this machine: # emerge info Portage 2.0.46-r12 (default-1.0, gcc-2.95.3, glibc-2.2.5-r2,2.2.5-r7) ================================================================= System uname: 2.4.20-xfs_pre6 i586 AMD-K6(tm) 3D processor GENTOO_MIRRORS="http://gentoo.oregonstate.edu/ http://distro.ibiblio.org/pub/Linux/distributions/gentoo" CONFIG_PROTECT="/etc /var/qmail/control /usr/kde/2/share/config /usr/kde/3/share/config /usr/X11R6/lib/X11/xkb /usr/kde/3.1/share/config /usr/share/config" CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d" PORTDIR="/usr/portage" DISTDIR="/usr/portage/distfiles" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR_OVERLAY="" USE="x86 oss 3dnow apm avi crypt cups encode jpeg libg++ mikmod mmx mpeg ncurses pdflib qtmt quicktime spell truetype xml2 xmms xv arts berkdb esd gdbm gif gnome-libs gtk guile imlib java kde libwww motif mysql nls oggvorbis opengl pam perl png python qt readline sdl slang ssl svga tcltk tcpd tiff X gnome bonobo -ipv6 mozilla mozctl mozirc mozxmlterm innodb gpm" COMPILER="" CHOST="i586-pc-linux-gnu" CFLAGS="-mcpu=k6 -march=k6 -O3 -pipe" CXXFLAGS="-mcpu=k6 -march=k6 -O3 -pipe" ACCEPT_KEYWORDS="x86 ~x86" MAKEOPTS="-j2" AUTOCLEAN="yes" SYNC="rsync://rsync.us.gentoo.org/gentoo-portage" FEATURES="sandbox ccache"
Mikki: your problem seems to be not alsa related, please report a new bug.
I think this can be closed now. (Why was this assigned to kde to begin with?...)