Gentoo Archives: gentoo-dev

From: Mikey <mikey@×××××××××××.com>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] Re: Re: Re: bootstrapping since gcc 3.4 is stable
Date: Thu, 26 Jan 2006 01:04:14
Message-Id: 200601251900.48855.mikey@badpenguins.com
In Reply to: Re: [gentoo-dev] Re: Re: Re: bootstrapping since gcc 3.4 is stable by Chris Gianelloni
1 On Wednesday 25 January 2006 18:27, Chris Gianelloni wrote:
2
3 > You didn't follow the Handbook. Your comments about compiling GCC 3
4 > times are completely unbased, since you ran not only an "emerge -e
5 > system" (which is recommended) but then immediately, and needlessly,
6 > followed it up with an "emerge -e world" which pretty much blew any
7 > results that you had gained out of the water.
8
9 No, I didn't follow the handbook because I knew a gcc migration was
10 involved. http://www.gentoo.org/doc/en/gcc-upgrading.xml, Code Listing
11 3.6, suggests to emerge -e system emerge -e world as the "safe" route.
12
13 The goal was to get the current gentoo toolchain from the current portage
14 snapshot and latest available stage3 tarball, using the stage3 installation
15 method. If I had followed the handbook, I would have ended up with gcc
16 3.3.6 and gcc 3.4.4 installed, but everything built with 3.3.6. So to be
17 completely accurate, if I had gone by the handbook and not the gcc
18 migration guide, the build times for the stage3 method would have taken 4x
19 longer than a stage1 instead of 2x.
20
21 My entire point was the the mind blowing waste of time required to obtain a
22 current gentoo install using the stage3 installation method. Unbased? I
23 think not.
24
25 > There are no "facts" in what you posted. In fact, it looks as if your
26 > designs were tailored to find a way in which you could get a stage3 to
27 > be slower. If you're willing, I will work on the scripts to produce
28 > *accurate* results for stages 1 and 3. Essentially, your data was
29 > worthless since you didn't follow any prescribed way of using a stage3
30 > tarball, nor did you anywhere cite where you came up with your
31 > procedures.
32
33 I didn't tailor anything, I followed the exact same process anyone would
34 need to follow to download a stage3, install the current portage snapshot,
35 and get their system compiled with the default stable gcc (3.4.4).
36
37 > I just did. You can stick with your "facts" all that you want, but
38 > they're incorrect.
39
40 > Here's a simple pseudo-formula to determine just how off you were:
41 >
42 > (Yes, this is simplified slightly)
43 >
44 > stage1 == tarball + toolchain (bootstrap) + system
45 > stage3 == tarball + system + depclean
46
47 Try it. Take my script and make it closer to the reality you describe. As
48 long as the end result is the same - a system compiled against the current
49 stable gcc, using the current snapshot.
50
51 Sure, at some point in the future the "current" official stages will contain
52 the "current" toolchain, and building from a stage3 will be quicker, much
53 quicker. But gentoo is a moving target, it does not stay static. The
54 stage1 method produces consistent results and it does not really matter
55 what USE flags you throw at it, it works without having to jump through
56 undocumented hoops. That is until someone throws in circular dependencies,
57 which are fairly easy to work around.
58
59 > I'm sorry, but I cannot possibly believe that compiling the toolchain +
60 > the system target takes less time than only compiling system and
61 > summarily removing unused packages. This, by the way, would have
62 > avoided the issues that you were having with things like "ls" being
63 > broken.
64
65 It takes less time because the first pass of the bootstrap is a bootstrap
66 pass. With a corrected bootstrap.sh, just using userlocales (something
67 nearly impossible to do on the first pass with the currently broken
68 bootstrap.sh) cuts the build time almost a forth. The first gcc build does
69 not build g++ either, further cutting out unneeded double building. You
70 also don't waste your time upgrading from gcc 3.3.5, to gcc 3.3.6, to
71 3.4.4. I didn't make that shit up.