1 |
On Thursday 26 January 2006 14:54, Sven Köhler wrote: |
2 |
> |
3 |
> I think that i clearly explained several times, that bootstrap.sh |
4 |
> installs gcc 3.4 _without_ removing the crippled gcc 3.3 that came with |
5 |
> stage1. |
6 |
> |
7 |
> Mike Frysinger is talking about "choice" and ignores me if i tell him, |
8 |
> that the "emerge -e system" uses the crippled gcc 3.3 for the first 10 |
9 |
> packages until "emerge -e system" finally rebuilds gcc 3.3 (only due to |
10 |
> some sideeffects!!! namely the dependy of gcc 3.4 on libstdc++-v3 OR gcc |
11 |
> 3.3). |
12 |
|
13 |
Just to make sure, I just performed a stage 1 install in a separate dir. I |
14 |
found it did select the new 3.4 compiler. It indeed did not uninstall the old |
15 |
compiler, BUT told you to run "emerge -e system" Requiring the whole of |
16 |
system to be recompiled. That means everything, including the 3.3 compiler |
17 |
according to pretend. Indeed that means you'll end up with a 3.3 compiler |
18 |
besides a 3.4 one instead of having a 3.3 libstdc++. If that bothers you, |
19 |
just uninstall the 3.3 compiler and be done. It is the crippled compiler that |
20 |
doesn't support c++ anyway, ensuring that nothing has been built against 3.3 |
21 |
libstdc++ yet. |
22 |
|
23 |
> > If a stage1 install does not remove a 3.3.x bootstrap compiler when a 3.4 |
24 |
> > is used as the main, that is a bug in the bootstrap script. As such it |
25 |
> > should be fixed. |
26 |
> |
27 |
> So i see that you seem to agree with me! The crippled gcc contained in |
28 |
> the stage1 has to be removed by bootstrap.sh - and this is not done |
29 |
> automatically by the steps that bootstrap.sh performs. |
30 |
|
31 |
The crippled gcc will be replaced by the "emerge -e system" that bootstrap.sh |
32 |
tells you to perform. As such the system is not broken that much, but |
33 |
bootstrap.sh might indeed be "fixed" to special case this situation more. It |
34 |
would however require a rebuild of gcc. The reason being that this rebuild |
35 |
specifies a dependency on libstdc++3 which then would not be longer provided. |
36 |
Binary packages might however assume it's existence (from source will use the |
37 |
3.4 libstdc++). |
38 |
|
39 |
The "way around this" would be to change bootstrap.sh back to building a |
40 |
minimal version of the current version that is then used to compile the rest |
41 |
of the system, including the C library and gcc itself. Between this however |
42 |
the original bootstrap compiler could be removed. |
43 |
|
44 |
This however goes deep into bootstrapping a linux system. A complicated matter |
45 |
that is not for the weak of heart. |
46 |
|
47 |
Paul |
48 |
|
49 |
-- |
50 |
Paul de Vrieze |
51 |
Gentoo Developer |
52 |
Mail: pauldv@g.o |
53 |
Homepage: http://www.devrieze.net |