Closed GoogleCodeExporter closed 9 years ago
If the 60-second instructions don't work, you may need to look at the full
installation documentation.
In particular the full installation doc contains this:
0. Install prerequisites. For example, on Debian or Ubuntu, you could use
sudo apt-get install gcc make python python-dev
Also, what was the output from the "configure" step?
Original comment by fer...@google.com
on 26 Jul 2011 at 11:18
I have installed distcc successfully in 192.168.10.53, 192.168.10.70 and
192.168.10.90 with:
./configure --disable-Werror
make
sudo make install
on 192.168.10.70 and 192.168.10.90:
distccd --daemon --allow 192.168.10.53
on 192.168.10.53:
export DISTCC_POTENTIAL_HOSTS='192.168.10.70 192.168.10.90'
time pump make -j8 CC=distcc > make.out
the output is:
distcc[15361] (dcc_writex) ERROR: failed to write: Connection reset by peer
distcc[15361] Warning: failed to distribute srandomdev.c to
192.168.10.90,cpp,lzo, running locally instead
distcc[15356] (dcc_writex) ERROR: failed to write: Connection reset by peer
distcc[15356] Warning: failed to distribute setproctitle.c to
192.168.10.90,cpp,lzo, running locally instead
srandomdev.c: In function ‘srandomdev’:
srandomdev.c:55: warning: ignoring return value of ‘read’, declared with
attribute warn_unused_result
distcc[15358] (dcc_readx) ERROR: failed to read: Connection reset by peer
distcc[15358] (dcc_r_token_int) ERROR: read failed while waiting for token
"DONE"
distcc[15358] (dcc_r_result_header) ERROR: server provided no answer. Is the
server configured to allow access from your IP address? Does the server have
the compiler installed? Is the server configured to access the compiler?
distcc[15358] Warning: failed to distribute execinfo.c to
192.168.10.90,cpp,lzo, running locally instead
distcc[15363] (dcc_writex) ERROR: failed to write: Connection reset by peer
distcc[15363] Warning: failed to distribute strndup.c to 192.168.10.90,cpp,lzo,
running locally instead
vlu.c: In function ‘vlu_dotelnet’:
vlu.c:123: warning: ignoring return value of ‘write’, declared with
attribute warn_unused_result
distcc[15723] ERROR: compile vre.c on 192.168.10.70,cpp,lzo failed
distcc[15723] (dcc_build_somewhere) Warning: remote compilation of 'vre.c'
failed, retrying locally
distcc[15723] Warning: failed to distribute vre.c to 192.168.10.70,cpp,lzo,
running locally instead
distcc[15723] (dcc_please_send_email_after_investigation) Warning: remote
compilation of 'vre.c' failed, retried locally and got a different result.
distcc[15723] (dcc_note_discrepancy) Warning: now using plain distcc, possibly
due to inconsistent file system changes during build
jemalloc_linux.c: In function ‘wrtmessage’:
jemalloc_linux.c:1242: warning: ignoring return value of ‘write’, declared
with attribute warn_unused_result
jemalloc_linux.c:1243: warning: ignoring return value of ‘write’, declared
with attribute warn_unused_result
jemalloc_linux.c:1244: warning: ignoring return value of ‘write’, declared
with attribute warn_unused_result
jemalloc_linux.c:1245: warning: ignoring return value of ‘write’, declared
with attribute warn_unused_result
cache_center.c: In function ‘cnt_start’:
cache_center.c:1189: warning: ignoring return value of ‘write’, declared
with attribute warn_unused_result
__________Warning: 1 pump-mode compilation(s) failed on server, but succeeded
locally.
__________Distcc-pump was demoted to plain mode. See the Distcc Discrepancy
Symptoms section in the include_server(1) man page.
real 0m47.168s
user 0m19.750s
sys 0m7.260s
make.out has been uploaded:
__________Using distcc-pump from /usr/local/bin
__________Found 2 available distcc servers
make all-recursive
make[1]: Entering directory `/root/varnish-2.1.5'
Making all in include
make[2]: Entering directory `/root/varnish-2.1.5/include'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/root/varnish-2.1.5/include'
Making all in lib
make[2]: Entering directory `/root/varnish-2.1.5/lib'
Making all in libvarnishcompat
make[3]: Entering directory `/root/varnish-2.1.5/lib/libvarnishcompat'
...
vtc_http.o vtc_log.o vtc_sema.o vtc_server.o vtc_varnish.o
../../lib/libvarnish/.libs/libvarnish.so
../../lib/libvarnishcompat/.libs/libvarnishcompat.so
../../lib/libvarnishapi/.libs/libvarnishapi.so -lm -lpthread
make[3]: Leaving directory `/root/varnish-2.1.5/bin/varnishtest'
make[3]: Entering directory `/root/varnish-2.1.5/bin'
make[3]: Nothing to be done for `all-am'.
make[3]: Leaving directory `/root/varnish-2.1.5/bin'
make[2]: Leaving directory `/root/varnish-2.1.5/bin'
Making all in man
make[2]: Entering directory `/root/varnish-2.1.5/man'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/root/varnish-2.1.5/man'
Making all in etc
make[2]: Entering directory `/root/varnish-2.1.5/etc'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/root/varnish-2.1.5/etc'
Making all in doc
make[2]: Entering directory `/root/varnish-2.1.5/doc'
Making all in sphinx
make[3]: Entering directory `/root/varnish-2.1.5/doc/sphinx'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/root/varnish-2.1.5/doc/sphinx'
make[3]: Entering directory `/root/varnish-2.1.5/doc'
make[3]: Nothing to be done for `all-am'.
make[3]: Leaving directory `/root/varnish-2.1.5/doc'
make[2]: Leaving directory `/root/varnish-2.1.5/doc'
Making all in redhat
make[2]: Entering directory `/root/varnish-2.1.5/redhat'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/root/varnish-2.1.5/redhat'
make[2]: Entering directory `/root/varnish-2.1.5'
make[2]: Nothing to be done for `all-am'.
make[2]: Leaving directory `/root/varnish-2.1.5'
make[1]: Leaving directory `/root/varnish-2.1.5'
__________Shutting down distcc-pump include server
Original comment by hsw...@gmail.com
on 27 Jul 2011 at 9:12
Attachments:
The relevant error message is this one:
distcc[15358] (dcc_r_result_header) ERROR: server provided no answer. Is the
server configured to allow access from your IP address? Does the server have
the compiler installed? Is the server configured to access the compiler?
The "--allow" option looks correct, so I think the answer to the first question
is "yes", but perhaps the answer to either the second or third question is "no".
You need to see exactly how distcc is being invoked by your makefile (what is
the exact distcc command?), and check that the compiler (the first argument to
distcc) is installed on the server machines and is included in the
allowed_compilers setting in the commands.allow.sh config file in /etc/distcc.
For more information, to debug this problem, see the distccd log files (or grep
for distcc in the system log files) on the servers.
Original comment by fergus.h...@gmail.com
on 27 Jul 2011 at 10:15
I can make the project on 192.168.10.70 and 192.168.10.90, I think the second
question is "yes".
Do I need to edit Makefile of my project? for distcc
Where allow.sh config.file in /etc/distcc? there is no /etc/distcc
Where the distccd log files? I can't find it...
The newest running result is below, is it currect?
the same projects on 192.168.10.70 and 192.168.10.90:
time make > make.out
the projects is made successfully, output is:
srandomdev.c: In function ‘srandomdev’:
srandomdev.c:55: warning: ignoring return value of ‘read’, declared with
attribute warn_unused_result
/bin/bash: svnversion: command not found
vlu.c: In function ‘vlu_dotelnet’:
vlu.c:123: warning: ignoring return value of ‘write’, declared with
attribute warn_unused_result
jemalloc_linux.c: In function ‘wrtmessage’:
jemalloc_linux.c:1242: warning: ignoring return value of ‘write’, declared
with attribute warn_unused_result
jemalloc_linux.c:1243: warning: ignoring return value of ‘write’, declared
with attribute warn_unused_result
jemalloc_linux.c:1244: warning: ignoring return value of ‘write’, declared
with attribute warn_unused_result
jemalloc_linux.c:1245: warning: ignoring return value of ‘write’, declared
with attribute warn_unused_result
cache_center.c: In function ‘cnt_start’:
cache_center.c:1189: warning: ignoring return value of ‘write’, declared
with attribute warn_unused_result
real 0m46.737s
user 0m47.470s
sys 0m11.570s
but on 192.168.10.53:
export DISTCC_POTENTIAL_HOSTS='192.168.10.70 192.168.10.90'
time pump make -j8 CC=distcc > make.out
output is:
distcc[31284] (dcc_writex) ERROR: failed to write: Connection reset by peer
distcc[31284] Warning: failed to distribute daemon.c to 192.168.10.90,cpp,lzo,
running locally instead
distcc[31291] (dcc_writex) ERROR: failed to write: Connection reset by peer
distcc[31291] Warning: failed to distribute setproctitle.c to
192.168.10.90,cpp,lzo, running locally instead
distcc[31289] (dcc_writex) ERROR: failed to write: Connection reset by peer
distcc[31289] Warning: failed to distribute strlcat.c to 192.168.10.90,cpp,lzo,
running locally instead
srandomdev.c: In function ‘srandomdev’:
srandomdev.c:55: warning: ignoring return value of ‘read’, declared with
attribute warn_unused_result
vlu.c: In function ‘vlu_dotelnet’:
vlu.c:123: warning: ignoring return value of ‘write’, declared with
attribute warn_unused_result
jemalloc_linux.c: In function ‘wrtmessage’:
jemalloc_linux.c:1242: warning: ignoring return value of ‘write’, declared
with attribute warn_unused_result
jemalloc_linux.c:1243: warning: ignoring return value of ‘write’, declared
with attribute warn_unused_result
jemalloc_linux.c:1244: warning: ignoring return value of ‘write’, declared
with attribute warn_unused_result
jemalloc_linux.c:1245: warning: ignoring return value of ‘write’, declared
with attribute warn_unused_result
cache_center.c: In function ‘cnt_start’:
cache_center.c:1189: warning: ignoring return value of ‘write’, declared
with attribute warn_unused_result
real 0m50.455s
user 0m15.210s
sys 0m6.080s
Original comment by hsw...@gmail.com
on 27 Jul 2011 at 12:15
> I can make the project on 192.168.10.70 and 192.168.10.90, I think the second
question is "yes".
distcc is not a compiler itself; you need a C compiler that distcc can use.
Do you have gcc installed on the server machines?
> Where the distccd log files? I can't find it...
To see the distccd log output, try this:
sudo grep distcc /var/log/syslog /var/log/messages /var/log/daemon
Or use the --log-file flag when invoking distccd, e.g. --log-file=mydistccd.log
> Where allow.sh config.file in /etc/distcc? there is no /etc/distcc
Where did you install distcc?
It might be in /usr/local/etc/distcc if you installed in /usr/local.
The location is determined by the sysconfdir variable in the Makefile.
Check the output from configure, which will contain something like this:
'make install' will install distcc as follows:
man pages /usr/local/share/man/man1
documents /usr/local/share/doc/distcc
programs /usr/local/bin
system configuration /usr/local/etc
shared data files /usr/local/share/distcc
The config files will be in the "system configuration" directory
(/usr/local/etc/ in the case above).
Original comment by fergus.h...@gmail.com
on 27 Jul 2011 at 12:39
thanks a lot for your help
> Do you have gcc installed on the server machines?
I have installed gcc on the server machines.
> sudo grep distcc /var/log/syslog
I get the output:
distccd[31072]: (dcc_check_client) ERROR: connection from client '192.168.10.53:58437' denied by access list
distccd[31073]: (dcc_check_client) ERROR: connection from client '192.168.10.53:58438' denied by access list
distccd[31074]: (dcc_check_client) ERROR: connection from client '192.168.10.53:58441' denied by access list
distccd[31072]: (dcc_check_client) ERROR: connection from client '192.168.10.53:58442' denied by access list
distccd[31073]: (dcc_check_client) ERROR: connection from client '192.168.10.53:58444' denied by access list
>It might be in /usr/local/etc/distcc
there is only commands.allow.sh no allow.sh in /usr/local/etc/distcc
in commands.allow.sh:
numwords=1
allowed_compilers="
/usr/bin/cc
/usr/bin/c++
/usr/bin/c89
/usr/bin/c99
/usr/bin/gcc
/usr/bin/g++
/usr/bin/*gcc-*
/usr/bin/*g++-*
"
why connection from client '192.168.10.53' denied? I can not get it
Original comment by hsw...@gmail.com
on 27 Jul 2011 at 1:03
Probably you don't have the right "--allow" options.
Maybe you have more than one distccd process running on the servers.
What's the output of "ps -ef | grep distcc" on the server machines?
Try running the servers with "--verbose" to enable verbose logging; that should
give some more information.
Original comment by fergus.h...@gmail.com
on 27 Jul 2011 at 1:56
Thanks a lot for your help.
I have the wrong "--allow" options.
It looks currect when I kill distccd process and restart distccd process.
It takes much less time to make my project, nearly 3/5
running the servers with "--verbose" means
distccd --daemon --allow 192.168.10.53 --verbose ?
I will try to running with "--verbose"
Original comment by hsw...@gmail.com
on 28 Jul 2011 at 1:58
Original comment by fergus.h...@gmail.com
on 4 Apr 2012 at 7:19
I download distcc 3.1 and then install it on my client and server system.
a) download distcc tarball
b) ./configure
c) make
d) make install
server: 10.237.74.93
client: 10.237.74.79
Then I try to configure my distcc environment as below:
client:
distccd –daemon --user nobody –allow 10.237.74.93
server:
export DISTCC_POTENTIAL_HOSTS=’localhost 10.237.74.79’
After finish the configuration, I try to compile my project on server:
pump make –j8 CC=distcc
But I get the below information:
======================================================
root@NaNa:/home/nana/driver/linux-3.2.12# pump make -j8 CC=distcc
__________Using distcc-pump from /usr/local/bin
__________Found 1 available distcc servers
CHK include/linux/version.h
CHK include/generated/utsrelease.h
CALL scripts/checksyscalls.sh
CHK include/generated/compile.h
CC [M] arch/x86/kvm/../../../virt/kvm/kvm_main.o
CC mm/shmem.o
CC kernel/sysctl.o
CC kernel/sysctl_binary.o
CC kernel/capability.o
CC fs/ioctl.o
CC arch/x86/mm/init.o
CC arch/x86/kernel/i387.o
distcc[5329] ERROR: compile arch/x86/kvm/../../../virt/kvm/kvm_main.c on
10.237.74.79,cpp,lzo failed
distcc[5329] (dcc_build_somewhere) Warning: remote compilation of
'arch/x86/kvm/../../../virt/kvm/kvm_main.c' failed, retrying locally
distcc[5329] Warning: failed to distribute
arch/x86/kvm/../../../virt/kvm/kvm_main.c to 10.237.74.79,cpp,lzo, running
locally instead
distcc[5337] ERROR: compile mm/shmem.c on 10.237.74.79,cpp,lzo failed
distcc[5337] (dcc_build_somewhere) Warning: remote compilation of 'mm/shmem.c'
failed, retrying locally
distcc[5337] Warning: failed to distribute mm/shmem.c to 10.237.74.79,cpp,lzo,
running locally instead
distcc[5352] ERROR: compile kernel/sysctl.c on 10.237.74.79,cpp,lzo failed
distcc[5352] (dcc_build_somewhere) Warning: remote compilation of
'kernel/sysctl.c' failed, retrying locally
distcc[5352] Warning: failed to distribute kernel/sysctl.c to
10.237.74.79,cpp,lzo, running locally instead
distcc[5354] ERROR: compile kernel/sysctl_binary.c on 10.237.74.79,cpp,lzo
failed
distcc[5354] (dcc_build_somewhere) Warning: remote compilation of
'kernel/sysctl_binary.c' failed, retrying locally
distcc[5354] Warning: failed to distribute kernel/sysctl_binary.c to
10.237.74.79,cpp,lzo, running locally instead
distcc[5358] ERROR: compile kernel/capability.c on 10.237.74.79,cpp,lzo failed
distcc[5358] (dcc_build_somewhere) Warning: remote compilation of
'kernel/capability.c' failed, retrying locally
distcc[5358] Warning: failed to distribute kernel/capability.c to
10.237.74.79,cpp,lzo, running locally instead
distcc[5337] (dcc_please_send_email_after_investigation) Warning: remote
compilation of 'mm/shmem.c' failed, retried locally and got a different result.
distcc[5337] (dcc_note_discrepancy) Warning: now using plain distcc, possibly
due to inconsistent file system changes during build
distcc[5354] (dcc_please_send_email_after_investigation) Warning: remote
compilation of 'kernel/sysctl_binary.c' failed, retried locally and got a
different result.
distcc[5362] ERROR: compile arch/x86/mm/init.c on 10.237.74.79,cpp,lzo failed
distcc[5362] (dcc_build_somewhere) Warning: remote compilation of
'arch/x86/mm/init.c' failed, retrying locally
distcc[5362] Warning: failed to distribute arch/x86/mm/init.c to
10.237.74.79,cpp,lzo, running locally instead
CC arch/x86/kernel/xsave.o
distcc[5394] (dcc_build_somewhere) Warning: failed to distribute, running
locally instead
distcc[5360] ERROR: compile fs/ioctl.c on 10.237.74.79,cpp,lzo failed
distcc[5360] (dcc_build_somewhere) Warning: remote compilation of 'fs/ioctl.c'
failed, retrying locally
================================================================================
===
When I check the /var/log/syslog, I get:
Jun 27 04:10:23 NaNa distccd[2836]: (dcc_listen_by_addr) ERROR: bind of
0.0.0.0:3632 failed: Address already in use
Jun 27 04:15:59 NaNa distccd[3631]: (dcc_listen_by_addr) ERROR: bind of
0.0.0.0:3632 failed: Address already in use
I try to run natstat -tulnp |grep 3632, it shows nothing, seems no service use
this port.
My questions are as below:
a) Why my tasks can't be distributed to my client system?
b) Why the syslog shows "ERROR: bind of 0.0.0.0:3632 failed: Address already in
use"?
c)
================================================================
Comment 8 by hsw...@gmail.com, Jul 27, 2011
Thanks a lot for your help.
I have the wrong "--allow" options.
It looks currect when I kill distccd process and restart distccd process.
It takes much less time to make my project, nearly 3/5
running the servers with "--verbose" means
distccd --daemon --allow 192.168.10.53 --verbose ?
I will try to running with "--verbose"
=================================================================
What does "I have the wrong "--allow" options." mean?
Any ideas on how to resolve it?
Notes:
a) distcc --version
distcc 3.1 i686-pc-linux-gnu
b) gcc --version
gcc (Ubuntu/Linaro 4.5.2-8ubuntu4) 4.5.2
c) OS
ubuntu11.04 x86
Original comment by chao.a.c...@gmail.com
on 28 Jun 2012 at 3:12
Original issue reported on code.google.com by
hsw...@gmail.com
on 26 Jul 2011 at 10:24