
262
|
Chapter 9, Administration and Automation
#87 Speed Up Compiles
HACK
You must install the program on each machine you want included in your
compile farm. On each of the compiling machines, you need to start the dis-
tccd daemon:
root@bree:# distccd –daemon –N15
root@moria:# distccd –daemon –N15
These daemons will listen on TCP port 3632 for instructions and code from
the local machine (the one which you are actually compiling software for).
The
–N value sets a niceness level so the distributed compiles won’t interfere
too much with local operations. Read the distccd manpage for further options.
On the client side, you need to tell distcc which computers to use for distrib-
uted compiles. You can do this by creating an environment variable:
dbrick@rivendell:$ export DISTCC_HOSTS='localhost bree moria'
Specify localhost to make sure your local machine is included in the com-
piles. If your local machine is exceptionally slow, or if you have a lot of pro-
cessors to distribute the load to, you should consider not including it at all.
You can use machine IP addresses in place of names. If you don’t want to set
an environment variable, then create a distcc hosts file in your home direc-
tory to contain the values:
dbrick@rivendell:$ mkdir ~/.distcc
dbrick@rivendell:$ echo "localhost bree moria" > ~/.distcc/hosts
To run a distributed compile, simply pass a CC=distcc option to the make
command:
dbrick@rivendell:$ ...