Reputation:
I am getting an error from distcc. I am using the package from the repos. Here is my configuration
$ cat /etc/default/distcc | grep -v \#
STARTDISTCC="true"
ALLOWEDNETS="127.0.0.0/16 10.0.0.0/8"
LISTENER="0.0.0.0"
NICE="10"
JOBS="3"
ZEROCONF="true"
$ cat /etc/distcc/hosts | grep -v \#
+zeroconf
$ dpkg -l | grep distcc
ii distcc 3.1-6 amd64 simple distributed compiler client and server
ii distcc-pump 3.1-6 amd64 pump mode for distcc a distributed compiler client and server
$ cat ~/.distcc/zeroconf/hosts
10.16.114.52:3632/16
$ ifconfig
...
inet addr:10.16.114.52 Bcast:10.16.115.255 Mask:255.255.252.0
...
When I run a bunch of compilations (1000 C files I generated) like,
distcc gcc -o 41.o -c 41.c
I get the error,
distcc[26927] (dcc_parse_hosts) Warning: /home/amacdonald/.distcc/zeroconf/hosts contained no hosts; can't distribute work
distcc[26927] (dcc_zeroconf_add_hosts) CRITICAL! failed to parse host file.
distcc[26927] (dcc_build_somewhere) Warning: failed to distribute, running locally instead
distcc[26929] (dcc_parse_hosts) Warning: /home/amacdonald/.distcc/zeroconf/hosts contained no hosts; can't distribute work
distcc[26929] (dcc_zeroconf_add_hosts) CRITICAL! failed to parse host file.
Upvotes: 0
Views: 1942
Reputation: 1739
Even with the hosts environment variable and hosts files, in /etc and /usr/local/etc, I distcc still couldn't find any hosts.
After checking the log:
DISTCCD_OPTS="${DISTCCD_OPTS} --log-file /var/log/distccd.log"
Which said:
(dcc_warn_masquerade_whitelist) CRITICAL! /usr/local/lib/distcc not found. You must see up masquerade (see distcc(1)) to list whitelisted compilers or pass --enable-tcp-insecure. To set up masquerade automatically run update-distcc-symlinks.
I had to run:
sudo update-distcc-symlinks
sudo ln -s /usr/lib/distcc /usr/local/lib/distcc
To get it working.
Upvotes: 0
Reputation: 111
You need a hosts file with the list of machines that run distcc. Use this path:
~/.distcc/hosts
For example:
10.0.0.1 10.0.0.2 10.0.0.42
Upvotes: 0