Vous possedez plusieurs machines chez vous et vous voulez partager la compilation ? vous connaissez probablement distcc, le demon le plus connu permettant cette operation. Voici rapidement comment reduire de moitie ou bien plus votre make buildworld.

Installez distcc sur toutes les machines de type Unix que vous souhaitez mettre a contribution (hint: distcc est dans les pkgsrc, les ports et en package debian). Ce peuvent etre des systeme Unix differents, la seule obligation etant d'utiliser la meme version de gcc sur toutes les machines, nous allons voir ceci tout de suite.

Si comme moi vous possedez plusieurs systemes sur vos differentes machines, il va etre necessaire d'operer une petite astuce pour vous assurer d'utiliser la meme version de gcc (lui meme appele par distcc) partout. Le man de distcc propose ceci :

ln -s /usr/local/bin/gcc32 /usr/local/distcc/gcc
ln -s /usr/local/bin/gcc32 /usr/local/distcc/cc
ln -s /usr/local/bin/g++32 /usr/local/distcc/g++
ln -s /usr/local/bin/g++32 /usr/local/distcc/ccc
PATH=/usr/local/distcc:$PATH;export PATH

Lancez maintenant le demon distccd par la commande :

distccd --daemon

Sur la machine cliente, placez la variable DISTCC_HOSTS :

DISTCC_HOSTS="localhost machine2 machine3"; export DISTCC_HOSTS

Editez le fichier /etc/make.conf Ajoutez-y :

CC=distcc
MAKE_ARGS=-j3 # ou 3 est le nombre de machines impliquees

C'est fini ! Essayez donc maintenant un

$ portupgrade -a

et demarrez

$ distccmon-text 0.5

Afin de constater l'utilisation de vos machines.

Joyeuses compilations =)

freebsd/distcc_world.txt · Last modified: 2010/01/12 13:29 (external edit)