[distcc] Re: Re: Re: Re: Can't get distcc working properly, help!

Martin Pool mbp at sourcefrog.net
Sat Jul 12 01:16:57 GMT 2003


On 11 Jul 2003, Luke Guest <lguest at bubball.com> wrote:
> On Sat, 12 Jul 2003 00:46:05 +1000, Martin Pool wrote:
> 
> > I really don't think the -MM rule you mentioned could cause this
> > message.  It's more likely to be caused by you interrupting a compile.
> 
> Nope!
> 
> This is what I just did:
> 
> 1) /etc/init.d/distccd stop
> 2) Setup the PATH and DISTCCD_PATH (which I copied directly from the init
> script).
> 3) Started the daemon by hand: "/opt/distcc-2.7.1/bin/distccd --daemon --no-detach
> --log-file=distccd-log.txt --user <my user name> --verbose"
> 
> I also did exactly the same on the other machine (laptop).
> 
> I then loaded up the gnome monitor and cleaned my project out. Then I
> compiled the project with "make --keep-going --jobs=4" (from within
> Anjuta). The compile started and distributed to the other machine and then
> it just doesn't distribute after a while (like two or three files).

You are not giving enough information to make a useful diagnosis.

You need to setup a client log with 

  export DISTCC_VERBOSE=1 DISTCC_LOG=/tmp/client.log

Then send that log, and the *specific commands* that make is running
that are not distributed that you think should be.  If you can narrow
it down to a particular command and send the log for just that command
it's better.

The log below shows that you're using -Wa,al to get an assembler
listing.  That's not supported by distcc.  Do you need it, or did that
option just get turned on by some other tool?

> My machines log:
> 
> distccd[4614] (dcc_set_path) setting PATH=...cut...
> distccd[4614] distccd (version 2.7.1, built Jul  1 2003 16:06:43)
> distccd[4614] (dcc_listen_by_addr) listening on 0.0.0.0:3632
> distccd[4614] (dcc_standalone_server) 1 CPU online on this server
> distccd[4614] (dcc_standalone_server) allowing up to 3 active jobs
> distccd[4614] (dcc_standalone_server) not detaching
> distccd[4614] (dcc_new_pgrp) already a process group leader
> distccd[4614] (dcc_preforking_parent) up to 1 children
> distccd[4614] (dcc_preforking_parent) up to 2 children
> distccd[4614] (dcc_preforking_parent) up to 3 children
> distccd[4614] (dcc_daemon_terminate) Interrupt
> distccd[4614] (dcc_cleanup_tempfiles) deleted 0 temporary files
> distccd[4615] (dcc_cleanup_tempfiles) deleted 0 temporary files
> distccd[4616] (dcc_cleanup_tempfiles) deleted 0 temporary files
> distccd[4617] (dcc_cleanup_tempfiles) deleted 0 temporary files

The daemon on the client isn't used for local compilations.

