I needed to emerge php which has a dependency on /media-libs/jpeg. Emerging of /media/libs/jpeg-6b-r4 failed because at some point it insists to use gcc-lib version 3.3.4. However, version 3.3.5 is installed on my system. This is the error message after compiling quite a bit of stuff already: [...] libtool --mode=compile i686-pc-linux-gnu-gcc -O2 -march=pentium3 -pipe -fomit-frame-pointer -I. -c ./wrjpgcom.c i686-pc-linux-gnu-gcc -O2 -march=pentium3 -pipe -fomit-frame-pointer -I. -c ./rdjpgcom.c -o rdjpgcom.o >/dev/null 2>&1 libtool --mode=link i686-pc-linux-gnu-gcc -o libjpeg.la jcapimin.lo jcapistd.lo jctrans.lo jcparam.lo jdatadst.lo jcinit.lo jcmaster.lo jcmarker.lo jcmainct.lo jcprepct.lo jccoefct.lo jccolor.lo jcsample.lo jchuff.lo jcphuff.lo jcdctmgr.lo jfdctfst.lo jfdctflt.lo jfdctint.lo jdapimin.lo jdapistd.lo jdtrans.lo jdatasrc.lo jdmaster.lo jdinput.lo jdmarker.lo jdhuff.lo jdphuff.lo jdmainct.lo jdcoefct.lo jdpostct.lo jddctmgr.lo jidctfst.lo jidctflt.lo jidctint.lo jidctred.lo jdsample.lo jdcolor.lo jquant1.lo jquant2.lo jdmerge.lo jcomapi.lo jutils.lo jerror.lo jmemmgr.lo jmemnobs.lo \ -rpath /usr/lib -version-info 62 i686-pc-linux-gnu-gcc -O2 -march=pentium3 -pipe -fomit-frame-pointer -I. -c ./wrjpgcom.c -fPIC -DPIC -o .libs/wrjpgcom.o i686-pc-linux-gnu-gcc -O2 -march=pentium3 -pipe -fomit-frame-pointer -I. -c ./wrjpgcom.c -o wrjpgcom.o >/dev/null 2>&1 libtool --mode=link i686-pc-linux-gnu-gcc -o rdjpgcom rdjpgcom.lo i686-pc-linux-gnu-gcc -o rdjpgcom .libs/rdjpgcom.o libtool --mode=link i686-pc-linux-gnu-gcc -o wrjpgcom wrjpgcom.lo i686-pc-linux-gnu-gcc -o wrjpgcom .libs/wrjpgcom.o g++ -shared -nostdlib /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.4/../../../crti.o /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.4/crtbeginS.o .libs/jcapimin.o .libs/jcapistd.o .libs/jctrans.o .libs/jcparam.o .libs/jdatadst.o .libs/jcinit.o .libs/jcmaster.o .libs/jcmarker.o .libs/jcmainct.o .libs/jcprepct.o .libs/jccoefct.o .libs/jccolor.o .libs/jcsample.o .libs/jchuff.o .libs/jcphuff.o .libs/jcdctmgr.o .libs/jfdctfst.o .libs/jfdctflt.o .libs/jfdctint.o .libs/jdapimin.o .libs/jdapistd.o .libs/jdtrans.o .libs/jdatasrc.o .libs/jdmaster.o .libs/jdinput.o .libs/jdmarker.o .libs/jdhuff.o .libs/jdphuff.o .libs/jdmainct.o .libs/jdcoefct.o .libs/jdpostct.o .libs/jddctmgr.o .libs/jidctfst.o .libs/jidctflt.o .libs/jidctint.o .libs/jidctred.o .libs/jdsample.o .libs/jdcolor.o .libs/jquant1.o .libs/jquant2.o .libs/jdmerge.o .libs/jcomapi.o .libs/jutils.o .libs/jerror.o .libs/jmemmgr.o .libs/jmemnobs.o -L/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.4 -L/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.4/../../.. -lstdc++ -lm -lc -lgcc_s /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.4/crtendS.o /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.4/../../../crtn.o -Wl,-soname -Wl,libjpeg.so.62 -o .libs/libjpeg.so.62.0.0 g++: /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.4/../../../crti.o: No such file or directory g++: /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.4/crtbeginS.o: No such file or directory g++: /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.4/crtendS.o: No such file or directory g++: /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.4/../../../crtn.o: No such file or directory make: *** [libjpeg.la] Error 1 !!! ERROR: media-libs/jpeg-6b-r4 failed. !!! Function src_compile, Line 43, Exitcode 2 !!! make failed !!! If you need support, post the topmost build error, NOT this status message. Please note gcc-lib/i686-pc-linux-gnu/3.3.4 is explicitly asked for. However, only version 3.3.5 is installed on this recently emerged system as you can see: root@AFR usr # ls -l /usr/lib/gcc-lib/i686-pc-linux-gnu total 4 drwxr-xr-x 4 root root 4096 Mar 23 02:02 3.3.5 However, everything starts promising when emerge starts. Even the correct gcc-lib is detected as you can see here: root@AFR usr # emerge -v jpeg Calculating dependencies ...done! >>> emerge (1 of 1) media-libs/jpeg-6b-r4 to / >>> md5 src_uri ;-) jpegsrc.v6b.tar.gz >>> Unpacking source... >>> Unpacking jpegsrc.v6b.tar.gz to /var/tmp/portage/jpeg-6b-r4/work * Applying uClibc/libtool patches ... * Fixing ${S}/ltconfig... [ ok ] * Applying jpeg-6b-gentoo.patch ... [ ok ] >>> Source unpacked. * econf: updating jpeg-6b/config.guess with /usr/share/gnuconfig/config.guess * econf: updating jpeg-6b/config.sub with /usr/share/gnuconfig/config.sub ./configure --prefix=/usr --host=i686-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib --enable-shared --enable-static checking for gcc... gcc checking whether the C compiler (gcc -O2 -march=pentium3 -pipe -fomit-frame-pointer ) works... yes checking whether the C compiler (gcc -O2 -march=pentium3 -pipe -fomit-frame-pointer ) is a cross-compiler... no checking whether we are using GNU C... yes checking how to run the C preprocessor... gcc -E checking for function prototypes... yes checking for stddef.h... yes checking for stdlib.h... yes checking for string.h... yes checking for size_t... yes checking for type unsigned char... yes checking for type unsigned short... yes checking for type void... yes checking for working const... yes checking for inline... __inline__ checking for broken incomplete types... ok checking for short external names... ok checking to see if char is signed... yes checking to see if right shift is signed... yes checking to see if fopen accepts b spec... yes checking for a BSD compatible install... /bin/install -c checking for ranlib... ranlib checking host system type... i686-pc-linux-gnu checking for ranlib... ranlib checking for gcc... gcc checking whether we are using GNU C... yes checking for gcc option to produce PIC... -fPIC checking if gcc PIC flag -fPIC works... ./ltconfig: line 556: test: -fPIC: integer expression expected yes checking if gcc static flag -static works... -static checking whether ln -s works... yes checking for ld used by GCC... /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5/../../../../i686-pc-linux-gnu/bin/ld checking if the linker (/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5/../../../../i686-pc-linux-gnu/bin/ld) is GNU ld... yes checking whether the linker (/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5/../../../../i686-pc-linux-gnu/bin/ld) supports shared libraries... yes checking for BSD-compatible nm... /usr/bin/nm -B checking command to parse /usr/bin/nm -B output... yes checking how to hardcode library paths into programs... immediate checking for /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5/../../../../i686-pc-linux-gnu/bin/ld option to reload object files... -r checking dynamic linker characteristics... Linux ld.so checking if libtool supports shared libraries... yes checking whether to build shared libraries... yes checking whether to build static libraries... yes checking for objdir... .libs creating libtool checking libjpeg version number... 62 creating ./config.status creating Makefile creating jconfig.h libtool --mode=compile i686-pc-linux-gnu-gcc -O2 -march=pentium3 -pipe -fomit-frame-pointer -I. -c ./jcapimin.c [...] So, why is it refering to gcc-lib version 3.3.4 later on? Reproducible: Always Steps to Reproduce: 1. emerge -v jpeg (on System with gcc-lib 3.3.5) 2. 3.
run fix_libtool_files.sh 3.3.4 *** This bug has been marked as a duplicate of 73435 ***
Well, Carsten Lohrke marked this one as a duplicate of Bug 73435. However, the suggested solution "run fix_libtool_files.sh 3.3.4" has no effect at all. The previously reported emerge failure remains exactly the same after applying the fix. But since it looks like the assumption was that an update of gcc-lib from 3.3.4 to 3.3.5 caused the problem, the following may be of interest. I just set up the system a few days ago and ran an "update world" just once. Only 3 packages were ever updated on that occasion. Here is the corresponding part of the emerge.log 1111603412: === sync 1111603413: >>> starting rsync with rsync://65.19.163.230/gentoo-portage 1111603639: === Sync completed with rsync://65.19.163.230/gentoo-portage 1111604066: *** terminating. 1111612961: Started emerge on: Mar 23, 2005 22:22:41 1111612961: *** emerge --ask --verbose --update --deep --tree world 1111612998: >>> emerge (1 of 3) sys-libs/gpm-1.20.1-r4 to / 1111612998: === (1 of 3) Cleaning (sys-libs/gpm-1.20.1-r4::/usr/portage/sys-libs/gpm/gpm-1.20.1-r4.ebuild) 1111613001: === (1 of 3) Compiling/Merging (sys-libs/gpm-1.20.1-r4::/usr/portage/sys-libs/gpm/gpm-1.20.1-r4.ebuild) 1111613112: === (1 of 3) Post-Build Cleaning (sys-libs/gpm-1.20.1-r4::/usr/portage/sys-libs/gpm/gpm-1.20.1-r4.ebuild) 1111613114: >>> AUTOCLEAN: sys-libs/gpm 1111613114: --- AUTOCLEAN: Nothing unmerged. 1111613114: ::: completed emerge (1 of 3) sys-libs/gpm-1.20.1-r4 to / 1111613114: >>> emerge (2 of 3) sys-devel/gettext-0.14.1 to / 1111613114: === (2 of 3) Cleaning (sys-devel/gettext-0.14.1::/usr/portage/sys-devel/gettext/gettext-0.14.1.ebuild) 1111613116: === (2 of 3) Compiling/Merging (sys-devel/gettext-0.14.1::/usr/portage/sys-devel/gettext/gettext-0.14.1.ebuild) 1111613929: === (2 of 3) Post-Build Cleaning (sys-devel/gettext-0.14.1::/usr/portage/sys-devel/gettext/gettext-0.14.1.ebuild) 1111613932: >>> AUTOCLEAN: sys-devel/gettext 1111613937: === Unmerging... (sys-devel/gettext-0.12.1-r2) 1111613945: >>> unmerge success: sys-devel/gettext-0.12.1-r2 1111613945: ::: completed emerge (2 of 3) sys-devel/gettext-0.14.1 to / 1111613945: >>> emerge (3 of 3) sys-devel/gcc-config-1.3.8-r4 to / 1111613945: === (3 of 3) Cleaning (sys-devel/gcc-config-1.3.8-r4::/usr/portage/sys-devel/gcc-config/gcc-config-1.3.8-r4.ebuild) 1111613947: === (3 of 3) Compiling/Merging (sys-devel/gcc-config-1.3.8-r4::/usr/portage/sys-devel/gcc-config/gcc-config-1.3.8-r4.ebuild) 1111613972: === (3 of 3) Post-Build Cleaning (sys-devel/gcc-config-1.3.8-r4::/usr/portage/sys-devel/gcc-config/gcc-config-1.3.8-r4.ebuild) 1111613974: >>> AUTOCLEAN: sys-devel/gcc-config 1111613979: === Unmerging... (sys-devel/gcc-config-1.3.6-r3) 1111613983: >>> unmerge success: sys-devel/gcc-config-1.3.6-r3 1111613983: ::: completed emerge (3 of 3) sys-devel/gcc-config-1.3.8-r4 to / 1111613983: *** Finished. Cleaning up... 1111613987: *** exiting successfully. 1111613994: *** terminating. From the emerge.log I can also tell that gcc-3.3.4-r1 was just part of the stage2 package I used to install. When building the system gcc-3.3.5-rc1 was used from begin on and didn't change yet. Hope this helps...
Ulf: Please don't send emails, reopening is the better method.
*** This bug has been marked as a duplicate of 81518 ***
Please take a look at http://bugs.gentoo.org/show_bug.cgi?id=81518#c3 to see how this bug has been solved.