[distcc] Recursion during DARCS compilation - FreeBSD

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


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.

I can't figure out why it hasn't recursed until one build is complete 
and the next is half done. It seems to be happening somewhere in the 
dependencies of ghc, the Glasgow Haskell Compiler. Could a broken ghc be 
making distcc recurse? [I wish David Roundy would rewrite DARCS; it's no 
fun having a monster like GHC in the ports database. :/ ]

Here's the last few lines of my build.

distcc[99900] (dcc_note_state) note state 2, file 
"tal-reent.tmp.monju-bosatsu.boring.dnsalias.com.99896.i", host "10.22.8.7"
distcc[99900] (dcc_connect_by_addr) started connecting to 10.22.8.7:3632
distcc[99900] (dcc_select_for_write) select for write on fd5
distcc[99900] (dcc_note_state) note state 4, file "(NULL)", host "(NULL)"
distcc[99900] (dcc_x_token_int) send DIST00000002
distcc[99900] (dcc_x_token_int) send ARGC00000009
distcc[99900] (dcc_x_token_int) send ARGV0000000b
distcc[99900] (dcc_x_token_int) send ARGV00000003
distcc[99900] (dcc_x_token_int) send ARGV00000014
distcc[99900] (dcc_x_token_int) send ARGV00000005
distcc[99900] (dcc_x_token_int) send ARGV00000002
distcc[99900] (dcc_x_token_int) send ARGV00000005
distcc[99900] (dcc_x_token_int) send ARGV00000002
distcc[99900] (dcc_x_token_int) send ARGV00000048
distcc[99900] (dcc_x_token_int) send ARGV0000004d
distcc[99900] (dcc_x_file) send 47241 byte file 
/uetc/ccache/data/tal-reent.tmp.monju-bosatsu.boring.dnsalias.com.99896.i 
with token DOTI
distcc[99900] (dcc_compress_lzo1x_alloc) compressed 47241 bytes to 13516 
bytes: 28%
distcc[99900] (dcc_x_token_int) send DOTI000034cc
distcc[99900] (dcc_compile_remote) client finished sending request to server
distcc[99900] (dcc_note_state) note state 5, file "(NULL)", host "10.22.8.7"
distcc[99900] (dcc_select_for_read) select for read on fd5 for 300s
distcc[99900] (dcc_r_token_int) got DONE00000002
distcc[99900] (dcc_r_result_header) got response header
distcc[99900] (dcc_note_state) note state 6, file "(NULL)", host "(NULL)"
distcc[99900] (dcc_select_for_read) select for read on fd5 for 300s
distcc[99900] (dcc_r_token_int) got STAT00000000
distcc[99900] (dcc_r_token_int) got SERR00000000
distcc[99900] (dcc_r_token_int) got SOUT00000000
distcc[99900] (dcc_r_token_int) got DOTO00000242
distcc[99900] (dcc_r_bulk_lzo1x) decompressed 578 bytes to 964 bytes: 59%
distcc[99900] (dcc_r_file) received 578 bytes to file 
/uetc/ccache/data/tmp.hash.monju-bosatsu.boring.dnsalias.com.99896.o
distcc[99900] (dcc_r_file_timed) 578 bytes received in 0.010687s, rate 
53kB/s
distcc[99900] 47241 bytes from 
/uetc/ccache/data/tal-reent.tmp.monju-bosatsu.boring.dnsalias.com.99896.i 
compiled on 10.22.8.7 in 0.3364s, rate 137kB/s
distcc[99900] (dcc_unlock) release lock fd4
distcc[99900] compile 
/uetc/ccache/data/tal-reent.tmp.monju-bosatsu.boring.dnsalias.com.99896.i 
on 10.22.8.7/8,lzo completed ok
distcc[99900] elapsed compilation time 0.338627s
distcc[99900] (dcc_exit) exit: code 0; self: 0.000000 user 0.012345 sys; 
children: 0.000000 user 0.000000 sys
distcc[99900] (dcc_cleanup_tempfiles) deleted 0 temporary files
  cc -DHAVE_CONFIG_H -I. -I. -I. -D__GMP_WITHIN_GMP -O2 
