[distcc] Re: Re: distcc and cl.exe (MS Visual compiler)

Martin Pool mbp at sourcefrog.net
Tue Jun 15 15:35:48 GMT 2004

On 15 Jun 2004, Frederic Paolucci <fpaolucci at call.fr> wrote:
> Hello,
> As you suggested, I set TMPDIR=/tmp/. In addition I set DISTCC_VERBOSE to 1
> and DISTCC_SAVE_TEMPS to 1. I also set DISTCC_HOSTS to br044test to force
> distcc to compile on a remote computer (no localhost).
> Then I created a simple file.c file ; To compile it I wrote:
>    distcc tmcc.exe -c file.c -o file.o
> Then I got the (now usual) error message:
>    Catastrophic error: could not open source file "\tmp\distccd_ce7f0d4c.i"
>    1 catastrophic error detected in the compilation of
> "\tmp\distccd_ce7f0d4c.i".
>    Compilation terminated.
>    tmcc.exe: tmcfe command failed

So this is the big problem: I wonder why couldn't it open that?

Did you set TMPDIR on the machine running the server?  If so, why is
it seeing \tmp not /tmp?  Does the \tmp\distccd_ce7f0d4c.i file exist
on the server?  Try running with DISTCC_SAVE_TEMPS=1: do the contents
look reasonable?

> A file distcc_22e80d48.i was generated in /tmp that contains the
> preprocessed version of file.c.

Thanks for the trace; that helps.  A trace from the server might help

> When looking a distcc.log, I noticed some weird things:
> * It says send ARGC00000005 (guess it means argc=5), but I see ARGV00000008
> (argv[8]). Is it normal to have more parameters than argc?

This is ok.  8 is the length of the second argument.  (See
protocol-1.txt if you care.)

> * That are errors about file "(NULL)", host "(NULL)". Its looks like if
> distcc was trying to compile a NULL file on a NULL host after file.c...

No, this is OK, just a confusing trace message.

> * I see "cpp file.c on localhost completed ok" and "ERROR: compile file.c on
> br044test failed" so it seems that distcc try to compile file.c two times :
> one time on localhost and another one on br044test...

No, the first one was just preprocessing (cpp).

> Thanks,
> Frederic Paolucci
> ---------------
> distcc[1688] (dcc_trace_version) distcc 2.14 i686-pc-cygwin; built May  2
> 2004 12:50:17
> distcc[1688] (dcc_recursion_safeguard) safeguard level=0
> distcc[1688] (main) compiler name is "distcc"
> distcc[1688] (dcc_scan_args) scanning arguments: tmcc.exe -c file.c -o
> file.o
> distcc[1688] (dcc_scan_args) found input file "file.c"
> distcc[1688] (dcc_scan_args) found object/output file "file.o"
> distcc[1688] compile from file.c to file.o
> distcc[1688] (dcc_get_hostlist) read hosts from environment
> distcc[1688] (dcc_parse_hosts) found tcp token "br044test"
> distcc[1688] (dcc_lock_host) got cpu lock on br044test slot 0 as fd4
> distcc[1688] (dcc_strip_dasho) result: tmcc.exe -c file.c
> distcc[1688] (dcc_spawn_child) forking to execute: tmcc.exe -E file.c
> distcc[1688] (dcc_spawn_child) child started as pid2576
> distcc[1688] (dcc_strip_local_args) result: tmcc.exe -c file.c -o file.o
> distcc[1688] exec on br044test: tmcc.exe -c file.c -o file.o
> distcc[2576] (dcc_increment_safeguard) setting safeguard:
> distcc[1688] (dcc_note_state) note state 2, file "file.c", host "br044test"
> distcc[1688] (dcc_connect_timed) nonblocking connect to
> distcc[1688] (dcc_select_for_write) select for write on fd5
> distcc[1688] (dcc_connect_by_addr) client got connection to br044test port
> 3632 on fd5
> distcc[1688] (dcc_x_token_int) send DIST00000001
> distcc[1688] (dcc_x_token_int) send ARGC00000005
> distcc[1688] (dcc_x_token_int) send ARGV00000008
> distcc[1688] (dcc_x_token_int) send ARGV00000002
> distcc[1688] (dcc_x_token_int) send ARGV00000006
> distcc[1688] (dcc_x_token_int) send ARGV00000002
> distcc[1688] (dcc_x_token_int) send ARGV00000006
> distcc[1688] (dcc_note_state) note state 3, file "(NULL)", host "(NULL)"
> distcc[1688] (dcc_collect_child) cpp child 2576 terminated with status 0
> distcc[1688] (dcc_collect_child) cpp times: user 0.015000s, system
> 0.015000s, 0 minflt, 433 majflt
> distcc[1688] cpp file.c on localhost completed ok
> distcc[1688] (dcc_note_state) note state 4, file "(NULL)", host "(NULL)"
> distcc[1688] (dcc_x_file) send 55 byte file /tmp/distcc_22e80d48.i with
> token DOTI
> distcc[1688] (dcc_x_token_int) send DOTI00000037
> distcc[1688] (dcc_send_job) client finished sending request to server
> distcc[1688] (dcc_note_state) note state 5, file "(NULL)", host "br044test"
> distcc[1688] (dcc_r_token_int) got DONE00000001
> distcc[1688] (dcc_r_result_header) got response header
> distcc[1688] (dcc_note_state) note state 6, file "(NULL)", host "(NULL)"
> distcc[1688] (dcc_r_token_int) got STAT00000100
> distcc[1688] (dcc_r_token_int) got SERR000000d5
> distcc[1688] (dcc_r_token_int) got SOUT00000000
> distcc[1688] (dcc_r_token_int) got DOTO00000000
> distcc[1688] (dcc_unlock) release lock fd4
> distcc[1688] ERROR: compile file.c on br044test failed
> distcc[1688] elapsed compilation time 0.678000s
> distcc[1688] (dcc_exit) exit: code 1; self: 0.015000 user 0.140000 sys;
> children: 0.015000 user 0.015000 sys
> distcc[1688] (dcc_cleanup_tempfiles) skip cleanup of /tmp/distcc_22e80d48.i
> distcc[1688] (dcc_cleanup_tempfiles) deleted 0 temporary files
> __ 
> distcc mailing list            http://distcc.samba.org/
> To unsubscribe or change options: 
> http://lists.samba.org/mailman/listinfo/distcc
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
Url : http://lists.samba.org/archive/distcc/attachments/20040616/40dd6e40/attachment.bin

More information about the distcc mailing list