1 |
"John P. Burkett" <burkett@×××.edu> posted 4A2DB2A9.80800@×××.edu, |
2 |
excerpted below, on Mon, 08 Jun 2009 20:54:01 -0400: |
3 |
|
4 |
> Thank you, Duncan, for the explanation and suggestion. |
5 |
> |
6 |
> Doing "fix_libtool_files.sh 4.2.0" or "fix_libtool_files.sh 4.2" |
7 |
> elicited the following response: |
8 |
> |
9 |
> * Scanning libtool files for hardcoded gcc library paths... gcc-config: |
10 |
> error: could not run/locate 'gcc' :0: assertion failed: (gcc |
11 |
> -dumpversion) | getline NEWVER) |
12 |
|
13 |
Eew, OK, you're problem's a bit deeper than that. FWIW, |
14 |
fix_libtool_files.sh is normally required for compiling stuff. I guess I |
15 |
didn't read so well and thus failed to notice the obvious, that you are |
16 |
having trouble /running/ stuff too. That's a bit different and obviously |
17 |
a more serious issue, tho hopefully as easily fixed. |
18 |
|
19 |
Try gcc-config, then. What I'm guessing happened is that you unmerged |
20 |
the old gcc without gcc-config-ing to the new version, so now all the |
21 |
pointers are pointed at nothing. |
22 |
|
23 |
gcc-config -l (--list-profiles) will give you a list of the versions it |
24 |
thinks it has installed. You can then (as root) tell it to switch to one |
25 |
of them using its number. For instance, here's what I have here: |
26 |
|
27 |
gcc-config -l |
28 |
[1] x86_64-pc-linux-gnu-4.3.3 |
29 |
[2] x86_64-pc-linux-gnu-4.4.0 * |
30 |
|
31 |
The *-ed one, 4.4.0, is active. As root, I could switch to 4.3.3 using |
32 |
it's position, as: |
33 |
|
34 |
gcc-config 1 |
35 |
|
36 |
or I could switch using the profile name (here switching back to 4.4): |
37 |
|
38 |
gcc-config x86_64-pc-linux-gnue-4.4.0 |
39 |
|
40 |
|
41 |
Since it's apparently screwed up ATM, you may have to do it using the -f |
42 |
(--force) option, which regenerates all the files even if it thinks they |
43 |
are fine. |
44 |
|
45 |
If that doesn't do it, you may need someone who really understands what's |
46 |
going on to help, probably one of the gentoo/amd64 devs or ATs (arch- |
47 |
testers). But hopefully that does it. |
48 |
|
49 |
> To check what newer version is installed, I did "emerge --search gcc". |
50 |
> The response included the following lines: |
51 |
|
52 |
FWIW, --search just shows you the latest installed. For slotted packages |
53 |
such as gcc, you may have more installed. If you have gentoolkit |
54 |
installed, you can use equery to get the full list, using equery list |
55 |
<pkgspec>, which lists the packages matching the parameter, as so: |
56 |
|
57 |
equery list gcc |
58 |
* Searching for gcc ... |
59 |
* installed packages: |
60 |
[I--] [ ~] sys-devel/gcc-4.3.3-r2 (4.3) |
61 |
[I--] [ ~] sys-devel/gcc-4.4.0 (4.4) |
62 |
|
63 |
|
64 |
FWIW, equery has other modes of operation as well. equery belongs <file> |
65 |
tells you which package, if any, "owns" a particular file or directory. |
66 |
(Note that with directories, a package "owns" it if it has files in it or |
67 |
a subdir. Thus, a LOT of packages "own" /usr/, because they all have |
68 |
files in various /usr/ subdirs.) |
69 |
|
70 |
equery files <pkgspec> lists the files belonging to a particular |
71 |
package. equery depends <pkgspec> lists all the packages that depend on |
72 |
the particular package in question (with USE conditional dependencies |
73 |
listing the USE flag creating the dependency). equery depgraph <pkgspec> |
74 |
lists the packages a particular package depends on -- multiple layers |
75 |
deep, so sometimes the --depth=n parameter for it comes in handy to limit |
76 |
the output. There's also equery hasuse and equery uses, as well. |
77 |
|
78 |
For equery list, the default (-i --installed) lists installed packages, |
79 |
but there's also -p (--portage-tree) and -o (--overlay-tree) that can be |
80 |
searched, if you provide the appropriate switch. Also, most of equery's |
81 |
actions have a regex option, if you need a bit more flexibility |
82 |
specifying the file/pkgspec. See the manpage (when you can) or --help |
83 |
output, for more. |
84 |
|
85 |
> Doing "emerge --empty-tree world" evoked the following response: emerge: |
86 |
> error: no such option: --empty-tree |
87 |
|
88 |
My fault. I typed without double-checking. It's --emptytree without the |
89 |
hyphen between empty and tree. Sorry. But as Nikos mentions, -e is the |
90 |
short form. |
91 |
|
92 |
> Trying to check the available options, I did "man emerge" but just got |
93 |
> groff: /lib/libgcc_s.so.1: version `GCC_4.2.0' not found (required by |
94 |
> /usr/lib/gcc/x86_64-pc-linux-gnu/4.3.2/libstdc++.so.6) |
95 |
|
96 |
... As I said, more serious than I originally thought. Hopefully gcc- |
97 |
config can straighten it out. |
98 |
|
99 |
FWIW, most commands support --help, which is shorter than the manpage, |
100 |
normally limited to a single console terminal page if at all possible, |
101 |
but that can often be enough. It wouldn't have helped here, however, as |
102 |
that parameter's not used enough to put it in the short-form --help |
103 |
output. |
104 |
|
105 |
> It looks as if the problem affecting Firefox and Thunderbird also |
106 |
> affects man. |
107 |
|
108 |
It's not going to be of much help at the moment, but FWIW, upgrades do |
109 |
tend to go much smoother if you don't stay away from them so long. |
110 |
Personally, I try to do them twice a week so there's never too huge a |
111 |
list, and even when a kde upgrade comes out, while it might be a bunch of |
112 |
packages, it's almost all /just/ kde, not gcc and baselayout and portage |
113 |
and a whole bunch of other stuff all at once! However, that's admittedly |
114 |
a bit obsessive/compulsive. Still, I'd recommend trying to upgrade every |
115 |
month to avoid getting too far out of date, and certainly not going |
116 |
longer than three months, as at that point, you're just making it much |
117 |
much harder to upgrade when you do, because you're so far out. Gentoo |
118 |
/does/ try to keep a workable upgrade out to at least a year, but |
119 |
honestly, longer than three months, and there's few enough people doing |
120 |
it that infrequently that it's not well tested, and you WILL thus run |
121 |
into more problems than you will staying closer to the Gentoo |
122 |
mainstream. Gentoo simply isn't the best choice for people that want to |
123 |
upgrade once a year or less, and then forget about it. There are other |
124 |
distributions that work better for that sort of installation. OTOH, |
125 |
Gentoo is one of the best choices for "obsessive compulsive" types like |
126 |
myself, that like its rolling update style, updating far more frequently |
127 |
(best is once a month or more often, as I said) than the ordinary binary |
128 |
distribution does. |
129 |
|
130 |
I do hope gcc-config does it for you. Otherwise, I'm getting a bit |
131 |
worried, as if man is broken, it's reaching pretty far into your system. |
132 |
Please post updates as you have them, because I /am/ a bit worried, now. |
133 |
|
134 |
-- |
135 |
Duncan - List replies preferred. No HTML msgs. |
136 |
"Every nonfree program has a lord, a master -- |
137 |
and if you use the program, he is your master." Richard Stallman |