-fno-strict-aliasing -pipe -c tal-reent.c -o tal-reent.o >/dev/null 2>&1
/bin/sh /usr/local/bin/libtool --mode=link cc  -O2 -fno-strict-aliasing 
-pipe    -o libgmp.la -rpath /usr/local/lib    -version-info 7:1:4 
assert.lo compat.lo errno.lo  extract-dbl.lo invalid.lo memory.lo 
mpz/tdiv_ui.lo mpz/tdiv_q.lo mpz/tdiv_q_2exp.lo
<snip loooooong lines of .lo files>
scanf/sscanf.lo scanf/sscanffuns.lo      scanf/vfscanf.lo 
scanf/vscanf.lo scanf/vsscanf.lo
distcc gcc -shared  .libs/assert.o .libs/compat.o .libs/errno.o 
.libs/extract-dbl.o .libs/invalid.o .libs/memory.o .libs/mp_bpl.o 
.libs/mp_clz_tab.o .libs/mp_dv_tab.o .libs/mp_minv_tab.o 
.libs/mp_get_fns.o .libs/mp_set_fns.o .libs/rand.o .libs/randclr.o 
.libs/randdef.o .libs/randiset.o .libs/randlc2s.o .libs/randlc2x.o 
.libs/randmt.o .libs/randmts.o .libs/rands.o .libs/randsd.o 
.libs/randsdui.o .libs/randbui.o .libs/randmui.o .libs/version.o 
.libs/tal-reent.o mpf/.libs/init.o mpf/.libs/init2.o mpf/.libs/set.o 
mpf/.libs/set_ui.o mpf/.libs/set_si.o mpf/.libs/set_str.o
<snip loooooong lines of .o files>
scanf/.libs/vfscanf.o scanf/.libs/vscanf.o scanf/.libs/vsscanf.o 
-Wl,-soname -Wl,libgmp.so.7 -o .libs/libgmp.so.7
distcc[2211] (dcc_trace_version) distcc 2.18.3 i386-portbld-freebsd6.2; 
built Apr 21 2007 16:10:30
distcc[2211] (dcc_recursion_safeguard) safeguard level=0
distcc[2211] (main) compiler name is "distcc"
distcc[2211] (dcc_scan_args) scanning arguments: gcc -shared 
.libs/assert.o .libs/compat.o .libs/errno.o .libs/extract-dbl.o 
.libs/invalid.o .libs/memory.o .libs/mp_bpl.o .libs/mp_clz_tab.o 
.libs/mp_dv_tab.o .libs/mp_minv_tab.o .libs/mp_get_fns.o 
.libs/mp_set_fns.o .libs/rand.o .libs/randclr.o .libs/randdef.o 
.libs/randiset.o .libs/randlc2s.o .libs/randlc2x.o .libs/randmt.o 
.libs/randmts.o .libs/rands.o .libs/randsd.o .libs/randsdui.o 
.libs/randbui.o .libs/randmui.o .libs/version.o .libs/tal-reent.o 
mpf/.libs/init.o mpf/.libs/init2.o mpf/.libs/set.o mpf/.libs/set_ui.o 
mpf/.libs/set_si.o mpf/.libs/set_str.o mpf/.libs/set_d.o
<snip loooooong lines of .o files>
mpz/.libs/rootrem.o mpz/.libs/rrandomb.o mpz/.libs/scan0.o 
mpz/.libs/scan1.o mpz/.libs/set.o mpz/.libs/set_d.o mpz/.libs/set_f.o 
mpz/.libs/set_q.o mpz/.li
distcc[2211] (dcc_scan_args) found object/output file ".libs/assert.o"
distcc[2211] (dcc_scan_args) found object/output file ".libs/compat.o"
distcc[2211] (dcc_scan_args) called for link?  i give up
distcc[2211] (dcc_lock_host) got cpu lock on localhost slot 0 as fd3
distcc[2211] exec on localhost: gcc -shared .libs/assert.o 
.libs/compat.o .libs/errno.o .libs/extract-dbl.o .libs/invalid.o 
.libs/memory.o .libs/mp_bpl.o .libs/mp_clz_tab.o .libs/mp_dv_tab.o 
.libs/mp_minv_tab.o .libs/mp_get_fns.o .libs/mp_set_fns.o .libs/rand.o 
.libs/randclr.o .libs/randdef.o .libs/randiset.o .libs/randlc2s.o 
.libs/randlc2x.o .libs/randmt.o .libs/randmts.o .libs/rands.o 
.libs/randsd.o .libs/randsdui.o .libs/randbui.o .libs/randmui.o 
.libs/version.o .libs/tal-reent.o mpf/.libs/init.o mpf/.libs/init2.o 
mpf/.libs/set.o mpf/.libs/set_ui.o mpf/.libs/set_si.o
<snip loooooong lines of .o files>
mpz/.libs/scan0.o mpz/.libs/scan1.o mpz/.libs/set.o mpz/.libs/set_d.o 
mpz/.libs/set_f.o mpz/.libs/set_q.o mpz/.libs/set_si.o mpz/.
distcc[2211] (dcc_note_state) note state 5, file "(NULL)", host "localhost"
distcc[2211] (dcc_spawn_child) forking to execute: gcc -shared 
.libs/assert.o .libs/compat.o .libs/errno.o .libs/extract-dbl.o 
.libs/invalid.o .libs/memory.o .libs/mp_bpl.o .libs/mp_clz_tab.o 
.libs/mp_dv_tab.o .libs/mp_minv_tab.o .libs/mp_get_fns.o 
.libs/mp_set_fns.o .libs/rand.o .libs/randclr.o .libs/randdef.o 
.libs/randiset.o .libs/randlc2s.o .libs/randlc2x.o .libs/randmt.o 
.libs/randmts.o .libs/rands.o .libs/randsd.o .libs/randsdui.o 
.libs/randbui.o .libs/randmui.o .libs/version.o .libs/tal-reent.o 
mpf/.libs/init.o mpf/.libs/init2.o mpf/.libs/set.o mpf/.libs/set_ui.o 
mpf/.libs/set_si.o mpf/.libs/set_str.o mpf/.libs/set_d.o
<snip loooooong lines of .o files>
mpz/.libs/scan1.o mpz/.libs/set.o mpz/.libs/set_d.o mpz/.libs/set_f.o 
mpz/.libs/set_q.o mpz/.
distcc[2211] (dcc_spawn_child) child started as pid2212
distcc[2212] (dcc_increment_safeguard) setting safeguard: 
_DISTCC_SAFEGUARD=1
distcc[2212] (dcc_trace_version) distcc 2.18.3 i386-portbld-freebsd6.2; 
built Apr 21 2007 16:10:30
distcc[2212] (dcc_recursion_safeguard) safeguard: 1
distcc[2212] (dcc_recursion_safeguard) safeguard level=1
distcc[2212] (main) compiler name is "distcc"
distcc[2212] (main) CRITICAL! distcc seems to have invoked itself 
recursively!
distcc[2212] (dcc_exit) exit: code 111; self: 0.000000 user 0.009958 
sys; children: 0.000000 user 0.000000 sys
distcc[2212] (dcc_cleanup_tempfiles) deleted 0 temporary files
distcc[2211] (dcc_collect_child) cc child 2212 terminated with status 0x6f00
distcc[2211] (dcc_collect_child) cc times: user 0.000000s, system 
0.010483s, 171 minflt, 0 majflt
distcc[2211] ERROR: compile (null) on localhost failed with exit code 111
distcc[2211] elapsed compilation time 0.080490s
distcc[2211] (dcc_exit) exit: code 111; self: 0.000000 user 0.008418 
sys; children: 0.000000 user 0.010483 sys
distcc[2211] (dcc_cleanup_tempfiles) deleted 0 temporary files
*** Error code 111

Stop in /usr/ports/math/libgmp4/work/gmp-4.2.1.
*** Error code 1

Stop in /usr/ports/math/libgmp4/work/gmp-4.2.1.
*** Error code 1

Stop in /usr/ports/math/libgmp4/work/gmp-4.2.1.
*** Error code 1

Stop in /usr/ports/math/libgmp4.
*** Error code 1

Stop in /usr/ports/lang/ghc.
*** Error code 1

Stop in /usr/ports/devel/darcs.
*** Error code 1

Stop in /usr/ports/devel/darcs.
** Command failed [exit code 1]: /usr/bin/script -qa 
/tmp/portinstall.53263.0 env make
** Fix the problem and try again.
** Listing the failed packages (*:skipped / !:failed)
         ! devel/darcs   (unknown build error)
--->  Packages processed: 0 done, 0 ignored, 0 skipped and 1 failed

Hope someone can help,
Adam J Richardson


More information about the distcc mailing list