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
pgpSYclYAq2It.pgp
Description: PGP signature
