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

Reply via email to