[distcc] First remote execution works, second fails.

MAL mal at komcept.com
Thu Jan 30 16:54:42 GMT 2003


Hi,

I'm using distcc with Gentoo to compile software via portage, on my aged 
laptop, with help from my Athlon XP system.

The Athlon XP is called mal, the laptop is the machine that I run emerge on.

For those who haven't used Gentoo, Portage is basically a compilation 
front end that sorts out dependencies, compiles, and performs virtual 
installs, followed by merging an app into a running system... it's the 
package manager for Gentoo.

Gentoo does some interesting things with the locations of gcc and g++, 
in that it keeps the binaries in (on my pc):
/usr/i586-pc-linux-gnu/gcc-bin/<gcc_version>/

and sets up the PATH environment variable to point to them. This is so 
multiple compilers can be present without interfering with each other.

It's taken me a good few attempts to get it working to begin with, as 
the environment wasn't staying the same while emerge ran, (the various 
gentoo-distcc howtos online no longer work... I guess the changed in 
gentoo's gcc layout).

Anwyay.. it appeared to work, but then I get this (see attachment). 
groff failed on the second remote call to g++, (looks like the first 
worked fine).

This is just a sample package, the same happens with others.

Note: my DISTCC_HOSTS only contains "mal", and not localhost.. do I 
absolutely need localhost?  (the local machine is a 20th as fast as the 
remote machine).

Sorry for the length, any ideas people? :)

Cheers,
MAL
-------------- next part --------------
make[1]: Entering directory `/var/tmp/portage/groff-1.18.1/work/groff-1.18.1'
make[2]: Entering directory `/var/tmp/portage/groff-1.18.1/work/groff-1.18.1/src/include'
make[2]: Leaving directory `/var/tmp/portage/groff-1.18.1/work/groff-1.18.1/src/include'
make[2]: Entering directory `/var/tmp/portage/groff-1.18.1/work/groff-1.18.1/src/libs/libgroff'
distcc g++ -I. -I/var/tmp/portage/groff-1.18.1/work/groff-1.18.1/src/libs/libgroff -I/var/tmp/portage/groff-1.18.1/work/groff-1.18.1/src/include -I/var/tmp/portage/groff-1.18.1/work/groff-1.18.1/src/include -DHAVE_CONFIG_H -march=pentium-mmx -O3 -fomit-frame-pointer -pipe  -c assert.cc
distcc[6404] (dcc_scan_args) scanning arguments: g++ -I. -I/var/tmp/portage/groff-1.18.1/work/groff-1.18.1/src/libs/libgroff -I/var/tmp/portage/groff-1.18.1/work/groff-1.18.1/src/include -I/var/tmp/portage/groff-1.18.1/work/groff-1.18.1/src/include -DHAVE_CONFIG_H -march=pentium-mmx -O3 -fomit-frame-pointer -pipe -c assert.cc
distcc[6404] (dcc_scan_args) found input file "assert.cc"
distcc[6404] (dcc_scan_args) no visible output file, going to add "-o assert.o" at end
distcc[6404] compile from assert.cc to assert.o
distcc[6404] (dcc_parse_hosts) found tcp token "mal"
distcc[6404] (dcc_lock_host) locked /var/tmp/portage/groff-1.18.1/temp/distcc_00000000/lock_mal_0000000
distcc[6404] (dcc_lock_one) compile on mal
distcc[6404] (dcc_strip_dasho) result: g++ -I. -I/var/tmp/portage/groff-1.18.1/work/groff-1.18.1/src/libs/libgroff -I/var/tmp/portage/groff-1.18.1/work/groff-1.18.1/src/include -I/var/tmp/portage/groff-1.18.1/work/groff-1.18.1/src/include -DHAVE_CONFIG_H -march=pentium-mmx -O3 -fomit-frame-pointer -pipe -c assert.cc
distcc[6404] (dcc_spawn_child) forking to execute g++ -I. -I/var/tmp/portage/groff-1.18.1/work/groff-1.18.1/src/libs/libgroff -I/var/tmp/portage/groff-1.18.1/work/groff-1.18.1/src/include -I/var/tmp/portage/groff-1.18.1/work/groff-1.18.1/src/include -DHAVE_CONFIG_H -march=pentium-mmx -O3 -fomit-frame-pointer -pipe -E assert.cc
distcc[6404] (dcc_spawn_child) child started as pid6405
distcc[6404] (dcc_strip_local_args) result: g++ -march=pentium-mmx -O3 -fomit-frame-pointer -pipe -c assert.cc -o assert.o
distcc[6404] exec on mal: g++ -march=pentium-mmx -O3 -fomit-frame-pointer -pipe -c assert.cc -o assert.o
distcc[6404] (dcc_open_socket_out) client got connection to mal port 3632 on fd4
distcc[6404] (dcc_x_token_int) send DIST00000001
distcc[6404] (dcc_x_token_int) send ARGC00000009
distcc[6404] (dcc_x_token_int) send ARGV00000003
distcc[6404] (dcc_x_token_int) send ARGV00000012
distcc[6404] (dcc_x_token_int) send ARGV00000003
distcc[6404] (dcc_x_token_int) send ARGV00000014
distcc[6404] (dcc_x_token_int) send ARGV00000005
distcc[6404] (dcc_x_token_int) send ARGV00000002
distcc[6404] (dcc_x_token_int) send ARGV00000009
distcc[6404] (dcc_x_token_int) send ARGV00000002
distcc[6404] (dcc_x_token_int) send ARGV00000008
distcc[6404] (dcc_collect_child) child 6405 terminated with status 0
distcc[6404] (dcc_report_rusage) cpp resource usage: 0.390000s user, 0.050000s system
distcc[6404] cpp on mal9.mal.gotdns.org completed ok
distcc[6404] (dcc_x_file) send 47567 byte file /var/tmp/portage/groff-1.18.1/temp/distcc_00000000/cppout_0000006404.i with token DOTI
distcc[6404] (dcc_x_token_int) send DOTI0000b9cf
distcc[6404] (dcc_send_job) client finished sending request to server
distcc[6404] (dcc_r_token_int) got DONE00000001
distcc[6404] (dcc_r_result_header) got response header
distcc[6404] (dcc_r_token_int) got STAT00006e00
distcc[6404] (dcc_r_token_int) got SERR00000048
distccd[3098] (dcc_execvp) ERROR: failed to exec g++: Permission denied
distcc[6404] (dcc_r_token_int) got SOUT00000000
distcc[6404] (dcc_r_token_int) got DOTO00000000
distcc[6404] (dcc_retrieve_results) Notice: skipping retrieval of 0 byte object file assert.o
distcc[6404] (dcc_critique_status) Notice: g++ on mal failed with exit code 110
distcc[6404] (dcc_exit) Notice: exit: code 110; self: 0.010000 user 0.020000 sys; children: 0.390000 user 0.050000 sys
distcc[6404] (dcc_cleanup_tempfiles) deleted 1 temporary files
make[2]: *** [assert.o] Error 110
make[2]: Leaving directory `/var/tmp/portage/groff-1.18.1/work/groff-1.18.1/src/libs/libgroff'
make[1]: *** [src/libs/libgroff] Error 2
make[1]: Leaving directory `/var/tmp/portage/groff-1.18.1/work/groff-1.18.1'
make: *** [all] Error 2


More information about the distcc mailing list