# Una volta per tutte : Come va impostato make.conf per amd64?

## nikhes

Ancora non riesco a capirlo , sulla guida porta solo l'esempio per l'emulazione a 32bit perche? 

In rete c'è una confusione pazzesca , una volta per tutte postate una configurazione completa di make.conf !! grazie

----------

## fedeliallalinea

Benvenuto  :Very Happy:  . http://gentoo-wiki.com/Safe_Cflags#Opteron.2FAthlon64_.28AMD.29

----------

## nikhes

ti ringrazio  :Very Happy: 

----------

## lavish

A me non sembra ci sia una confusione pazzesca   :Rolling Eyes:   comunque ecco qui il mio make.conf:

```

[ lavish @ darkstar ] --> ~ $ cat /etc/make.conf

#CFLAGS="-O3 -march=athlon64 -ffast-math -funroll-all-loops -funit-at-a-time -fpeel-loops -ftracer -funswitch-loops -fomit-frame-pointer -pipe"

CFLAGS="-march=athlon64 -O2 -fweb -frename-registers -ftracer -pipe"

#CFLAGS="-pipe"

CHOST="x86_64-pc-linux-gnu"

CXXFLAGS="${CFLAGS}"

LDFLAGS="-Wl,-O1"

MAKEOPTS="-j3"

ACCEPT_KEYWORDS="~amd64"

USE="avi bash-completion cddb chroot codecs ctype dvd dvdr ftp glut gmail gtk2 java moznocompose moznoirc moznomail mp3 mpeg mpeg4 nowin nptl nptlonly ntlm nvidia pdflib svg svga X xvid -oss -fortran -xrandr -berkdb -esd -qt"

PORTDIR_OVERLAY="/usr/local/portage"

GENTOO_MIRRORS="ftp://sunsite.informatik.rwth-aachen.de/pub/Linux/gentoo http://195.56.77.10/ http://194.149.10.102/ ftp://ftp.wh2.tu-dresden.de/pub/mirrors/gentoo"

```

Il mio consiglio e' quello di prendere molti spunti da questo... se vuoi dei chiarimenti specifici su alcuni punti chiedi pure su questo 3d  :Wink: 

Ciau!

----------

## bigfantasy

Salve,vorrei un paio di informazioni..

ho comprato un amd64 e vorrei mettere gentoo,però non so che impostazioni inserire nella cflags,

voi cosa mi consigliate?

----------

## Luca89

Dai un'occhiata qui.

----------

## lavish

[MOD] fatto il merge del thread aperto da bigfantasy. Per favore, prima di postare, fate una ricerca [/MOD]

----------

## bigfantasy

Per avere un eccellente prestazione che opzioni mi conviene mettere?Ho un amd64 bit.

----------

## lavish

 *bigfantasy wrote:*   

> Per avere un eccellente prestazione che opzioni mi conviene mettere?Ho un amd64 bit.

 

Vale lo stesso discorso fatto mille volte: ottimizzazioni estreme non portano direttamente ad un aumento di prestazioni, anzi. Nella maggior parte dei casi, c'è un degrado prestazionale nel caricamento dei programmi visto che un -O3 produce binari più consistenti di un -O2.

Per questo, vacci piano e non pensare di poter fare tanto  :Wink:  -march=athlon64 è già un'OTTIMA ottimizzazione  :Razz: 

Ti posto le mie impostazioni dopo un anno quasi dal post precedente:

```

CFLAGS="-march=athlon64 -O2 -fweb -frename-registers -pipe"

CHOST="x86_64-pc-linux-gnu"

CXXFLAGS="${CFLAGS}"

LDFLAGS="-Wl,-O1"

MAKEOPTS="-j2"

ACCEPT_KEYWORDS="~amd64"

```

Se dovessi vedere in giro CLFAGS del tipo:

```

CFLAGS="-O3 -march=athlon64 -ffast-math -funroll-all-loops -funit-at-a-time -fpeel-loops -ftracer -funswitch-loops -fomit-frame-pointer -pipe"
```

evitale  :Razz:  A meno che tu non voglia battere un tuo amico su nbench  :Laughing: 

Per ogni dubbio, comunque, c'è il manuale di gcc

