Introduction

Distcc est très pratique voire indispensable sur des systèmes comme Gentoo où le temps passer à compiler peut être important. Distcc permet de faire de la compilation distribuée, c’est a dire que nous allons répartir les taches de compilations sur plusieurs machines afin d’en partager la peine 🙂

Prérequis

Pour que Distcc fonctionne bien nous aurons besoin des memes versions de GCC partout.
Distcc est capable de faire de la crosscompilation mais on ne traitera pas ça ici. Je suis sur x86 uniquement.

Installation et configuration

Pour le monitoring on utilisera le USE gtk

emerge -av distcc

Si les machines utilisant distcc sont 10.0.0.1 et 10.0.0.2 La configuration suivante s’applique sur la machine 10.0.0.1 dans /etc/distcc/hosts

10.0.0.2 localhost

On fera l’inverse sur l’autre machine

Dans le make.conf il faut dire à portage d’utiliser distcc:

DISTCC_HOSTS="10.0.0.2 localhost"
# on indique d'utiliser distcc, ici nous utilisons deja ccache donc on le met avant, c'est important
FEATURES="ccache distcc"`

Ne pas oublier de mettre à jour le l’option -j pour GCC sur le paramètre MAKEOPTS.

On lance le service maintenant et pour les prochains boot.

`/etc/init.d/distcc start && rc-update add distcc default`

Voila c’est fini o/  
Pour avoir un gain de temps vraiment réel il faut aussi utiliser ccache.