Gentoo and distcc

Gentoo can take advantage of distcc to speed up compilation of packages by sharing compilation accross many machines also running distcc.

= Installation of distcc = Start by installing distcc using the command emerge -av distcc

= Editing /etc/make.conf = Add distcc to the FEATURES flag in /etc/make.conf, for example: FEATURES="distcc"

Also the MAKEOPTS setting should be tweaked, for example: MAKEOPTS="-jX"

Where X is typically twice the number of CPUs, hence twice the number of machines you plan to run distcc on unless you are using machines with more than one CPU. (NOTE: leave anyother options present in MAKEOPTS)

= Using with Paludis = If you'd like Paludis to take advantage of distcc then add the following lines to your /etc/paludis/bashrc file making sure to change the host names:

export DISTCC_DIR="/var/tmp/paludis/.distcc" export PATH="/usr/lib/distcc/bin:${PATH}" export CC="/usr/lib/distcc/bin/gcc" export CXX="/usr/lib/distcc/bin/g++" export DISTCC_HOSTS="localhost another_host"

= Adding distcc hosts = To add the distcc servers to the list of machines participating in the build: distcc-config --set-hosts "foo"

foo can be a list of ip addresses and/or hostnames which are running distcc. Also if the machine your running is to participate in the build then add localhost to the list of machines.

= Security = You should edit the file /etc/conf.d/distcc to only allow the configured distcc servers for security reasons.

= Starting distcc = Add distcc to the default runlevel on each gentoo machine so when you boot the service is available: rc-update add distccd default and start with the command: /etc/init.d/distccd start

=References=