Duncan wrote: > "John P. Burkett" <burk...@uri.edu> posted 4a2d3554.6050...@uri.edu, > excerpted below, on Mon, 08 Jun 2009 11:59:16 -0400: > >> Last night on a amd64 machine I (perhaps rashly) did emerge --update >> --newuse --deep world emerge --depclean >> revdep-rebuild >> >> The last command produced the following error message: >> * >> * ERROR: sci-libs/blas-atlas-3.8.0 failed. * Call stack: >> * ebuild.sh, line 49: Called src_unpack * >> environment, line 3016: Called die * The specific snippet of code: >> * ../configure --cc="$(tc-getCC)" --cflags="${CFLAGS}" >> --prefix="${D}/${DESTTREE}" >> --libdir="${D}/${DESTTREE}"/$(get_libdir)/atlas >> --incdir="${D}/${DESTTREE}"/include -C ac "$(tc-getCC)" -F ac >> "${CFLAGS}" -C if ${FORTRANC} -F if "${FFLAGS:--O2}" -Ss pmake "\$(MAKE) >> ${MAKEOPTS}" -Si cputhrchk 0 ${archselect} || die "configure failed" >> * The die message: >> * configure failed >> >> After that, Firefox and Thunderbird wouldn't start. >> >> The error message from Firefox is >> /opt/firefox/firefox-bin: /lib32/libgcc_s.so.1: version `GCC_4.2.0' not >> found (required by >> /usr/lib/gcc/x86_64-pc-linux-gnu/4.3.2/32/libstdc++.so.6) >> >> That from Thunderbird is >> /usr/lib64/mozilla-thunderbird/thunderbird-bin: /lib/libgcc_s.so.1: >> version `GCC_4.2.0' not found (required by >> /usr/lib/gcc/x86_64-pc-linux-gnu/4.3.2/libstdc++.so.6) thunderbird-bin >> exited with non-zero status (1) >> >> The common theme is "version `GCC_4.2.0' not found" A more recent GCC >> is installed instead. >> >> I'd be grateful for suggestions about how to resolve the revdep-rebuild >> error and how to get Firefox and Thunderbird running again. > > Anytime you see errors due to libstdc++, the first thing to do is to run > fix_libtool_files.sh. Run it (as root) without options, and it'll spit > out some instructions, but basically, you feed it the OLD gcc version and > it updates any libtool files (*.la files) it finds that point to that > version, pointing them to the new version also. Thank you, Duncan, for the explanation and suggestion.
Doing "fix_libtool_files.sh 4.2.0" or "fix_libtool_files.sh 4.2" elicited the following response: * Scanning libtool files for hardcoded gcc library paths... gcc-config: error: could not run/locate 'gcc' :0: assertion failed: (gcc -dumpversion) | getline NEWVER) To check what newer version is installed, I did "emerge --search gcc". The response included the following lines: * sys-devel/gcc Latest version available: 4.3.2-r3 Latest version installed: 4.3.2-r3 Size of files: 58,989 kB Homepage: http://gcc.gnu.org/ Description: The GNU Compiler Collection. Includes C/C++, java compilers, pie+ssp extensions, Haj Ten Brugge runtime bounds checking License: GPL-3 LGPL-2.1 libgcc libstdc++ * sys-devel/gcc-config Latest version available: 1.4.1 Latest version installed: 1.4.1 Size of files: 0 kB Homepage: http://www.gentoo.org/ Description: Utility to change the gcc compiler being used License: GPL-2 * x11-misc/gccmakedep Latest version available: 1.0.2 Latest version installed: 1.0.2 Size of files: 68 kB Homepage: http://xorg.freedesktop.org/ Description: create dependencies in makefiles using 'gcc -M' License: gccmakedep > > Do that first. Then try revdep-rebuild again and see if you have the > same problem. You may have other problems too or that may not fix it in > this particular case, but as I said, anytime you see libstdc++ issues, > that's the first thing to try. > > Also note that when you upgrade to new gcc versions, at least new slots > (so 4.2 to 4.3 but not necessarily 4.3.0 to 4.3.1), Gentoo recommends > that you do an emerge --empty-tree world afterward, or at least before > you remove the old gcc version. That's why it's slotted, so you can have > multiple versions installed at once and can switch between them using gcc- > config, and also to give you a chance to recompile stuff with the new > version before removing the old, since sometimes the ABIs different gcc > versions compile aren't completely compatible. Often, you can get away > without doing the --empty-tree recompile, but it's recommended, and will > help avoid problems. Doing "emerge --empty-tree world" evoked the following response: emerge: error: no such option: --empty-tree Trying to check the available options, I did "man emerge" but just got groff: /lib/libgcc_s.so.1: version `GCC_4.2.0' not found (required by /usr/lib/gcc/x86_64-pc-linux-gnu/4.3.2/libstdc++.so.6) It looks as if the problem affecting Firefox and Thunderbird also affects man. I'd be very grateful for suggestions about what to try next. -John -- John P. Burkett Department of Economics University of Rhode Island Kingston, RI 02881-0808 USA phone (401) 874-9195