Ciao  :Wink: 

----------

## thewally

Ho riscontrato che le cflag consigliate poco sopra da fedeliallalinea e da lavish differiscono principalmente di un fattore mica da niente: le prime utilizzano -march=k8 , le seconde -march=athlon64 ...

Capisco diatribe su cflags spinte, ma non capisco questo scostamento....

Altro quesito:

Quando, finalmente, computer discount si degnerà di spedirmi il mio benedettissimo monitor, monterò questo, ormai, stramaledettissimo sistema.

Con Athlon64 X2 (quindi Dual Core), sapete consigliarmi particolari cflag che mi facciano godere a pieno le sue potenzialità? (Dati anche i 500 e passa euro di spesa....  :Rolling Eyes:  )  

Grazie

P.S. : Continuo con l'argomento CFLAGS ... chiedendo perdono ai mods...   :Rolling Eyes:   :Embarassed: 

----------

## flocchini

il mio make.conf e' una copia quasi spiccicata di quello di lavish (a parte alcune use specifiche differenti per kde) e non lamento nessun genere di problema... Hai chiesto e ti e' stato dato   :Wink:  Si potrebbe anche aggiungere la solita considerazione sulle cflags, ossia che non sempre (anzi, quasi mai) ottimizzazioni troppo spinte danno un reale vantaggio, compromettendo pero' spesso la stabilita' del sistema. Ergo:non ti crucciare e usa tranquillamente questa configurazione  :Smile: 

EDIT:mamma mia che velocita, io stavo rispondendo a bigfantasy... Mi hanno anticipato su tutta la linea   :Very Happy: 

@Thewally: le 2 flag sono equivalenti, k8, opteron, athlon64, athlon-fx sono la stessa cosa

----------

## lavish

 *thewally wrote:*   

> Ho riscontrato che le cflag consigliate poco sopra da fedeliallalinea e da lavish differiscono principalmente di un fattore mica da niente: le prime utilizzano -march=k8 , le seconde -march=athlon64 ...
> 
> Capisco diatribe su cflags spinte, ma non capisco questo scostamento....

 

Alla faccia dello scostamento... -march=k8 è identico a -march=athlon64 che è identico a sua volta a -march=opteron 

Spero di aver chiarito questo dubbio ora  :Wink: 

