View previous topic :: View next topic |
Author |
Message |
IWBCMAN Guru
Joined: 25 Jun 2002 Posts: 474
|
Posted: Thu Aug 08, 2002 2:26 pm Post subject: re-building world question |
|
|
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 |
|
|
phong Bodhisattva
Joined: 16 Jul 2002 Posts: 778 Location: Michigan - 15 & Ryan
|
Posted: Thu Aug 08, 2002 3:39 pm Post subject: |
|
|
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 |
|
|
IWBCMAN Guru
Joined: 25 Jun 2002 Posts: 474
|
Posted: Thu Aug 08, 2002 3:47 pm Post subject: |
|
|
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 |
|
|
|
|
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
|
|