> The log from the other machine:
> 
> distccd[2171] (dcc_set_path) setting PATH=...cut...
> distccd[2171] distccd (version 2.7.1, built Jul  1 2003 16:37:34)
> distccd[2171] (dcc_listen_by_addr) listening on 0.0.0.0:3632
> distccd[2171] (dcc_standalone_server) 1 CPU online on this server
> distccd[2171] (dcc_standalone_server) allowing up to 3 active jobs
> distccd[2171] (dcc_standalone_server) not detaching
> distccd[2171] (dcc_new_pgrp) already a process group leader
> distccd[2171] (dcc_preforking_parent) up to 1 children
> distccd[2171] (dcc_preforking_parent) up to 2 children
> distccd[2171] (dcc_preforking_parent) up to 3 children
> distccd[2172] (dcc_check_client) connection from 192.168.0.28:32779
> distccd[2172] (dcc_r_token_int) got DIST00000001
> distccd[2172] (dcc_r_token_int) got ARGC0000000e
> distccd[2172] (dcc_r_argv) reading 14 arguments from job submission
> distccd[2172] (dcc_r_token_int) got ARGV00000006
> distccd[2172] (dcc_r_argv) argv[0] = "ee-g++"
> distccd[2172] (dcc_r_token_int) got ARGV00000013
> distccd[2172] (dcc_r_argv) argv[1] = "-fno-default-inline"
> distccd[2172] (dcc_r_token_int) got ARGV00000003
> distccd[2172] (dcc_r_argv) argv[2] = "-g2"
> distccd[2172] (dcc_r_token_int) got ARGV00000002
> distccd[2172] (dcc_r_argv) argv[3] = "-G"
> distccd[2172] (dcc_r_token_int) got ARGV00000001
> distccd[2172] (dcc_r_argv) argv[4] = "0"
> distccd[2172] (dcc_r_token_int) got ARGV00000005
> distccd[2172] (dcc_r_argv) argv[5] = "-Wall"
> distccd[2172] (dcc_r_token_int) got ARGV00000007
> distccd[2172] (dcc_r_argv) argv[6] = "-Wa,-al"
> distccd[2172] (dcc_r_token_int) got ARGV0000000f
> distccd[2172] (dcc_r_argv) argv[7] = "-fno-exceptions"
> distccd[2172] (dcc_r_token_int) got ARGV0000000b
> distccd[2172] (dcc_r_argv) argv[8] = "-fno-common"
> distccd[2172] (dcc_r_token_int) got ARGV00000014
> distccd[2172] (dcc_r_argv) argv[9] = "-fno-strict-aliasing"
> distccd[2172] (dcc_r_token_int) got ARGV00000002
> distccd[2172] (dcc_r_argv) argv[10] = "-c"
> distccd[2172] (dcc_r_token_int) got ARGV0000001a
> distccd[2172] (dcc_r_argv) argv[11] = "FootballManagerConsole.cpp"
> distccd[2172] (dcc_r_token_int) got ARGV00000002
> distccd[2172] (dcc_r_argv) argv[12] = "-o"
> distccd[2172] (dcc_r_token_int) got ARGV00000018
> distccd[2172] (dcc_r_argv) argv[13] = "FootballManagerConsole.o"
> distccd[2172] (dcc_r_argv) got arguments: ee-g++ -fno-default-inline -g2 -G 0 -Wall -Wa,-al -fno-exceptions -fno-common -fno-strict-aliasing -c FootballManagerConsole.cpp -o FootballManagerConsole.o
> distccd[2172] (dcc_scan_args) scanning arguments: ee-g++ -fno-default-inline -g2 -G 0 -Wall -Wa,-al -fno-exceptions -fno-common -fno-strict-aliasing -c FootballManagerConsole.cpp -o FootballManagerConsole.o
> distccd[2172] (dcc_scan_args) found input file "FootballManagerConsole.cpp"
> distccd[2172] (dcc_scan_args) found object/output file "FootballManagerConsole.o"
> distccd[2172] compile from FootballManagerConsole.cpp to FootballManagerConsole.o
> distccd[2172] (dcc_run_job) output file FootballManagerConsole.o
> distccd[2172] (dcc_input_tmpnam) input file FootballManagerConsole.cpp
> distccd[2172] (dcc_r_token_int) got DOTI00122e36
> distccd[2172] (dcc_r_file) received 1191478 bytes to file /tmp/distcc_laptop_503/server_2172.ii
> distccd[2172] (dcc_r_file_timed) 1191478 bytes received in 0.124088s, rate 9377kB/s
> distccd[2172] (dcc_set_input) changed input from "FootballManagerConsole.cpp" to "/tmp/distcc_laptop_503/server_2172.ii"
> distccd[2172] (dcc_set_input) command after: ee-g++ -fno-default-inline -g2 -G 0 -Wall -Wa,-al -fno-exceptions -fno-common -fno-strict-aliasing -c /tmp/distcc_laptop_503/server_2172.ii -o FootballManagerConsole.o
> distccd[2172] (dcc_set_output) changed output from "FootballManagerConsole.o" to "/tmp/distcc_laptop_503/server_2172.o"
> distccd[2172] (dcc_set_output) command after: ee-g++ -fno-default-inline -g2 -G 0 -Wall -Wa,-al -fno-exceptions -fno-common -fno-strict-aliasing -c /tmp/distcc_laptop_503/server_2172.ii -o /tmp/distcc_laptop_503/server_2172.o
> distccd[2172] (dcc_spawn_child) forking to execute: ee-g++ -fno-default-inline -g2 -G 0 -Wall -Wa,-al -fno-exceptions -fno-common -fno-strict-aliasing -c /tmp/distcc_laptop_503/server_2172.ii -o /tmp/distcc_laptop_503/server_2172.o
> distccd[2172] (dcc_spawn_child) child started as pid2176
> distccd[2176] (dcc_increment_safeguard) setting safeguard: _DISTCC_SAFEGUARD=1
> distccd[2172] (dcc_collect_child) cc child 2176 terminated with status 0
> distccd[2172] (dcc_collect_child) cc times: user 4.830000s, system 0.100000s, 9514 minflt, 1260 majflt
> distccd[2172] (dcc_x_token_int) send DONE00000001
> distccd[2172] (dcc_x_token_int) send STAT00000000
> distccd[2172] (dcc_x_file) send 2121 byte file /tmp/distcc_laptop_503/cc_2172.stderr with token SERR
> distccd[2172] (dcc_x_token_int) send SERR00000849
> distccd[2172] (dcc_x_file) send 935313 byte file /tmp/distcc_laptop_503/cc_2172.stdout with token SOUT
> distccd[2172] (dcc_x_token_int) send SOUT000e4591
> distccd[2172] (dcc_x_file) send 556032 byte file /tmp/distcc_laptop_503/server_2172.o with token DOTO
> distccd[2172] (dcc_x_token_int) send DOTO00087c00
> distccd[2172] ee-g++ on localhost completed ok
> distccd[2172] job complete
> distccd[2172] (dcc_cleanup_tempfiles) deleted 4 temporary files
> distccd[2172] (dcc_cleanup_tempfiles) deleted 0 temporary files
> distccd[2171] (dcc_daemon_terminate) Interrupt
> distccd[2171] (dcc_cleanup_tempfiles) deleted 0 temporary files
> distccd[2173] (dcc_cleanup_tempfiles) deleted 0 temporary files
> distccd[2174] (dcc_cleanup_tempfiles) deleted 0 temporary files

At this point you hit Ctrl-C, or somebody else interrupted the daemon.

> The PATH's are correct and the same on both machines.
> 
> So that's it really, and yes, the daemon's are both still running at this
> point.

The log from the server shows that it terminated

--
Martin



More information about the distcc mailing list