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 11:20:44
Message-Id: 200601261217.06964.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 03:40, Sven Köhler wrote:
2 > >> Seems like a bit ranting to me. Why do you use unsupported installation
3 > >> method if you want it simple?
4 > >
5 > > I don't know about Sven, but the reasons I prefer the "unsupported"
6 > > installation method is all outlined here:
7 >
8 > I have no clue, what "bootstrap.sh" is for anymore.
9 > For me, Installing gentoo was always like this:
10
11 Ok, let me remind all. Stage 1 is a minimal system that is mainly built
12 statically with the sole purpose of being suitable to build a working system
13 from. It contains a cripled compiler as one of the first things it does is
14 make a proper one. After that the original compiler should be gone. While
15 some recompiling is needed because of circular dependencies between libc and
16 gcc, this should be no issue. After the bootstrap has been run, one should
17 have a proper minimal building environment that should be able to build all
18 packages (except for some assumptions on available tools). This minimal
19 environment is called stage 2.
20
21 Stage 2 should not contain any trace of the bootstrap compiler. If the
22 bootstrap compiler was a 3.3.x version and the final one a 3.4.x version,
23 there should be no 3.3.x version remaining. Be aware though that if the
24 profile does not offer a 3.4 compiler the final will be a 3.3 compiler. If
25 desired the profile should be changed before running bootstrap.sh
26
27 Because many ebuilds make assumptions about the environment, and because a
28 stage 2 will not boot by itself, a number of utilities deemed essential must
29 be installed. Those are part of system. The main ingredient being baselayout
30 with it's dependencies. Baselayout is what takes care of booting your system
31 into a working order.
32
33 > Mike is telling me, that the 2006.0 tarballs will contain gcc-3.4.
34 > Then he's telling me, that the problem, that Im trying to point out, is
35 > going to vanish with the release of the 2006.0 tarballs. Well, yes,
36 > until the next gcc-slot becomes stable. So the problem is not fixed,
37 > just moved to the future again.
38
39 If a stage1 install does not remove a 3.3.x bootstrap compiler when a 3.4 is
40 used as the main, that is a bug in the bootstrap script. As such it should be
41 fixed. Stage 3 installs just dump a fully functional system, so as such one
42 should then just take the steps from the handbook that make it bootable.
43 After that the gcc-upgrade guide can be followed, except that world update is
44 not really needed, and that world normally also includes system such that
45 emerge -e system && emerge -e world is extraneous.
46
47 > Pretty much work for a beginnner!
48 > And there's pretty much of experience needed.
49
50 It's easier than going from stage 1. It is possible to skip all the unneeded
51 compiling, but it's easy to fuck up, and very hard to explain. That's why
52 stage 1 is discouraged.
53
54 > Actually, the moment when there's an upgrade to glibc and gcc, than
55 > there's no advantage in taking a stage3 - the whole "upgrading the
56 > stage3"-thing will take as long as using a stage1.
57 > Why? because i have to upgrade glibc and gcc - and that is basically
58 > what bootstrap.sh does too.
59
60 Not really, bootstrap.sh does things in a specific order to take care of
61 cyclic dependencies that fail because stage1 is a minimal ( say crippled )
62 environment. But indeed you're better off with a stage3 that is based on a
63 current glibc and gcc version. Minor version numbers don't matter much
64 though.
65
66 Paul
67
68 --
69 Paul de Vrieze
70 Gentoo Developer
71 Mail: pauldv@g.o
72 Homepage: http://www.devrieze.net

Replies

Subject Author
[gentoo-dev] Re: bootstrapping since gcc 3.4 is stable "Sven Köhler" <skoehler@×××.de>