Riguardo al dual core, trattalo come un athlon64 normale. Ricordati però di cambiare il valore di MAKEOPTS a -j3 (o -j4, fai un po' di prove e valuta tu)

----------

## thewally

 *lavish wrote:*   

> Alla faccia dello scostamento... -march=k8 è identico a -march=athlon64 che è identico a sua volta a -march=opteron

 

 :Embarassed:   :Embarassed:   :Embarassed:   :Embarassed:  Un errore tremendo   :Rolling Eyes: 

 *lavish wrote:*   

> 
> 
> Spero di aver chiarito questo dubbio ora 
> 
> Riguardo al dual core, trattalo come un athlon64 normale. Ricordati però di cambiare il valore di MAKEOPTS a -j3 (o -j4, fai un po' di prove e valuta tu)

 

Grazie di tutto lavish   :Very Happy: 

----------

## golaprofonda

lavish ti faccio una domanda "personale"..

Dalle tue esperienze su architettura AMD64 trovi che sia più conveniente (in termini di prestazione) usare

un -O2 o un -O3 ?  

Sono ben accetti anche consigli di altri..  :Wink: 

----------

## lavish

 *golaprofonda wrote:*   

> Dalle tue esperienze su architettura AMD64 trovi che sia più conveniente (in termini di prestazione) usare
> 
> un -O2 o un -O3 ?

 

Su amd64 i binari sono parecchio più "grandi" rispetto a x86, quindi non so se convenga aumentare la loro dimensione ulteriormente... con -O2 io mi trovo molto bene, posso dire solo questo alla fine  :Wink: 

----------

## Marck

Ciao a tutti..

Vorrei sapere da chi possiede una configurazione amd a 64bit quale guida ha utilizzato (per lo stage 1) e che parametri di compilazione utilizza(make.conf, anzi se mi mandate una copia è meglio)??

Lo chiedo perchè io ho utilizzato questa guida per l'installazione dalla rete..http://www.gentoo.org/doc/en/handbook/2005.1/handbook-amd64.xml

Ho provato 3 volte a installarla ma c'è stato sempre qualcosa che andava storto nella compilazione dei pacchetti..

ad esempio syslog non mi è mai riuscito fare un emerge senza errori di compilazione..

una volta ho provato a cambiare log solo che poi gli errori erano causato dall'emerge di X11 e gnome..

Grazie  :Smile: 

----------

## Maxxer

io ho sempre usato quell'handbook e mi è sempre andata bene. tranne in effetti l'ultima volta! (l'ho fatto 2 volte in tutto  :Razz: )

anche a me dava errori di compilazione in qualcosa, allora prima di fare quello che diceva lui ho fatto un emerge sync, e poi tutto s'è sistemato. considera un paio d'ore in piu' di installazione perché dopo un sync ti ricompila gcc e glibc (almeno nel mio caso che ho scelto ~amd64)

il mio conf:

```
CFLAGS="-O2 -march=k8 -pipe"

CHOST="x86_64-pc-linux-gnu"

CXXFLAGS="${CFLAGS}"

MAKEOPTS="-j2"

GENTOO_MIRRORS="http://www.die.unipd.it/pub/Linux/distributions/gentoo-sources/ http://mi.mirror.garr.it/mirrors/gentoo/ http://gentoo.inode.at/"

#GENTOO_MIRRORS="http://gentoo.inode.at"

LINGUAS="it en"

ACCEPT_KEYWORDS="~amd64"

```

ho rimosso le use flags

ci sono poi dei thread nel forum internazionale sul "tuning" delle CFLAGS per amd64. diciamo che queste sono calme e sicure  :Smile: 

----------

## lavish

[MOD]

fatto il merge del thread aperto da Marck con questo. Per favore, CERCHIAMO PRIMA DI POSTARE

[/MOD]

La domanda su quale guida usare invece, è superflua, perchè la guida è quella (più le versioni localizzate), le altre guide che si possono trovare in rete o su riviste, non sono supportate  :Wink: 

----------

## GiRa

```
$ cat /etc/make.conf

# These settings were set by the catalyst build script that automatically built this stage

# Please consult /etc/make.conf.example for a more detailed example

CFLAGS="-O2 -march=athlon64 -pipe -fomit-frame-pointer"

CHOST="x86_64-pc-linux-gnu"

CXXFLAGS="${CFLAGS}"

MAKEOPTS="-j2"

## Mirror

#GENTOO_MIRRORS="http://www.die.unipd.it/pub/Linux/distributions/gentoo-sources/"

GENTOO_MIRRORS="http://linux.rz.ruhr-uni-bochum.de/download/gentoo-mirror/"

SYNC="rsync://rsync.de.gentoo.org/gentoo-portage"

## USE flags

USE="qt kde kdeenablefinal alsa arts jack jack-tmpfs caps cdr dvd dvdr ssl emacs -ipv6 X cups cdparanoia audiofile sndfile -gnome -gtk tcpd truetype"

## Internazionalizzazione KDE e OOo

LINGUAS="it"

```

Spero possa aiutare  :Wink: 

@lavish: ho visto che hai un ACCEPT_KEYWORD="~amd64" non è meglio specificare perchè hai deciso di utilizzarla? Penso sarebbe utile ai novizi fruitori di questo thread.

----------

## lavish

 *GiRa wrote:*   

> @lavish: ho visto che hai un ACCEPT_KEYWORD="~amd64" non è meglio specificare perchè hai deciso di utilizzarla? Penso sarebbe utile ai novizi fruitori di questo thread.

 

Quel make.conf risale a più di un anno fa   :Laughing: 

Comunque, le motivazioni per cui IO ho scelto di usare pacchetti in testing le potete trovare qui: https://forums.gentoo.org/viewtopic-t-389336.html se pensate possano interessarvi  :Razz: 

----------

## ercoppa

Salve ho un amd64 athlon 64 3000+ e ho sempre usato -O2, ma volevo sapere mettendo -Os che vantaggi/svantaggi avrei? Fino ad ora, ho letto che avrei migliori prestazioni attraverso binari più piccoli (wiki sulle safe cflags) ma quali problemi potrei avere? grazie

----------

## comio

 *ercoppa wrote:*   

> Salve ho un amd64 athlon 64 3000+ e ho sempre usato -O2, ma volevo sapere mettendo -Os che vantaggi/svantaggi avrei? Fino ad ora, ho letto che avrei migliori prestazioni attraverso binari più piccoli (wiki sulle safe cflags) ma quali problemi potrei avere? grazie

 

Nelle applicazioni che ciclano molto (tipo quelle di calcolo cpu-intensive piuttosto che coder/player video) mettere -Os si ha codice più piccolo ma meno ottimizzato. Queste in teoria sono penalizzate da -Os (meglio quindi -O2).

Per le applicazioni normali che non passano il tempo a ciclare ed a consumare CPU -Os dà la sensazione di una migliore risposta (in fase di avvio, quanto meno), dato che il transfer da disco è minore e ci sono meno byte da caricare.

luigi

----------

## ercoppa

quindi voi/tu lo consigliate?

----------

## Luca89

Io uso -Os per i portatili, sia perchè l'hard-disk non ha una alta velocità di rotazione ma anche per usarlo meno e quindi risparmiare batteria; inoltre uso -Os anche nei pc molto vecchi con una cache del processore piccola e un hard-disk molto lento. Nelle altre situazioni uso -O2.

----------

## MajinJoko

 *lavish wrote:*   

> 
> 
> Alla faccia dello scostamento... -march=k8 è identico a -march=athlon64 che è identico a sua volta a -march=opteron 
> 
> Spero di aver chiarito questo dubbio ora 

 

Grazie, a me il dubbio l'hai chiarito!

----------

## lavish

 *ercoppa wrote:*   

> quindi voi/tu lo consigliate?

 

Per un Athlon64 non te lo consiglio. Con certe versioni di gcc, Os dava anche problemi...

----------

## ercoppa

ok mi hai convinto tengo O2, tanto non credo che avrei guadagnata chissa quanto

 :Smile: 

----------

## bandreabis

 *lavish wrote:*   

>  *ercoppa wrote:*   quindi voi/tu lo consigliate? 
> 
> Per un Athlon64 non te lo consiglio. Con certe versioni di gcc, Os dava anche problemi...

 

Luca, tu hai mai avuto problemi con -Os?

Vedo che il mio portatile (Turion64 - 30) ha un attimo di suspance quando deve avviare un'applicazione, vorrei mai che il problema fosse -O2.

Inoltre, questa è una domanda per tutti, non avere -msse3 ma -fomit-frame-pointer che problemi può dare in termini di velocità di risposta?

Mi han sempre detto che coi 64bit avrei compilato a 1000 all'ora, ma non mi è mai parso così più veloce.

----------

## Scen

 *bandreabis wrote:*   

> Vedo che il mio portatile (Turion64 - 30) ha un attimo di suspance quando deve avviare un'applicazione, vorrei mai che il problema fosse -O2. Inoltre, questa è una domanda per tutti, non avere -msse3 ma -fomit-frame-pointer che problemi può dare in termini di velocità di risposta?
> 
> Mi han sempre detto che coi 64bit avrei compilato a 1000 all'ora, ma non mi è mai parso così più veloce.

 

Con -msse3 è probabile che falliscano le compilazioni di certe applicazioni (tipo Vavoom Engine, tanto per farti un esempio che ho riscontrato recentemente); con -fomit-frame-pointer potresti avere problemi nel successivo debug delle compilazioni ma mi pare di capire possa velocizzare l'esecuzione degli eseguibili.

Da man gcc:

 *Quote:*   

> 
> 
>  -fomit-frame-pointer
> 
>            Don't keep the frame pointer in a register for functions that don't
> ...

 

Attualmente utilizzo a casa un'installazione Gentoo AMD64 compliata con -Os, per ora va bene, anche se mi dà l'impressione che i tempi di risposta di avvio delle applicazioni non sia il massimo  :Confused: 

----------

## bandreabis

-msse3 è una cflag safe, per questo ho chiesto.

Ma quanto safe è?

----------

## Scen

Ok, può essere una cflag "sicura" (quindi gli eseguibili e le librerire create non dovrebbero dare problemi) comunque è un'ottimizzazione "spinta" in più, che può creare problemi di compilazione con certi pacchetti (ma a questo punto il pacchetto non compila e l'unico sbattimento è ritentare  :Rolling Eyes:  )

----------

## Luca89

 *bandreabis wrote:*   

> Inoltre, questa ï¿½ una domanda per tutti, non avere -msse3 ma -fomit-frame-pointer che problemi puï¿½ dare in termini di velocitï¿½ di risposta?

 

-fomit-frame-pointer su architetture diverse da x86 Ã¨ ridondante perchÃ© non altera in alcun modo le operazioni di debug e viene automaticamente utilizzata da >O2 e forse anche da Os.

----------

## bandreabis

Infatti, rieccomi sul mio portatile:

 *Quote:*   

> CFLAGS="-O2 -march=k8 -pipe"
> 
> CHOST="x86_64-pc-linux-gnu"

 

Quando formatterò (mkreiserfs -b 512 /dev/hda) non so se metterò -msse3, e altre flag utili a velocizzare un po' non ne ho trovate fin'ora.

----------

## u238

io ho

```

CFLAGS="-march=k8 -O2 -pipe -fomit-frame-pointer"

```

sul mio portatile Turion64 MT-32, quindi sono su amd64.

Leggendo questi post mi è sembrato di capire che settando -O2 a -Os potrei riscontrare un incremento di velocità nel caricamento delle applicazioni, un diminuimento dell'i/o del disco (quindi + batteria).. ma un diminuimento di prestazioni in task piccoli e cpu-intensive (che effettivamente nn mi interessano molto, col portatile non cracco pass  :Razz:  ).

Volevo avere la conferma, così dopo laureato quando ho tempo ricompilo il sistema..

Poi ovviamente se qualcuno mi garantisce che non avrò problemi di compilazione.. ancora meglio  :Smile: 

[sul mio fisso (Athlon64) uso le medesime flag e va veramente una scheggia, sicuramente il fatto di avere un serial-ata a 10000 rpm aiuta..]

----------

## BlackBelt

 *Quote:*   

> sia perchè l'hard-disk non ha una alta velocità di rotazione

 

mi diresti quanto rpm?

grazie

----------

## u238

5400rpm perchè?

----------

## BlackBelt

 *u238 wrote:*   

> 5400rpm perchè?

 

pure io ho un 5400... Certe applicazioni, come firefox impiegano parecchio ad avviarsi...

ciao

----------

## u238

io uso la versione bin di firefox (per ovvi motivi, sono su amd64), e devo dire che non ci mette moltissimo ad avviarsi (5-6 secondi).. da te quanto ci mette?

----------

## BlackBelt

 *u238 wrote:*   

> io uso la versione bin di firefox (per ovvi motivi, sono su amd64), e devo dire che non ci mette moltissimo ad avviarsi (5-6 secondi).. da te quanto ci mette?

 

più o meno lo stesso tempo.. pensavo fosse parecchio..

pure io ho amd64..

boh

ciao

----------

## ercoppa

impostare le LDFLAGS (metterei -Wl,-O1) in amd64 da qualche problema in particolare? lo consigliate per un 3000+? Ho letto sul wiki, ma non ci ho capito molto, ma che funzione hanno queste flags? grazie in anticipo per le risposte

----------

## Peach

 *bandreabis wrote:*   

> Infatti, rieccomi sul mio portatile:
> 
>  *Quote:*   CFLAGS="-O2 -march=k8 -pipe"
> 
> CHOST="x86_64-pc-linux-gnu" 

 

ho utilizzato le stesse su un server in produzione. Compilo in tmpfs (con il mitico bashrc-ng) e l'unico problema che ho accusato al momento è stato solo con clamav che mi è andato in buffer overflow  :Sad: 

----------

## devilheart

domanda:

perché emerge mi dice che la cflag -fPIC è pericolosa se moltissimi pacchetti (tutto kde, per esempio) non si compilano se non la attivo esplicitamente

----------

