1 |
On 1/8/06, Bob Sanders <rmsand@××××××××××.net> wrote: |
2 |
> Simply put you can't. The base system - emerge -e system, has to be done once and that |
3 |
> gets everything in the system profile built with gcc 3.4. However, both gcc and glibc need to |
4 |
> be rebuilt again after the first pass, and anything using glibc needs to be rebuilt after glibc |
5 |
> has been recompiled, thus the - emerge -e world. |
6 |
> |
7 |
> Think about it this way - things like binutils and linux-headers are used with gcc-3.4 and the old |
8 |
> glibc to rebuild glibc. But the new glibc is different than the old glibc, thus bin-utils is working |
9 |
> with pointers to places in glibc that may not exist any more. |
10 |
|
11 |
This is false, you do not understand how shared libraries and the |
12 |
dynamic linker work. There is no advantage at all to rebuilding |
13 |
everything due to a minor change in glibc versions, or even if you |
14 |
rebuild glibc with a different version of the toolchain. |
15 |
|
16 |
Gcc upgrades are bit more tricky, only because the ABI might change. |
17 |
Thus it is _sometimes_ necessary to carefully rebuild everything to |
18 |
keep your system working. |
19 |
|
20 |
For this gcc upgrade, rebuilding all of world or system is not |
21 |
necessary. It is only necessary to rebuild C++ applications and |
22 |
libraries because the C++ ABI and libstdc++ library versions |
23 |
havechanged. You might _want_ to rebuild everything to take advantage |
24 |
of any new optimizations that are available, but the revdep-rebuild |
25 |
method is all that is needed to keep your system working. |
26 |
|
27 |
So my suggested order for this would be: |
28 |
|
29 |
# emerge -uav gcc |
30 |
# gcc-config i686-pc-linux-gnu-3.4.4 |
31 |
# source /etc/profile |
32 |
# emerge --oneshot -av libtool |
33 |
# revdep-rebuild --library libstdc++.so.5 |
34 |
# emerge -Duv world |
35 |
|
36 |
Watch out for a portage or python update though...and don't forget the |
37 |
python-updater if there is a python update in there. |
38 |
|
39 |
-Richard |
40 |
|
41 |
-- |
42 |
gentoo-user@g.o mailing list |