Gentoo Archives: gentoo-user

From: Toby Cubitt <tsc25@××××××.net>
To: gentoo-user@l.g.o
Subject: Re: [gentoo-user] gcc-4.1.1
Date: Thu, 08 Jun 2006 15:38:21
Message-Id: 20060608152749.GB11292@mpq3p6.mpq.mpg.de
In Reply to: RE: [gentoo-user] gcc-4.1.1 by Bob Young
1 On Thu, Jun 08, 2006 at 07:00:22AM -0700, Bob Young wrote:
2 >
3 >
4 > > From: Hans-Werner Hilse [mailto:hilse@×××.de]
5 > > Sent: Thursday, June 08, 2006 6:32 AM
6 > > To: gentoo-user@l.g.o
7 > > Subject: Re: [gentoo-user] gcc-4.1.1
8 > >
9 > > Try to understand what you are replying to. GCC's internal build logic
10 > > does the staging. That's got nothing to do with what your system calls
11 > > when you issue "gcc", and only at that point the slotting of GCC
12 > > versions comes into play.
13 >
14 >
15 > Show me some documentation for this "staging" you refer to.
16
17 He did! In the INSTALL/build.html file in the gcc sources.
18
19 > When you "emerge gcc" it is built with the current compiler, if the
20 > current compiler is gcc 3.4.6, and you emerge gcc 4.1.1, that means
21 > that while gcc 4.1.1 is being emerged it is built with gcc
22 > 3.4.6. gcc 4.1.1 can't be built with 4.1.1 because it hasn't been
23 > emerged yet, and as far as the system knows it doesn't actually
24 > exist yet.
25
26 Yes. The *first* time that gcc 4.1.1 is built. But then the gcc build
27 process builds it a *second* time, using the gcc 4.1.1 it's just
28 built. And for good measure, it goes on to build it a *third* time
29 with the second version it produced. This is all done by the gcc build
30 process (it's in the Makefile), which is what emerge runs.
31
32 > Can you clearly and concisely explain to me how something that is in
33 > the process of being emerged can be used to emerge itself? Doesn't
34 > make sense.
35
36 You're obviously right that you have to *compile* a new gcc at least
37 twice. But this is done automatically by the gcc build process, so
38 there's no need to build (or emerge) gcc twice.
39
40 This has nothing to do with gentoo. Downloading the gcc sources
41 manually and running ./configure, make, make install (or whatever the
42 exact gcc build process is) would work too: you'd only need to do it
43 once.
44
45 Toby
46 --
47 PhD Student
48 Quantum Information Theory group
49 Max Planck Institute for Quantum Optics
50 Garching, Germany
51
52 email: toby@××××××××.org
53 web: www.dr-qubit.org
54 --
55 gentoo-user@g.o mailing list