[distcc] Recursion during DARCS compilation - FreeBSD

Adam J Richardson fatman.uk at gmail.com
Tue Apr 24 15:11:38 GMT 2007

Martin Pool wrote:
> On 4/24/07, Adam J Richardson <fatman.uk at gmail.com> wrote:
>> Hi all,
>> Firstly, apologies for the length of this one.
>> I'm using distcc and ccache on FreeBSD. Doxygen installed fine with
>> distcc, so there can't be much wrong with it, but I'm getting a
>> recursion error quite a long way into installing darcs.
> Can you try compling a smaller example than darcs?

Yes, like I said, doxygen compiled and installed just fine. The ultimate 
small example works too:

fatman at monju-bosatsu> cat ./test.c
int main(int i, char** c) {
    return 0;

fatman at monju-bosatsu> cc -c test.c -o test
distcc[974] (dcc_trace_version) distcc 2.18.3 i386-portbld-freebsd6.2; 
built Apr 21 2007 16:10:30
distcc[974] (dcc_recursion_safeguard) safeguard level=0
distcc[974] (main) compiler name is "distcc"
distcc[974] (dcc_scan_args) scanning arguments: /usr/bin/cc -c test.c -o 
distcc[974] (dcc_scan_args) found input file "test.c"
distcc[974] (dcc_scan_args) found object/output file "test"
distcc[974] compile from test.c to test
distcc[974] (dcc_get_hostlist) read hosts from environment
distcc[974] (dcc_parse_hosts) found tcp token ",lzo"
distcc[974] (dcc_parse_options) got LZO option
distcc[974] (dcc_parse_hosts) found tcp token ""
distcc[974] (dcc_lock_host) got cpu lock on,lzo slot 0 as fd4
distcc[974] (dcc_strip_dasho) result: /usr/bin/cc -c test.c
distcc[974] (dcc_spawn_child) forking to execute: /usr/bin/cc -E test.c
distcc[974] (dcc_spawn_child) child started as pid976
distcc[974] (dcc_strip_local_args) result: /usr/bin/cc -c test.c -o test
distcc[974] exec on,lzo: /usr/bin/cc -c test.c -o test
distcc[974] (dcc_note_state) note state 2, file "test.c", host ""
distcc[976] (dcc_increment_safeguard) setting safeguard: _DISTCC_SAFEGUARD=1
distcc[974] (dcc_connect_by_addr) started connecting to
distcc[974] (dcc_select_for_write) select for write on fd5
distcc[974] (dcc_note_state) note state 4, file "(NULL)", host "(NULL)"
distcc[974] (dcc_x_token_int) send DIST00000002
distcc[974] (dcc_x_token_int) send ARGC00000005
distcc[974] (dcc_x_token_int) send ARGV0000000b
distcc[974] (dcc_x_token_int) send ARGV00000002
distcc[974] (dcc_x_token_int) send ARGV00000006
distcc[974] (dcc_x_token_int) send ARGV00000002
distcc[974] (dcc_x_token_int) send ARGV00000004
distcc[974] (dcc_note_state) note state 3, file "(NULL)", host "(NULL)"
distcc[974] (dcc_collect_child) cpp child 976 terminated with status 0
distcc[974] (dcc_collect_child) cpp times: user 0.019176s, system 
0.009588s, 211 minflt, 41 majflt
distcc[974] cpp test.c on localhost completed ok
distcc[974] (dcc_x_file) send 107 byte file /tmp/distcc_719014bf.i with 
token DOTI
distcc[974] (dcc_compress_lzo1x_alloc) compressed 107 bytes to 96 bytes: 89%
distcc[974] (dcc_x_token_int) send DOTI00000060
distcc[974] (dcc_compile_remote) client finished sending request to server
distcc[974] (dcc_note_state) note state 5, file "(NULL)", host ""
distcc[974] (dcc_select_for_read) select for read on fd5 for 300s
distcc[974] (dcc_r_token_int) got DONE00000002
distcc[974] (dcc_r_result_header) got response header
distcc[974] (dcc_note_state) note state 6, file "(NULL)", host "(NULL)"
distcc[974] (dcc_select_for_read) select for read on fd5 for 300s
distcc[974] (dcc_r_token_int) got STAT00000000
distcc[974] (dcc_r_token_int) got SERR00000000
distcc[974] (dcc_r_token_int) got SOUT00000000
distcc[974] (dcc_r_token_int) got DOTO00000155
distcc[974] (dcc_r_bulk_lzo1x) decompressed 341 bytes to 625 bytes: 54%
distcc[974] (dcc_r_file) received 341 bytes to file test
distcc[974] (dcc_r_file_timed) 341 bytes received in 0.000405s, rate 822kB/s
distcc[974] 107 bytes from test.c compiled on in 1.2609s, rate 
distcc[974] (dcc_unlock) release lock fd4
distcc[974] compile test.c on,lzo completed ok
distcc[974] elapsed compilation time 1.281076s
distcc[974] (dcc_exit) exit: code 0; self: 0.000000 user 0.014639 sys; 
children: 0.019980 user 0.009990 sys
distcc[974] (dcc_cleanup_tempfiles) deleted 1 temporary files

Actually I have CC set to ccache and CCACHE_PREFIX is 
/usr/local/bin/distcc. Ports like darcs install without problems using 
just ccache. It's only when I actually introduce distcc into the 
compiler chain that problems start happening.

fatman at monju-bosatsu> which gcc

Adam J Richardson

More information about the distcc mailing list