Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
re-building world question
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Portage & Programming
View previous topic :: View next topic  
Author Message
IWBCMAN
Guru
Guru


Joined: 25 Jun 2002
Posts: 474

PostPosted: Thu Aug 08, 2002 2:26 pm    Post subject: re-building world question Reply with quote

ok..I have made the transition from 2.95.3 to 3.2(i changesd the make.profile linke to point to default-x86-2.0 and relinked gcc, g++ etc. to point to 3.2).
ok
emerge -e -world
fails (to clarify approx. 95 % of all apps have correctly compiled, leaving approx.5% )
when it fails, I note on which package it failed, ie. my compiler flags may be the result
If however I change my compiler flags to get one package to corrreclty compile, I then have to start the process over, ie. emerge -e world again, successfully stipping out all of the optimizations which were the point of the upgrade to begin with ...

ok questions are:
is there someway to this all more precisely, ie. :
first (with no special optimizations(-march=i686 -O3 -pipe)
emerge -e system
then (with more, *better* optimizations)
emerge -e world minus system(ie. to emerge everythig but the system files, with tthe extende optimizations) ?
then (with specific optimizations changes for particualr packages,ie . some work fine with -malign-double some dont) ?
emerge -? foo (where emerge then only emerges the specific dependencies of this file according to the a special set of optimizations which this package needs to compile)

ok. practically
certain packages compile without problem with heavy optimizations, some with only some opts and some with none at all. Ideally I would be able to determine which packages can be best compiled with the best optimizations appropriately. Yet I would prefer to not have to re-merge so many packages over and over and over again(i. as I started this process with emerge -w world the first 15 apps recompiled with my aggressive optimizations, then it stoppped, then I changed my compiler flags and started again.....is it possible to do an
emerge system
or
emerge world
and selectively seclude certain packages from compilation ?
this command
qpkg -I -nc | xargs emerge
does what emerge -e world should be doing
could I generate a text file containing the apps which should bnot be compiled and filter this through such a command.....?

will I not end up recompiling system stuff if I do an emerge -e kde or emerge -e gnome ?


sorry for so many questions at once, any tips on how to selectivley control this wonderful portage system would be greatly appreciated....
ps. I have already read and searched a bunch, but to no avail....
thanks in advance
Back to top
View user's profile Send private message
phong
Bodhisattva
Bodhisattva


Joined: 16 Jul 2002
Posts: 778
Location: Michigan - 15 & Ryan

PostPosted: Thu Aug 08, 2002 3:39 pm    Post subject: Reply with quote

What you're trying to do is actually sorta dangerous. Things will quite often compile just fine with certain optimizations but then cause trouble when you try to run them. For example, on my system Python compiles just fine with 3.1.1 and "-march=athlon-tbird -O3 -fomit-frame-pointer -funroll-loops -malign-double -maccumulate-outgoing-args" but then won't run any scripts. Of course, trying to re-emerge python when it's broken is not exactly joyous happy fun time (-malign-double is the bad guy in case you're curious, and either -funroll-loops or -maccumulate-outgoing-args makes gcc unstable and sometimes prone to seg faults.)

This is espescially true with 3.2_pre which seems to be quite unstable when it comes to optimization (for some at least). The majority of safe/reliable optimizations are turned on by -O3, and most of the remainder either cause problems or have mixed performance benefits (some things slow down, others speed up). IMHO, you'd be better off compiling everything with safe optimizations (i.e. just -O3 and -fomit-frame-pointer, which addmitedly does break debugging), then re-emerging those things that work correctly and need that extra 0.5% speedup that they can get, or those things that really benefit from specific optimizations (say, for example, some program really speeds up with -ffast-math and doesn't break like many do).
Back to top
View user's profile Send private message
IWBCMAN
Guru
Guru


Joined: 25 Jun 2002
Posts: 474

PostPosted: Thu Aug 08, 2002 3:47 pm    Post subject: Reply with quote

thanks for the response

being that I am seemingly inexperienced when it comes to compiling I did not *know* that certains things, which correctly compile, may not correctly run......hmmmmmm
(the above statement is so dumb it hurts to say it-of course I know that little programs which I have written sometimes compile correctly but do not then work as planned....but I thought with bigger programs ie. python that a succesffull compile, meant succuessfull operation.....)

my goal was to compile the basic system stuff (ie. python, glibc, perl, etc.) with a plain-ol simple "-march=i386 -02 -pipe" and then X stuff with the more aggressive optimizations......

After my system has gotten done with what it is doing now, I will do a
emerge -e system
using "-march=i386 -02 -pipe"

just to be on the safe side......
keeping my fingers crossed
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Portage & Programming All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum