1 |
"John P. Burkett" <burkett@×××.edu> posted 4A2D3554.6050400@×××.edu, |
2 |
excerpted below, on Mon, 08 Jun 2009 11:59:16 -0400: |
3 |
|
4 |
> Last night on a amd64 machine I (perhaps rashly) did emerge --update |
5 |
> --newuse --deep world emerge --depclean |
6 |
> revdep-rebuild |
7 |
> |
8 |
> The last command produced the following error message: |
9 |
> * |
10 |
> * ERROR: sci-libs/blas-atlas-3.8.0 failed. * Call stack: |
11 |
> * ebuild.sh, line 49: Called src_unpack * |
12 |
> environment, line 3016: Called die * The specific snippet of code: |
13 |
> * ../configure --cc="$(tc-getCC)" --cflags="${CFLAGS}" |
14 |
> --prefix="${D}/${DESTTREE}" |
15 |
> --libdir="${D}/${DESTTREE}"/$(get_libdir)/atlas |
16 |
> --incdir="${D}/${DESTTREE}"/include -C ac "$(tc-getCC)" -F ac |
17 |
> "${CFLAGS}" -C if ${FORTRANC} -F if "${FFLAGS:--O2}" -Ss pmake "\$(MAKE) |
18 |
> ${MAKEOPTS}" -Si cputhrchk 0 ${archselect} || die "configure failed" |
19 |
> * The die message: |
20 |
> * configure failed |
21 |
> |
22 |
> After that, Firefox and Thunderbird wouldn't start. |
23 |
> |
24 |
> The error message from Firefox is |
25 |
> /opt/firefox/firefox-bin: /lib32/libgcc_s.so.1: version `GCC_4.2.0' not |
26 |
> found (required by |
27 |
> /usr/lib/gcc/x86_64-pc-linux-gnu/4.3.2/32/libstdc++.so.6) |
28 |
> |
29 |
> That from Thunderbird is |
30 |
> /usr/lib64/mozilla-thunderbird/thunderbird-bin: /lib/libgcc_s.so.1: |
31 |
> version `GCC_4.2.0' not found (required by |
32 |
> /usr/lib/gcc/x86_64-pc-linux-gnu/4.3.2/libstdc++.so.6) thunderbird-bin |
33 |
> exited with non-zero status (1) |
34 |
> |
35 |
> The common theme is "version `GCC_4.2.0' not found" A more recent GCC |
36 |
> is installed instead. |
37 |
> |
38 |
> I'd be grateful for suggestions about how to resolve the revdep-rebuild |
39 |
> error and how to get Firefox and Thunderbird running again. |
40 |
|
41 |
Anytime you see errors due to libstdc++, the first thing to do is to run |
42 |
fix_libtool_files.sh. Run it (as root) without options, and it'll spit |
43 |
out some instructions, but basically, you feed it the OLD gcc version and |
44 |
it updates any libtool files (*.la files) it finds that point to that |
45 |
version, pointing them to the new version also. |
46 |
|
47 |
Do that first. Then try revdep-rebuild again and see if you have the |
48 |
same problem. You may have other problems too or that may not fix it in |
49 |
this particular case, but as I said, anytime you see libstdc++ issues, |
50 |
that's the first thing to try. |
51 |
|
52 |
Also note that when you upgrade to new gcc versions, at least new slots |
53 |
(so 4.2 to 4.3 but not necessarily 4.3.0 to 4.3.1), Gentoo recommends |
54 |
that you do an emerge --empty-tree world afterward, or at least before |
55 |
you remove the old gcc version. That's why it's slotted, so you can have |
56 |
multiple versions installed at once and can switch between them using gcc- |
57 |
config, and also to give you a chance to recompile stuff with the new |
58 |
version before removing the old, since sometimes the ABIs different gcc |
59 |
versions compile aren't completely compatible. Often, you can get away |
60 |
without doing the --empty-tree recompile, but it's recommended, and will |
61 |
help avoid problems. |
62 |
|
63 |
-- |
64 |
Duncan - List replies preferred. No HTML msgs. |
65 |
"Every nonfree program has a lord, a master -- |
66 |
and if you use the program, he is your master." Richard Stallman |