Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
passare da uno stage 3 a uno stage 1 con gcc 3.4 e NPTL
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

 
Reply to topic    Gentoo Forums Forum Index Forum italiano (Italian)
View previous topic :: View next topic  
Author Message
Kind_of_blue
Guru
Guru


Joined: 10 Oct 2004
Posts: 485

PostPosted: Tue Dec 13, 2005 8:55 pm    Post subject: passare da uno stage 3 a uno stage 1 con gcc 3.4 e NPTL Reply with quote

Ho una configurazione da stage 3 (è un portatile ... e avevo un pò di fretta ... quindi ho dato retta a quei post che affermano che posso mettere uno stage 3 ... e poi una martellata qui ... una piallata li ... e alla fine potrebbe assomigliare molto a uno stage 1)
per ottimizzarla ... gli obiettivi sono 3:
1) Un CHOST meglio declinato per il centrino
2) gcc 3.4.3
3) nptl


in quale ordine aggiornare? ... spulciando i vari docs o interpretato cosi:

1) aggiornamento GCC senza ottimizzazioni di CHOST:
Code:
# emerge -uav gcc
# gcc-config i686-pc-linux-gnu-3.4.4
# source /etc/profile
# emerge --oneshot sys-libs/libstdc++-v3
# emerge -e system
# emerge -e world
# emerge -aC =sys-devel/gcc-3.3*


2)aggiornare il Make.conf con:
Code:
#CFLAGS="-O3 -march=pentium-m -mtune=pentium-m -pipe -ftracer -fomit-frame-pointer -ffast-math -momit-leaf-frame-pointers"
#LDFLAGS="-Wl,-O1"


3) devo rifare gli emerge di World e di System ora?

4) aggiungere "nptl" e "nptlonly" tra le USE flags in make.conf
5) riemergere:
Code:
#emerge --newuse -p world


da quello che ho capito non c'è piu bisogno di scaricare le headers 2.6 xche sono gia quele di default ...


sbaglio qualcosa? ... ci metterò qlc giorno ... per fortuna non ho piu la fretta di quando avevo installatao lo stage 3 ...
Back to top
View user's profile Send private message
=DvD=
Veteran
Veteran


Joined: 25 Mar 2004
Posts: 1353

PostPosted: Tue Dec 13, 2005 9:40 pm    Post subject: Reply with quote

Basta che fai tutto al contrario di come l'hai scritto =P // <-- non è vero!

Alcune osservazioni in ordine sparso:
Il make.conf lo usi per dire a gcc come compilare le cose, quindi lo devi modificare prima di compilare le cose (anche gcc stesso).
Lo stage 3 è uguale allo stage 1 se ti ricompili tutto (emerge -e world) (o in altri modi più esotici dipo system + system + world + world)
Tu devi solo cambiare il make.conf come vuoi, emergere gcc nuovo, emergere system, emergere world; ovviamente devi anche cambiare le use prima di emergere le cose!
Ah le CFLAGS le ottimizzi per quello che vuoi, ma il CHOST deve rimanere i686 (o sbaglio?)


salut!
Back to top
View user's profile Send private message
Kind_of_blue
Guru
Guru


Joined: 10 Oct 2004
Posts: 485

PostPosted: Tue Dec 13, 2005 9:59 pm    Post subject: Reply with quote

ma la guida di migrazione di GCC dice di non modificare le CFLAGS prima di compilare lo stesso GCC ... lo hanno messo come avviso ... IN ROSSO!

edito: ecco il warning
Quote:
Warning: Do not set any GCC 3.4-specific CFLAGS such as -march=pentium-m at this time. Doing so could cause failures in your compiles. You can set these flags after you remove gcc-3.3, which will not recognize them.


PPS. il CHHOST ... beh ... mi hai beccato ... non ci pensavo ... come va?


Last edited by Kind_of_blue on Tue Dec 13, 2005 10:04 pm; edited 1 time in total
Back to top
View user's profile Send private message
=DvD=
Veteran
Veteran


Joined: 25 Mar 2004
Posts: 1353

PostPosted: Tue Dec 13, 2005 10:03 pm    Post subject: Reply with quote

dice di non mettere nessuna flag specifica del 3.4 prima di avere installato il 3.4 ha senso. :)
quelle del 3.3 puoi metterle!
Back to top
View user's profile Send private message
.:chrome:.
Advocate
Advocate


