user3002273
user3002273

Reputation:

Distcc .distcc/zeroconf/hosts contained no hosts

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

Answers (2)

dagelf
dagelf

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

Alienhunter3010
Alienhunter3010

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

Related Questions