Regole del forum
1) Citare in modo preciso il nome del pacchetto.
2) Specificare se discussione/suggerimento o richiesta d'aiuto.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.
La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Ciao a tutti, vorrei adattare slackware al mio hardware, perciò ho già ricompilato il kernel specificando il mio processore ed eliminando cose superflue.
Ma volevo rendere anche i pacchetti che installo specifici compilandoli con checkinstall.
Sono già riuscito a compilare diversi pacchetti attraverso:
Prima di lanciare il configure, puoi (probabilmente, dipende dal programma) ridefinire alcune variabili d'ambiente, come le CFLAGS.
Queste permettono di fornire al compilatore flags di ottimizzazione specifiche per la tua architettura. Qui trovi un elenco di CFLAGS sicure (safe) per le varie architetture. STAI ATTENTO! Non esagerare specificando tanti flags e/o ottimizzazioni estreme, in quanto potresti compromettere il normale funzionamento del programma/libreria che vai a compilare.
Quando compili qualcosa, ti consiglio intanto di leggere i file README e INSTALL, se presenti (ci sono quasi sempre): a volte sono standard e non ti dicono niente di speciale, ma a volte contengono informazioni utili.
Per un elenco delle opzioni possibili con configure, prova ./configure --help .
Allora per fare un esempio così può andare come inizio:
# CFLAGS="-O2 -march=athlon -msse3 -pipe -fomit-frame-pointer -j3" ./configure --prefix=/usr --disable-debug
Yellowhat ha scritto:Allora per fare un esempio così può andare come inizio:
# CFLAGS="-O2 -march=athlon -msse3 -pipe -fomit-frame-pointer -j3" ./configure --prefix=/usr --disable-debug
Domanda: perche', e che giova/serve -j 3?
make -j numero_dei_processori_attivi
funziona con il kernel perche' ha un Makefile capace di farlo,
con due processori -j 3 e` piu` lento di -j 2.
Con una software senza Makefile predisposto,
l'opzione -j n e` pura illusione e rallenta tutto.
E` il Makefile che dispone compilazioni in parallelo!
Intel Core Solo/Duo, Pentium Dual-Core Txxxx
vendor_id : GenuineIntel
cpu family : 6
model : 14, 22
model name : Genuine Intel(R) CPU TXXXX @ XXXGHz
model name : Intel(R) Celeron(R) CPU 220 @ 1.20GHz
model name : Intel(R) Celeron(R) CPU 4X0 @ XXXGHz
Notes:
It has been confirmed by hongjiu.lu@intel.com that prescott is the correct microarchitecture to use with this CPU. http://article.gmane.org/gmane.comp.gcc.devel/83870
The newer (eg. 420) Celeron-M processors are Core Solo based, not Pentium-M based. If your processor's family and model are 6 and 14, then you should use the -march=prescott option.
Both the Celeron 4x0 and 220 run fine with Processor family (Pentium M) selected in the kernel.
[edit] Intel Core 2 Duo/Quad / Xeon 51xx/53xx, Pentium Dual-Core Exxxx
vendor_id : GenuineIntel
cpu family : 6
model : 15
model name : Intel(R) Core(TM)2 CPU XXXX @ XXXGHz
32 bit profile (x86)
CHOST="i686-pc-linux-gnu"
CFLAGS="-march=prescott -O2 -pipe -fomit-frame-pointer"
CXXFLAGS="${CFLAGS}"
64 bit profile (amd64)
CHOST="x86_64-pc-linux-gnu"
CFLAGS="-march=nocona -O2 -pipe"
CXXFLAGS="${CFLAGS}"
Note:
GCC 4.3 has -march=core2[1]
Per cui la parte dello Slackbuid che tratta questo aspetto l'ho modificato così: