On Thursday 26 January 2006 14:54, Sven Köhler wrote:
>
> I think that i clearly explained several times, that bootstrap.sh
> installs gcc 3.4 _without_ removing the crippled gcc 3.3 that came with
> stage1.
>
> Mike Frysinger is talking about "choice" and ignores me if i tell him,
> that the "emerge -e system" uses the crippled gcc 3.3 for the first 10
> packages until "emerge -e system" finally rebuilds gcc 3.3 (only due to
> some sideeffects!!! namely the dependy of gcc 3.4 on libstdc++-v3 OR gcc
> 3.3).

Just to make sure, I just performed a stage 1 install in a separate dir. I 
found it did select the new 3.4 compiler. It indeed did not uninstall the old 
compiler, BUT told you to run "emerge -e system" Requiring the whole of 
system to be recompiled. That means everything, including the 3.3 compiler 
according to pretend. Indeed that means you'll end up with a 3.3 compiler 
besides a 3.4 one instead of having a 3.3 libstdc++. If that bothers you, 
just uninstall the 3.3 compiler and be done. It is the crippled compiler that 
doesn't support c++ anyway, ensuring that nothing has been built against 3.3 
libstdc++ yet.

> > If a stage1 install does not remove a 3.3.x bootstrap compiler when a 3.4
> > is used as the main, that is a bug in the bootstrap script. As such it
> > should be fixed.
>
> So i see that you seem to agree with me! The crippled gcc contained in
> the stage1 has to be removed by bootstrap.sh - and this is not done
> automatically by the steps that bootstrap.sh performs.

The crippled gcc will be replaced by the "emerge -e system" that bootstrap.sh 
tells you to perform. As such the system is not broken that much, but 
bootstrap.sh might indeed be "fixed" to special case this situation more. It 
would however require a rebuild of gcc. The reason being that this rebuild 
specifies a dependency on libstdc++3 which then would not be longer provided. 
Binary packages might however assume it's existence (from source will use the 
3.4 libstdc++).

The "way around this" would be to change bootstrap.sh back to building a 
minimal version of the current version that is then used to compile the rest 
of the system, including the C library and gcc itself. Between this however 
the original bootstrap compiler could be removed.

This however goes deep into bootstrapping a linux system. A complicated matter 
that is not for the weak of heart.

Paul

-- 
Paul de Vrieze
Gentoo Developer
Mail: [EMAIL PROTECTED]
Homepage: http://www.devrieze.net

Attachment: pgpSYclYAq2It.pgp
Description: PGP signature

Reply via email to