Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 14812 - mjpegtools fails without alsa
Summary: mjpegtools fails without alsa
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: x86 Linux
: High normal (vote)
Assignee: Gentoo KDE team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2003-01-30 18:27 UTC by Tobias Sager
Modified: 2003-04-20 06:49 UTC (History)
3 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Tobias Sager 2003-01-30 18:27:36 UTC
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"
Comment 1 Tobias Sager 2003-01-31 06:55:39 UTC
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>
Comment 2 Hannes Mehnert (RETIRED) gentoo-dev 2003-02-02 18:59:09 UTC
please take a look at bug #13524. mjpegtools merged fine with USE=-alsa here. 
Comment 3 Dan Armak (RETIRED) gentoo-dev 2003-02-03 11:50:44 UTC
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. 
Comment 4 Peter Penkala gentoo-dev 2003-02-07 02:09:57 UTC
Any update on the script to sed .la files?
Comment 5 Haroon Rafique 2003-02-07 14:40:13 UTC
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"
Comment 6 Ajay Sharma 2003-02-08 22:42:03 UTC
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.
Comment 7 Eric Andresen 2003-02-08 23:37:22 UTC
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.
Comment 8 Tobias Sager 2003-02-09 07:38:48 UTC
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
Comment 9 Mikki 2003-02-10 03:05:26 UTC
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"

Comment 10 Mikki 2003-02-10 03:11:31 UTC
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"
Comment 11 Hannes Mehnert (RETIRED) gentoo-dev 2003-02-12 07:28:58 UTC
Mikki: your problem seems to be not alsa related, please report a new bug. 
Comment 12 Dan Armak (RETIRED) gentoo-dev 2003-04-20 06:49:10 UTC
I think this can be closed now. (Why was this assigned to kde to begin with?...)