The emerge attempt of gtk+-2.4.14 fails with this linker error: i686-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I. -I.. -DG_LOG_DOMAIN=\"GdkPixbuf\" -I.. -I.. -I../gdk-pixbuf -I../gdk-pixbuf -DGTK_SYSCONFDIR=\"/etc\" -DGTK_VERSION=\"2.4.14\" -DGTK_BINARY_VERSION=\"2.4.0\" -DG_DISABLE_DEPRECATED -DGDK_PIXBUF_DISABLE_DEPRECATED -DGTK_PREFIX=\"/usr\" -DG_DISABLE_CAST_CHECKS -pthread -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/libpng12 -DGDK_PIXBUF_ENABLE_BACKEND -DPIXBUF_LIBDIR=\"/usr/lib/gtk-2.0/2.4.0/loaders\" -DBUILT_MODULES_DIR=\"./.libs\" -O2 -march=pentium4 -funroll-loops -fprefetch-loop-arrays -pipe -Wall -MT io-tiff.lo -MD -MP -MF .deps/io-tiff.Tpo -c io-tiff.c -fPIC -DPIC -o .libs/io-tiff.o /bin/sh ../libtool --mode=link i686-pc-linux-gnu-gcc -O2 -march=pentium4 -funroll-loops -fprefetch-loop-arrays -pipe -Wall -o libpixbufloader-tiff.la -rpath /usr/lib/gtk-2.0/2.4.0/loaders -avoid-version -module io-tiff.lo -ltiff libgdk_pixbuf-2.0.la -lgmodule-2.0 -ldl -lgobject-2.0 -lglib-2.0 -lm grep: /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.4/libstdc++.la: No such file or directory /bin/sed: can't read /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.4/libstdc++.la: No such file or directory libtool: link: `/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.4/libstdc++.la' is not a valid libtool archive make[4]: *** [libpixbufloader-tiff.la] Error 1 make[4]: Leaving directory `/var/tmp/portage/gtk+-2.4.14/work/gtk+-2.4.14/gdk-pixbuf' make[3]: *** [all-recursive] Error 1 make[3]: Leaving directory `/var/tmp/portage/gtk+-2.4.14/work/gtk+-2.4.14/gdk-pixbuf' make[2]: *** [all] Error 2 make[2]: Leaving directory `/var/tmp/portage/gtk+-2.4.14/work/gtk+-2.4.14/gdk-pixbuf' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/gtk+-2.4.14/work/gtk+-2.4.14' make: *** [all] Error 2 !!! ERROR: x11-libs/gtk+-2.4.14 failed. !!! Function src_compile, Line 78, Exitcode 2 !!! (no error message) !!! If you need support, post the topmost build error, NOT this status message. Reproducible: Always Steps to Reproduce: 1. Upgrade gtk+-2.4.14 2. emerge gtk+ 3. emerge info output: # emerge info Portage 2.0.51-r3 (default-linux/x86/2004.2, gcc-3.3.5, glibc-2.3.4.20040808-r1, 2.6.9-gentoo-r9 i686) ================================================================= System uname: 2.6.9-gentoo-r9 i686 Intel(R) Pentium(R) M processor 1400MHz Gentoo Base System version 1.4.16 Autoconf: sys-devel/autoconf-2.59-r5 Automake: sys-devel/automake-1.8.5-r1 Binutils: sys-devel/binutils-2.15.92.0.2-r1 Headers: sys-kernel/linux26-headers-2.6.8.1-r2 Libtools: sys-devel/libtool-1.5.2-r7 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CFLAGS="-O3 -march=pentium4 -funroll-loops -fprefetch-loop-arrays -pipe" CHOST="i686-pc-linux-gnu" COMPILER="" CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3.1/share/config /usr/kde/3.2/share/config /usr/kde/3.3/env /usr/kde/3.3/share/config /usr/kde/3.3/shutdown /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="-O3 -march=pentium4 -funroll-loops -fprefetch-loop-arrays -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs autoconfig ccache distlocks sandbox sfperms" GENTOO_MIRRORS="http://gentoo.osuosl.org http://distro.ibiblio.org/pub/Linux/distributions/gentoo" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="X aalib acl acpi alsa apache apm arts avi berkdb bitmap-fonts bonobo cdr crypt cups curl doc dvd emacs encode esd ethereal evo f77 fam fastcgi flac flash font-server foomaticdb fortran gb gd gdbm ggi gif gnome gphoto2 gpm gstreamer gtk gtk2 gtkhtml guile imagemagick imap imlib ipv6 java jikes jpeg junit kde kerberos lcms ldap libg++ libgda libwww mad mbox memlimit mikmod mmx motif mozilla mpeg mysql nas ncurses nls nptl odbc oggvorbis opengl oss pam pda pdflib perl pic plotutils png postgres python qt quicktime readline ruby samba sasl scanner sdl slang slp spell sse ssl svga tcltk tcpd tetex tiff truetype truetype-fonts type1-fonts usb wmf x86 xface xml xml2 xmms xosd xv zlib"
FYI, I searched for this bug before posting it. Here is the resulting URL from the search: http://bugs.gentoo.org/buglist.cgi?bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&field0-0-0=product&type0-0-0=substring&value0-0-0=x11-libs/gtk%2B&field0-0-1=component&type0-0-1=substring&value0-0-1=x11-libs/gtk%2B&field0-0-2=short_desc&type0-0-2=substring&value0-0-2=x11-libs/gtk%2B&field0-0-3=status_whiteboard&type0-0-3=substring&value0-0-3=x11-libs/gtk%2B&field1-0-0=product&type1-0-0=substring&value1-0-0=compile&field1-0-1=component&type1-0-1=substring&value1-0-1=compile&field1-0-2=short_desc&type1-0-2=substring&value1-0-2=compile&field1-0-3=status_whiteboard&type1-0-3=substring&value1-0-3=compile
I can confirm this issue. Portage 2.0.51-r3 (default-linux/x86/2004.3, gcc-3.3.5, glibc-2.3.4.20040808-r1, 2.6.10-gentoo-r4 i686) ================================================================= System uname: 2.6.10-gentoo-r4 i686 Mobile Intel(R) Pentium(R) 4 - M CPU 2.20GHzGentoo Base System version 1.4.16 distcc 2.16 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [enabled] ccache version 2.3 [enabled] Autoconf: sys-devel/autoconf-2.59-r5 Automake: sys-devel/automake-1.8.5-r1 Binutils: sys-devel/binutils-2.15.92.0.2-r1 Headers: sys-kernel/linux26-headers-2.6.8.1-r2 Libtools: sys-devel/libtool-1.5.2-r7 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CFLAGS="-O3 -march=pentium4 -mcpu=pentium4 -fomit-frame-pointer -fprefetch-loop-arrays -maccumulate-outgoing-args -ftracer -pipe" CHOST="i686-pc-linux-gnu" COMPILER="" CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3/share/config /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-O3 -march=pentium4 -mcpu=pentium4 -fomit-frame-pointer -fprefetch-loop-arrays -maccumulate-outgoing-args -ftracer -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs autoconfig ccache distcc distlocks sandbox sfperms" GENTOO_MIRRORS="ftp://hercules.cs.rose-hulman.edu/linux/gentoo" MAKEOPTS="-j6" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="" SYNC="rsync://hercules.cs.rose-hulman.edu/gentoo-portage" USE="X acpi alsa avi berkdb bitmap-fonts crypt cups encode esd fam flac font-server foomaticdb gdbm gif gnome gpm gstreamer gtk gtk2 imlib java jpeg junit kerberos krb4 ldap libg++ libwww mad mikmod mmx motif mozilla mpeg mysql ncurses nls nptl offensive oggvorbis opengl oss pam pcmcia pdflib perl pic png pnp ppds python quicktime readline samba sdl spell sse ssl tcpd tiff truetype truetype-fonts type1-fonts unicode x86 xml xml2 xmms xprint xv zlib"
I had this same problem (can't read /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.4/libstdc++.la: No such file or directory) emerging php after upgrading my gcc from 3.3.4 to 3.3.5. It likely affects other emerges too. The problem is the LDPATH environment variable - upgrading from 3.3.4 to 3.3.5-r1 didn't get rid of the reference to the older 3.3.4 path. i.e. if your "/etc/env.d/05gcc" looks like this: PATH="/usr/i686-pc-linux-gnu/gcc-bin/3.3.5" ROOTPATH="/usr/i686-pc-linux-gnu/gcc-bin/3.3.5" MANPATH="/usr/share/gcc-data/i686-pc-linux-gnu/3.3.5/man" INFOPATH="/usr/share/gcc-data/i686-pc-linux-gnu/3.3.5/info" LDPATH="/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5:/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.4" GCC_SPECS="" then simply change it to: PATH="/usr/i686-pc-linux-gnu/gcc-bin/3.3.5" ROOTPATH="/usr/i686-pc-linux-gnu/gcc-bin/3.3.5" MANPATH="/usr/share/gcc-data/i686-pc-linux-gnu/3.3.5/man" INFOPATH="/usr/share/gcc-data/i686-pc-linux-gnu/3.3.5/info" LDPATH="/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5" GCC_SPECS="" Make that change, then run env-update and life should be good again.
Hrm...I checked my /etc/env.d/05gcc and it already looked like this: PATH="/usr/i686-pc-linux-gnu/gcc-bin/3.3.5" ROOTPATH="/usr/i686-pc-linux-gnu/gcc-bin/3.3.5" MANPATH="/usr/share/gcc-data/i686-pc-linux-gnu/3.3.5/man" INFOPATH="/usr/share/gcc-data/i686-pc-linux-gnu/3.3.5/info" LDPATH="/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5" GCC_SPECS="" No reference to '/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.4' anywhere. On a lark, I did the env-update anyway, to no avail. I ended up with the same error.
I also tried logging out and logging back in again. Still no luck. Thanks for the suggestion anyway. :-)
I got enterprising and decided to check all of the files in the /etc/env.d directory to see if any of them had an offensive LDPATH, to no avail: # grep LDPATH * 00basic:LDPATH="/usr/local/lib" 05gcc:LDPATH="/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5" 09opengl:LDPATH=/usr/lib/opengl/ati/lib 10MozillaFirefox:LDPATH=/usr/lib/MozillaFirefox 10mozilla:LDPATH=/usr/lib/mozilla 10xorg:LDPATH=/usr/X11R6/lib 20java:LDPATH="/opt/blackdown-jdk-1.4.2.01/jre/lib/i386/:/opt/blackdown-jdk-1.4.2.01/jre/lib/i386/native_threads/:/opt/blackdown-jdk-1.4.2.01/jre/lib/i386/classic/" 45qt3:LDPATH=/usr/qt/3/lib 47kdepaths-3.3.1:LDPATH=/usr/kde/3.3/lib 48kdepaths-3.2.3:LDPATH=/usr/kde/3.2/lib 49kdepaths-3.1.5:LDPATH=/usr/kde/3.1/lib 50nspr:LDPATH=/usr/lib/nspr 50nss:LDPATH=/usr/lib/nss 90games:LDPATH="/usr/games/lib" 99fltk-1.1:LDPATH=/usr/lib/fltk-1.1 I also checked the /etc/env.d/gcc directory with the same result: # grep LDPATH * i686-pc-linux-gnu-3.3.5:LDPATH="/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5" i686-pc-linux-gnu-3.3.5-hardened:LDPATH="/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5" i686-pc-linux-gnu-3.3.5-hardenednopie:LDPATH="/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5" i686-pc-linux-gnu-3.3.5-hardenednossp:LDPATH="/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5"
Apparently I spoke too soon. I just had the same problem on my second gentoo box and changing the environment variables didn't help. I managed to get it (gtk+-2.4.14) to compile by making a symlink from /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5 to /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.4 but that's not really a great solution... (i.e. ln -s /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5 /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.4)
Heh. I wonder how things work when you remove that symlink. :-) IOW do the libraries think they depend on the 3.3.4 version of libstdc++.la? Definitely not optimal, but a haq I considered.
fix_libtool_files.sh 3.3.4 *** This bug has been marked as a duplicate of 73435 ***
Strange that this fixed it. I tried re-emerging libtool early in my diagnosis process before posting this bug.