Joined: 19 Feb 2005
Posts: 4588
Location: Brescia, Italy

PostPosted: Tue Dec 13, 2005 11:28 pm    Post subject: Re: passare da uno stage 3 a uno stage 1 con gcc 3.4 e NPTL Reply with quote

io direi:
emerge gcc-3.4 e revdep-rebuild (che è più che sufficiente)

dopo il primo giro fai un
emerge sys-libs/libstdc++-v3 (senza --oneshot )

alla fine metti nptl e nptlonly in make.conf e fai un
emerge -uDN world

secondo me non serve (ed è inutile) fare la sequenza
emerge -e system
emerge -e world
Back to top
View user's profile Send private message
=DvD=
Veteran
Veteran


Joined: 25 Mar 2004
Posts: 1353

PostPosted: Tue Dec 13, 2005 11:36 pm    Post subject: Re: passare da uno stage 3 a uno stage 1 con gcc 3.4 e NPTL Reply with quote

k.gothmog wrote:
secondo me non serve (ed è inutile) fare la sequenza
emerge -e system
emerge -e world


non è inutile, serve a qualcosa, ma spessissimo si puo voler fare a meno.
Ci sono un bel po' di thread al riguardo
Back to top
View user's profile Send private message
makoomba
Bodhisattva
Bodhisattva


Joined: 03 Jun 2004
Posts: 1856

PostPosted: Wed Dec 14, 2005 9:24 am    Post subject: Reply with quote

cambiano CHOST, compilatore e glibc (da liscio a nptlonly) ?
/me che consiglia emerge -e system && emerge -e world

--oneshot su libstdc++-v3 è giusto perchè è una dipendenza di system (gcc-3.4.X)
_________________
When all else fails, read the instructions.
Back to top
View user's profile Send private message
Kind_of_blue
Guru
Guru


Joined: 10 Oct 2004
Posts: 485

PostPosted: Wed Dec 14, 2005 10:35 am    Post subject: Reply with quote

sbaglio di molto a pensare che senza un "emerge -e system" dopo al passaggio a gcc 3.4 ... non si può levare il 3.3?

ps.
si ... da liscio a nptlonly

ma il CHOST allora lo devo cambiare o devo lasciare il 686?
Back to top
View user's profile Send private message
thewally
l33t
l33t


Joined: 12 May 2005
Posts: 703
Location: Genova

PostPosted: Wed Dec 14, 2005 11:44 am    Post subject: Reply with quote

Io risolverei tutto così:

1 ) cambiare le use (nptl)
2 ) emergere gcc (passare al 3.4)
3 ) emerge -P gcc
4 ) Selezionare gcc 3.4 con gcc-config
5 ) source /etc/profile
6 ) cambiare cflags e ldflags
7 ) emerge -e system
8 ) emerge -e world

Kind_of_blue wrote:
sbaglio di molto a pensare che senza un "emerge -e system" dopo al passaggio a gcc 3.4 ... non si può levare il 3.3?

IMHO si, ma un "emerge -e system" ottimizza il tutto con le cflags del 3.4 (il che mi sembra una buona idea :wink: ).

Kind_of_blue wrote:
ps.
si ... da liscio a nptlonly

Io non metterei nptonly, ci sono sempre i vecchi discorsi relativi a jack e simili.

Kind_of_blue wrote:
ma il CHOST allora lo devo cambiare o devo lasciare il 686?

Io lascerei 686, un eventuale cambio di chost non incide visibilmente sulle prestazioni.
_________________
Proudly Member of GeCHI
Back to top
View user's profile Send private message
Kind_of_blue
Guru
Guru


Joined: 10 Oct 2004
Posts: 485

PostPosted: Wed Dec 14, 2005 12:11 pm    Post subject: Reply with quote

quai sono le IdFlags?

poi rimane sempre un sospeso ... nel senso che le CFLAGS definitive (pentium-m) le posso mettere solo dopo avere ricompilato cn gcc 3.4 e avere rimosso il 3.3
Back to top
View user's profile Send private message
=DvD=
Veteran
Veteran


Joined: 25 Mar 2004
Posts: 1353

PostPosted: Wed Dec 14, 2005 12:33 pm    Post subject: Reply with quote

Non è strettamente necessario che tu levi il vecchio gcc prima di compilare con il nuovo.
Basta che lo selezioni con gcc-config
Back to top
View user's profile Send private message
Kind_of_blue
Guru
Guru


