On Sun, 08 Jan 2006 01:50:10 -0600
"Anthony E. Caudel" <[EMAIL PROTECTED]> wrote:

>
> 
> So, my problem is, how do I avoid the extra 100, unnecessary compiles?
> I tried "emerge --emptytree --upgrade -p" but it ignored the upgrade
> option so I can't combine them that way.
> 

Simply put you can't.  The base system - emerge -e system, has to be done once 
and that
gets everything in the system profile built with gcc 3.4.  However, both gcc 
and glibc need to
be rebuilt again after the first pass, and anything using glibc needs to be 
rebuilt after glibc
has been recompiled, thus the - emerge -e world.

Think about it this way - things like binutils and linux-headers are used with 
gcc-3.4 and the old
glibc to rebuild glibc.  But the new glibc is different than the old glibc, 
thus bin-utils is working
with  pointers to places in glibc that may not exist any more.  Thus needs to 
be rebuilt with
the new glibc, as does ncurses, zlib and a ton of other things.   One thing you 
could do to
speed up the emerge -e system pass is to add a - USE="-X -doc" to avoid 
building Xorg on the system 
pass.

Still it take two complete passes to use both the new gcc and the glibc 
compiled with the new gcc.
Look ate the output of emerge -ep system.  All those packages before glibc have 
to be rebuilt after
glibc has been rebuilt.  And all the packages after glibc that have 
dependencies on the previous
packages have to be rebuilt after the previous packages have been built with 
the new glibc.

This is essentially what occurs during a Stage 1 install and 
/usr/portage/scripts/bootstrap.sh is
run - multiple passes, rebuilding the system profile in a specific sequence.

Bob
-  
-- 
gentoo-user@gentoo.org mailing list

Reply via email to