On Thu, Jun 08, 2006 at 07:00:22AM -0700, Bob Young wrote:
> 
> 
> > From: Hans-Werner Hilse [mailto:[EMAIL PROTECTED]
> > Sent: Thursday, June 08, 2006 6:32 AM
> > To: gentoo-user@lists.gentoo.org
> > Subject: Re: [gentoo-user] gcc-4.1.1
> >
> > Try to understand what you are replying to. GCC's internal build logic
> > does the staging. That's got nothing to do with what your system calls
> > when you issue "gcc", and only at that point the slotting of GCC
> > versions comes into play.
> 
> 
> Show me some documentation for this "staging" you refer to.

He did! In the INSTALL/build.html file in the gcc sources.

> When you "emerge gcc" it is built with the current compiler, if the
> current compiler is gcc 3.4.6, and you emerge gcc 4.1.1, that means
> that while gcc 4.1.1 is being emerged it is built with gcc
> 3.4.6. gcc 4.1.1 can't be built with 4.1.1 because it hasn't been
> emerged yet, and as far as the system knows it doesn't actually
> exist yet.

Yes. The *first* time that gcc 4.1.1 is built. But then the gcc build
process builds it a *second* time, using the gcc 4.1.1 it's just
built. And for good measure, it goes on to build it a *third* time
with the second version it produced. This is all done by the gcc build
process (it's in the Makefile), which is what emerge runs.

> Can you clearly and concisely explain to me how something that is in
> the process of being emerged can be used to emerge itself? Doesn't
> make sense.

You're obviously right that you have to *compile* a new gcc at least
twice. But this is done automatically by the gcc build process, so
there's no need to build (or emerge) gcc twice.

This has nothing to do with gentoo. Downloading the gcc sources
manually and running ./configure, make, make install (or whatever the
exact gcc build process is) would work too: you'd only need to do it
once.

Toby
-- 
PhD Student
Quantum Information Theory group
Max Planck Institute for Quantum Optics
Garching, Germany

email: [EMAIL PROTECTED]
web: www.dr-qubit.org
-- 
gentoo-user@gentoo.org mailing list

Reply via email to