Joined: 10 Oct 2004
Posts: 485

PostPosted: Wed Dec 14, 2005 12:35 pm    Post subject: Reply with quote

si si ... il vecchio lo tolgo solo alla fine
Back to top
View user's profile Send private message
.:chrome:.
Advocate
Advocate


Joined: 19 Feb 2005
Posts: 4588
Location: Brescia, Italy

PostPosted: Wed Dec 14, 2005 11:12 pm    Post subject: Re: passare da uno stage 3 a uno stage 1 con gcc 3.4 e NPTL Reply with quote

=DvD= wrote:
k.gothmog wrote:
secondo me non serve (ed è inutile) fare la sequenza
emerge -e system
emerge -e world

non è inutile, serve a qualcosa, ma spessissimo si puo voler fare a meno.
Ci sono un bel po' di thread al riguardo

lo so che se n'è parlato più volte. spesso ho sollevato il mio dubbio, ma nessuno mi ha mai fornito una spiegazione

system è un sottoinsieme stretto di world, quindi nel momento in cui faccio quei due emerge in sequenza ci sono un bel po' di pacchetti che vengono compilati due volte.
per carità... forse a me sta sfuggendo qualcosa, ma visto così mi pare solo una perdita di tempo (e di risorse).

nel caso specifco di Kind_of_blue, non credo sia necessario ricompilare tutto.
per abilitare NPTL basta ricompilare glibc, e il cambio di compilatore riguarda solo il codice C++, quindi si può limitare molto la portata dell'intervento
Back to top
View user's profile Send private message
Kind_of_blue
Guru
Guru


Joined: 10 Oct 2004
Posts: 485

PostPosted: Thu Dec 15, 2005 1:33 pm    Post subject: Reply with quote

da quello ce ho capito, dopo l'aggiornamento di gcc a 3.4:
1) emerge -e system --> si ottiene il sottoinsieme system compilato con gcc 3.4 ... che è stato però a sua vlta compilato col gcc 3.3 ... e si ricompila anche lo sess gcc
2) emerge -e world --> si ottiene tutto compilato con gcc 3.4 piu "puro"

Il mio probl però sono le CFLAGS specifiche del 3.4 (pentium-m) ... ora sono passato al 3.4 senza metterle ... una volta aggiornate devo riemergere world vero?
Back to top
View user's profile Send private message
xchris
Advocate
Advocate


Joined: 10 Jul 2003
Posts: 2824

PostPosted: Thu Dec 15, 2005 2:33 pm    Post subject: Reply with quote

hhihii stranamente mi trovo a dar ragione k.gothmog :o

emergere system e poi world e' del tutto insensato.

emerge world purtroppo ha un significato bislacco.

emerge -e world significa:

emergi i pacchetti system + i pacchetti world e considera tutti i pacchetti come non emersi (empty tree)

Non ci credete?
Spostate il world file (ocio eh..) e fate un bel emerge -ep world.
Come magia equivale ad un emerge system

Code:

cd /usr/lib/portage
lyra portage # mv world world2
lyra portage # emerge -ep world | grep ebuild | wc -l
117
lyra portage # emerge -ep system | grep ebuild | wc -l
117
lyra portage # emerge -ep system | grep ebuild | wc -l


ciauz :)


EDIT: un test migliore

Code:

lyra ~ # cd /var/lib/portage/
lyra portage # mv world world2
lyra portage # emerge -ep world | grep ebuild | sort > pkt_world
lyra portage # emerge -ep system | grep ebuild | sort > pkt_system
lyra portage # diff pkt_world pkt_system
lyra portage #


ciao
_________________
while True:Gentoo()
Back to top
View user's profile Send private message
Kind_of_blue
Guru
Guru


Joined: 10 Oct 2004
Posts: 485

PostPosted: Thu Dec 15, 2005 5:24 pm    Post subject: Reply with quote

non vedo come contraddica la logica di quello che ho scritto sopra ... ciò non toglie che possa avere detto delle min**iate
Back to top
View user's profile Send private message
xchris
Advocate
Advocate


Joined: 10 Jul 2003
Posts: 2824

PostPosted: Thu Dec 15, 2005 11:01 pm    Post subject: Reply with quote

no kind_of_blue,
mi riferivo al solo discorso di emersione doppia senza alcuna considerazione su gcc e nptl :)
ciao
_________________
while True:Gentoo()
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Forum italiano (Italian) 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