1 |
Duncan wrote: |
2 |
> "John P. Burkett" <burkett@×××.edu> posted 4A2D3554.6050400@×××.edu, |
3 |
> excerpted below, on Mon, 08 Jun 2009 11:59:16 -0400: |
4 |
> |
5 |
>> Last night on a amd64 machine I (perhaps rashly) did emerge --update |
6 |
>> --newuse --deep world emerge --depclean |
7 |
>> revdep-rebuild |
8 |
>> |
9 |
>> The last command produced the following error message: |
10 |
>> * |
11 |
>> * ERROR: sci-libs/blas-atlas-3.8.0 failed. * Call stack: |
12 |
>> * ebuild.sh, line 49: Called src_unpack * |
13 |
>> environment, line 3016: Called die * The specific snippet of code: |
14 |
>> * ../configure --cc="$(tc-getCC)" --cflags="${CFLAGS}" |
15 |
>> --prefix="${D}/${DESTTREE}" |
16 |
>> --libdir="${D}/${DESTTREE}"/$(get_libdir)/atlas |
17 |
>> --incdir="${D}/${DESTTREE}"/include -C ac "$(tc-getCC)" -F ac |
18 |
>> "${CFLAGS}" -C if ${FORTRANC} -F if "${FFLAGS:--O2}" -Ss pmake "\$(MAKE) |
19 |
>> ${MAKEOPTS}" -Si cputhrchk 0 ${archselect} || die "configure failed" |
20 |
>> * The die message: |
21 |
>> * configure failed |
22 |
>> |
23 |
>> After that, Firefox and Thunderbird wouldn't start. |
24 |
>> |
25 |
>> The error message from Firefox is |
26 |
>> /opt/firefox/firefox-bin: /lib32/libgcc_s.so.1: version `GCC_4.2.0' not |
27 |
>> found (required by |
28 |
>> /usr/lib/gcc/x86_64-pc-linux-gnu/4.3.2/32/libstdc++.so.6) |
29 |
>> |
30 |
>> That from Thunderbird is |
31 |
>> /usr/lib64/mozilla-thunderbird/thunderbird-bin: /lib/libgcc_s.so.1: |
32 |
>> version `GCC_4.2.0' not found (required by |
33 |
>> /usr/lib/gcc/x86_64-pc-linux-gnu/4.3.2/libstdc++.so.6) thunderbird-bin |
34 |
>> exited with non-zero status (1) |
35 |
>> |
36 |
>> The common theme is "version `GCC_4.2.0' not found" A more recent GCC |
37 |
>> is installed instead. |
38 |
>> |
39 |
>> I'd be grateful for suggestions about how to resolve the revdep-rebuild |
40 |
>> error and how to get Firefox and Thunderbird running again. |
41 |
> |
42 |
> Anytime you see errors due to libstdc++, the first thing to do is to run |
43 |
> fix_libtool_files.sh. Run it (as root) without options, and it'll spit |
44 |
> out some instructions, but basically, you feed it the OLD gcc version and |
45 |
> it updates any libtool files (*.la files) it finds that point to that |
46 |
> version, pointing them to the new version also. |
47 |
Thank you, Duncan, for the explanation and suggestion. |
48 |
|
49 |
Doing "fix_libtool_files.sh 4.2.0" or "fix_libtool_files.sh 4.2" |
50 |
elicited the following response: |
51 |
|
52 |
* Scanning libtool files for hardcoded gcc library paths... |
53 |
gcc-config: error: could not run/locate 'gcc' |
54 |
:0: assertion failed: (gcc -dumpversion) | getline NEWVER) |
55 |
|
56 |
To check what newer version is installed, I did "emerge --search gcc". |
57 |
The response included the following lines: |
58 |
|
59 |
* sys-devel/gcc |
60 |
Latest version available: 4.3.2-r3 |
61 |
Latest version installed: 4.3.2-r3 |
62 |
Size of files: 58,989 kB |
63 |
Homepage: http://gcc.gnu.org/ |
64 |
Description: The GNU Compiler Collection. Includes C/C++, java |
65 |
compilers, pie+ssp extensions, Haj Ten Brugge runtime bounds checking |
66 |
License: GPL-3 LGPL-2.1 libgcc libstdc++ |
67 |
* sys-devel/gcc-config |
68 |
Latest version available: 1.4.1 |
69 |
Latest version installed: 1.4.1 |
70 |
Size of files: 0 kB |
71 |
Homepage: http://www.gentoo.org/ |
72 |
Description: Utility to change the gcc compiler being used |
73 |
License: GPL-2 |
74 |
* x11-misc/gccmakedep |
75 |
Latest version available: 1.0.2 |
76 |
Latest version installed: 1.0.2 |
77 |
Size of files: 68 kB |
78 |
Homepage: http://xorg.freedesktop.org/ |
79 |
Description: create dependencies in makefiles using 'gcc -M' |
80 |
License: gccmakedep |
81 |
> |
82 |
> Do that first. Then try revdep-rebuild again and see if you have the |
83 |
> same problem. You may have other problems too or that may not fix it in |
84 |
> this particular case, but as I said, anytime you see libstdc++ issues, |
85 |
> that's the first thing to try. |
86 |
> |
87 |
> Also note that when you upgrade to new gcc versions, at least new slots |
88 |
> (so 4.2 to 4.3 but not necessarily 4.3.0 to 4.3.1), Gentoo recommends |
89 |
> that you do an emerge --empty-tree world afterward, or at least before |
90 |
> you remove the old gcc version. That's why it's slotted, so you can have |
91 |
> multiple versions installed at once and can switch between them using gcc- |
92 |
> config, and also to give you a chance to recompile stuff with the new |
93 |
> version before removing the old, since sometimes the ABIs different gcc |
94 |
> versions compile aren't completely compatible. Often, you can get away |
95 |
> without doing the --empty-tree recompile, but it's recommended, and will |
96 |
> help avoid problems. |
97 |
|
98 |
Doing "emerge --empty-tree world" evoked the following response: |
99 |
emerge: error: no such option: --empty-tree |
100 |
|
101 |
Trying to check the available options, I did "man emerge" but just got |
102 |
groff: /lib/libgcc_s.so.1: version `GCC_4.2.0' not found (required by |
103 |
/usr/lib/gcc/x86_64-pc-linux-gnu/4.3.2/libstdc++.so.6) |
104 |
|
105 |
It looks as if the problem affecting Firefox and Thunderbird also |
106 |
affects man. |
107 |
|
108 |
I'd be very grateful for suggestions about what to try next. |
109 |
|
110 |
-John |
111 |
|
112 |
|
113 |
-- |
114 |
John P. Burkett |
115 |
Department of Economics |
116 |
University of Rhode Island |
117 |
Kingston, RI 02881-0808 |
118 |
USA |
119 |
|
120 |
phone (401) 874-9195 |