ld fails when it cannot find -laudio. Here is the output: ar cru .libs/libaudio.a .libs/SDL_audio.o .libs/SDL_audiocvt.o .libs/SDL_audiodev.o .libs/SDL_audiomem.o .libs/SDL_mixer.o .libs/libaudio.lax/libaudio_disk.a/SDL_diskaudio.o .libs/libaudio.lax/libaudio_dsp.a/SDL_dspaudio.o .libs/libaudio.lax/libaudio_dma.a/SDL_dmaaudio.o .libs/libaudio.lax/libaudio_alsa.a/SDL_alsa_audio.o .libs/libaudio.lax/libaudio_arts.a/SDL_artsaudio.o .libs/libaudio.lax/libaudio_esd.a/SDL_esdaudio.o .libs/libaudio.lax/libaudio_nas.a/SDL_nasaudio.o ranlib .libs/libaudio.a rm -fr .libs/libaudio.lax creating libaudio.la (cd .libs && rm -f libaudio.la && ln -s ../libaudio.la libaudio.la) make[6]: Leaving directory `/var/tmp/portage/mpeg4ip-1.1/work/mpeg4ip-1.1/lib/SDLAudio/src/audio' make[5]: Leaving directory `/var/tmp/portage/mpeg4ip-1.1/work/mpeg4ip-1.1/lib/SDLAudio/src/audio' make[5]: Entering directory `/var/tmp/portage/mpeg4ip-1.1/work/mpeg4ip-1.1/lib/SDLAudio/src' /bin/sh ../libtool --mode=link gcc -march=pentium4 -mcpu=pentium4 -mfpmath=sse -fforce-addr -fstack-protector -pipe -O3 -fprefetch-loop-arrays -Wall -DDISKAUD_SUPPORT -DUSE_DLOPEN -DOSS_SUPPORT -DALSA_SUPPORT -DARTSC_SUPPORT -DARTSC_DYNAMIC=libartsc.so.0 -I/usr/kde/3.2/include/artsc -pthread -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -DESD_SUPPORT -DESD_DYNAMIC=libesd.so.0 -DNAS_SUPPORT -I/usr/X11R6/include/ -DUSE_INPUT_EVENTS -D_REENTRANT -DSDL_USE_PTHREADS -DHAVE_SIGACTION -I../include -I../include/SDL -I../src -I../src/main/linux -I../src/audio -o libmpeg4ipSDL.la -rpath /usr/lib -no-undefined -release 1.2 -version-info 7:0:7 audio/libaudio.la -lm -ldl -lasound -laudio -lXt -lpthread mkdir .libs gcc -shared -Wl,--whole-archive audio/.libs/libaudio.a -Wl,--no-whole-archive -lm -ldl /usr/lib/libasound.so -laudio -lXt -lpthread -march=pentium4 -mcpu=pentium4 -mfpmath=sse -Wl,-soname -Wl,libmpeg4ipSDL-1.2.so.0 -o .libs/libmpeg4ipSDL-1.2.so.0.7.0 /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/../../../../i686-pc-linux-gnu/bin/ld: cannot find -laudio collect2: ld returned 1 exit status make[5]: *** [libmpeg4ipSDL.la] Error 1 make[5]: Leaving directory `/var/tmp/portage/mpeg4ip-1.1/work/mpeg4ip-1.1/lib/SDLAudio/src' make[4]: *** [all-recursive] Error 1 make[4]: Leaving directory `/var/tmp/portage/mpeg4ip-1.1/work/mpeg4ip-1.1/lib/SDLAudio/src' make[3]: *** [all-recursive] Error 1 make[3]: Leaving directory `/var/tmp/portage/mpeg4ip-1.1/work/mpeg4ip-1.1/lib/SDLAudio' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/var/tmp/portage/mpeg4ip-1.1/work/mpeg4ip-1.1/lib' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/mpeg4ip-1.1/work/mpeg4ip-1.1' make: *** [all] Error 2 !!! ERROR: media-video/mpeg4ip-1.1 failed. !!! Function src_compile, Line 49, Exitcode 2 !!! make failed Reproducible: Always Steps to Reproduce: 1. 2. 3. Portage 2.0.50-r6 (default-x86-1.4, gcc-3.3.3, glibc-2.3.3_pre20040420-r0, 2.6.6) ================================================================= System uname: 2.6.6 i686 Intel(R) Pentium(R) 4 CPU 2.53GHz Gentoo Base System version 1.4.15 Autoconf: sys-devel/autoconf-2.59-r3 Automake: sys-devel/automake-1.8.3 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CFLAGS="-march=pentium4 -mcpu=pentium4 -mfpmath=sse -fforce-addr -fstack-protector -pipe -O3 -fprefetch-loop-arrays" CHOST="i686-pc-linux-gnu" COMPILER="gcc3" CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3.2/share/config /usr/kde/3/share/config /usr/lib/mozilla/defaults/pref /usr/share/config /usr/share/texmf/dvipdfm/config/ /usr/share/texmf/dvips/config/ /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /usr/share/texmf/xdvi/ /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-march=pentium4 -mcpu=pentium4 -mfpmath=sse -fforce-addr -fstack-protector -pipe -O3" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs ccache fixpackages sandbox strict" GENTOO_MIRRORS="ftp://ftp.ecc.u-tokyo.ac.jp/GENTOO ftp://gg3.net/pub/linux/gentoo/ http://gentoo.gg3.net/ http://ftp.gentoo.or.kr/" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/overlays/portage /usr/local/overlays/bmg-main /usr/local/overlays/bmg-gnome-current" SYNC="rsync://rsync.asia.gentoo.org/gentoo-portage" USE="X X509 aac aalib alsa antlr apm arts audiofile avi bcel berkdb bindist bsh canna caps cdr chasen cjk crypt cups dillo directfb djbfft dnd dv dvd dvdr encode expat faad fam flac flash fltk foomaticdb freetype freewnn fs gif gnome gnomedb gpm gstreamer gtk gtk2 guile hbci imap imlib imlib2 ipv6 jack jack-tmpfs java javamail javascript jbig jdepend jikes jpeg jsch junit kakasi kde lcd ldap libg++ libwww lirc log4j ltsp lufsusermount mad maildir md5sum mikmod mmx mozcalendar mozilla moznoirc mpeg mysql nas ncurses nls nocd nopri nptl oggvorbis opengl openssh optional-tasks oro pam pda pdflib perl plotutils png portaudio postgres ppds python qt quicktime readline regexp rhino ruby samba sdl slang slp spell sse ssl svga tcltk tcpd tiff transcode truetype type1 unicode v4l2 wmf x86 xalan xerces xface xml2 xmms xv xvid zlib"
I dont get -laudio here.. When you build, can you check in /var/tmp/portage/mpeg4ip-1.1/work/mpeg4ip-1.1/lib/SDLAudio/src/Makefile in which variable is -laudio pulled?
I am able to resolve this issue, and bug 51617 by adding: export CFLAGS="-L/usr/X11R6/lib" export CXXFLAGS="-L/usr/X11R6/lib" export LDFLAGS="-L/usr/X11R6/lib" to the src_compile function, just before "local myconf", not sure of the correct way of doing this... maybe with flag-o-matic? I will do a bit more testing/digging and see what I come up with.
Here are the vaiables in my /var/tmp/portage/mpeg4ip-1.1/work/mpeg4ip-1.1/lib/SDLAudio/src/Makefile that contain -laudio: STATIC_SYSTEM_LIBS = -lm -ldl -lasound -laudio -lXt SYSTEM_LIBS = -lm -ldl -lasound -laudio -lXt libmpeg4ipSDL_la_LIBADD = \ audio/libaudio.la \ -lm -ldl -lasound -laudio -lXt
Do you have NAS installed? I think that's why it tries to pull libaudio.. It will add -laudio if there is NAS or SGI Audio.. and since I guess you're not running on Irix..
Some progress to report: Yes, I had NAS installed (good call!). I unmerged NAS, tried to emerge mpeg4ip again, and made it further this time -- but then ran into Bug 51617: /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/include/g++-v3/bits/locale_facets.tcc:1058: instantiated from `_OutIter std::num_put<_CharT, _OutIter>::do_put(_OutIter, std::ios_base&, _CharT, double) const [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]' /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/include/g++-v3/bits/locale_facets.h:891: instantiated from `_OutIter std::num_put<_CharT, _OutIter>::put(_OutIter, std::ios_base&, _CharT, double) const [with _CharT = char, _OutIter = std::ostreambuf_iterator<char, std::char_traits<char> >]' /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/include/g++-v3/bits/ostream.tcc:250: instantiated from `std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, _Traits>::operator<<(double) [with _CharT = char, _Traits = std::char_traits<char>]' huffman.cpp:246: instantiated from here /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/include/g++-v3/i686-pc-linux-gnu/bits/c++locale.h:69: warning: format not a string literal, argument types not checked /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/include/g++-v3/i686-pc-linux-gnu/bits/c++locale.h:71: warning: format not a string literal, argument types not checked make[6]: *** [huffman.lo] Error 1 make[6]: Leaving directory `/var/tmp/portage/mpeg4ip-1.1/work/mpeg4ip-1.1/common/video/mpeg4-2000/tools/entropy' make[5]: *** [all-recursive] Error 1 make[5]: Leaving directory `/var/tmp/portage/mpeg4ip-1.1/work/mpeg4ip-1.1/common/video/mpeg4-2000/tools' make[4]: *** [all-recursive] Error 1 make[4]: Leaving directory `/var/tmp/portage/mpeg4ip-1.1/work/mpeg4ip-1.1/common/video/mpeg4-2000' make[3]: *** [all-recursive] Error 1 make[3]: Leaving directory `/var/tmp/portage/mpeg4ip-1.1/work/mpeg4ip-1.1/common/video' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/var/tmp/portage/mpeg4ip-1.1/work/mpeg4ip-1.1/common' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/mpeg4ip-1.1/work/mpeg4ip-1.1' make: *** [all] Error 2 !!! ERROR: media-video/mpeg4ip-1.1 failed. !!! Function src_compile, Line 47, Exitcode 2 !!! make failed
that's a bug in the upstream configure file.. fixing it