Ciao gente!
Qualche giorno fa, quando ho parlato di pacbuilder, vi ho detto che si possono usare entrambi i core per compilare.
Bene, questa ottimizzazione la possiamo ottenere anche per PACMAN!
Vediamo come fare per ottimizzare al meglio la compilazione di quello che installiamo dai PKGBUILD (prevalentemente AUR)!
Allora, prima di tutto diventiamo root:
su
PASSWORD
poi editiamo il nostro /etc/makepkg.conf:
gedit /etc/makepkg.conf
e ci troviamo di fronte ad un file pieno di roba scritta.
Bene, cerchiamo questa parte qui:
#########################################################################
# ARCHITECTURE, COMPILE FLAGS
#########################################################################
#
CARCH=”i686″
CHOST=”i686-pc-linux-gnu”
#– Exclusive: will only run on -march=i686
# -march (or -mcpu) builds exclusively for an architecture
# -mtune optimizes for an architecture, but builds for whole processor family
CFLAGS=”"
CXXFLAGS=”"
#– Make Flags: change this for DistCC/SMP systems
MAKEFLAGS=”"
Una volta trovata, dovremo occuparci solo di 3 punti, ovvero:
CFLAGS=”"
CXXFLAGS=”"
MAKEFLAGS=”"
Allora, nel campo CFLAGS dobbiamo mettere quello che più si addice al nostro processore. <– CLICCA LI.
Nel campo CXXFLAGS scriviamo semplicemente: ${CFLAGS} ovviamente fra le virgolette!
Infine nel MAKEFLAGS, se abbiamo un dual core scriviamo:
-j3
altrimenti
-j2
Per esempio, io ho un core 2 duo, quindi quei 3 punti per me saranno così:
CFLAGS=”-march=prescott -O2 -pipe -fomit-frame-pointer”
CXXFLAGS=”${CFLAGS}”
MAKEFLAGS=”-j3″
Ecco fatto, con questa semplice guida ottimizzeremo i futuri PKGBUILD che installeremo
Semplice no?
IMPORTANTE: la stessa configurazione si può copiarla all’interno di /etc/pacbuilder.conf (alla fine del file) così da poter compilare per il nostro sistema i pacchetti che installiamo dai repositoy core, extra, community, testing!:
Dubbi, errori, incomprensioni, richieste d’aiuto, ecc, sono ben accette


ottimo.
Un piccolo apunto.
con le gcc 4.3.0 per Core2Duo and x86_64 le CFLAGS diventano “-march=core2 -O2 -pipe”
garrett, guarda che questa “ottimizzazione” vale solo per i pacchetti che compiliamo sulla nostra macchina (prevalentemente quelli compilati da PKGBUILD presi da AUR)
pacman scarica dei pacchetti PRECOMPILATI dai vari repository, questa “ottimizzazione” non influisce in nessun modo coi pacchetti installati con pacman.
altrimenti pensaci, perchè cimi (e bash dopo di lui) si sarebbero sbattuti per realizzare uno script che facesse le stesse cose che fa pacman?
@federico: io sto usando Arch per i686, cmq grazie per la precisazione
@berseker: hai ragione, a far le cose di fretta si scrivono minchiate XD! Ho corretto il post, grazie mille
Pacbuilder già legge di default le opzioni in makepkg, non serve sovrascriverle in pacbuilder.conf
Non ne ho azzeccata uno oggi eh XD
Grazie Cimi