Posts for the month of January 2008
Compilation distribuée sur mac
Compilation distribuée avec un Makefile
Avant toute chose un peu de lecture sur la compilation distribuée de Mr Apple
Lancer Xcode pour voir quelles machines cibles sont disponibles pour votre machine.
Placer ces variables d'environnemnt pour utiliser distcc
- Le compilateur :
export DISTCC_COMPILER="gcc version 4.0.1 (Apple Computer, Inc. build 5370)"
- Le système :
export DISTCC_SYSTEM="10.4.11 (8S165, ppc)"
- les machines cibles (voir XCode, et on y ajoute localhost):
export DISTCC_HOSTS="mac-ens14/3,lzo mac-ens15/3,lzo mac-ens13/3,lzo localhost/1 mac-ens7/3,lzo mac-ens2.local./3,lzo mac-ens8.local./3,lzo mac-ens12.local./3,lzo mac-ens3.local./3,lzo mac-ens4/3,lzo mac-ens13/3,lzo mac-ens9/3,lzo"
- le /3 à la fin de chaque machine signifie maximum 3 taches pour cette machine
- le ,lzo : Active la compression LZO pour cet hôte
- On y ajoute localhost pour compiler aussi sur notre machine, mais pas en première position sinon tout passe par elle!
Voir le man de http://www.hmug.org/man/1/distcc.php distcc pour plus d'infos
Construction avec le Makefile
make -j20 CXX="distcc /usr/bin/g++"
La valeur associée à -j doit être à peu prêt 2 fois le nombre de machines.
Docs
Makefile et Xcode
Comment lancer un makefile à travers XCode (requier XCode > 2.4) :
http://developer.apple.com/documentation/Porting/Conceptual/PortingUnix/preparing/chapter_3_section_4.html
Testé avec geant4, et ça marche !