Gentoo Archives: gentoo-dev

From: Paul de Vrieze <pauldv@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] Re: bootstrapping since gcc 3.4 is stable
Date: Thu, 26 Jan 2006 15:55:35
Message-Id: 200601261651.40275.pauldv@gentoo.org
In Reply to: [gentoo-dev] Re: bootstrapping since gcc 3.4 is stable by "Sven Köhler"
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

Replies

Subject Author
[gentoo-dev] Re: Re: bootstrapping since gcc 3.4 is stable MIkey <mikey@×××××××××××.com>