[distcc] problem with the cygwin client

Ariel Manzur listas at anime.com.ar
Wed Oct 23 06:11:01 GMT 2002


Hi..

I'm using distcc (v0.12) on a number of win32 machines with cygwin, and I'm 
having a problem with the client on one of them (the server on that same 
machine works fine). This is what I get on the client log file when I run

distcc c++ -mno-cygwin -DSOMETHING -c -o hello.o hello.cpp

I have 'DISTCC_VERBOSE' set to 1, and DISTCC_HOSTS is '192.168.50.14':

--
distcc[1992] (dcc_scan_args) scanning arguments: c++ -mno-cygwin 
-DSOMETHING -c -o hello.o hello.cpp
distcc[1992] (dcc_scan_args) found object file "hello.o"
distcc[1992] (dcc_scan_args) found input file "hello.cpp"
distcc[1992] compile from hello.cpp to hello.o
distcc[1992] (dcc_parse_hosts) found tcp token "192.168.50.14"
distcc[1992] (dcc_try_lock_host) locked 
/tmp/distcc_000001f4/lock_192.168.50.14_0000000
distcc[1992] (dcc_pick_buildhost) building on 192.168.50.14
distcc[1992] (dcc_set_output) changed output from "hello.o" to 
"/tmp/distcc_000001f4/cppout_0000001992.i"
distcc[1992] (dcc_set_output) command after: c++ -mno-cygwin -DSOMETHING -E 
-o /tmp/distcc_000001f4/cppout_0000001992.i hello.cpp
distcc[1992] (dcc_spawn_child) forking to execute c++ -mno-cygwin 
-DSOMETHING -E -o /tmp/distcc_000001f4/cppout_0000001992.i hello.cpp
distcc[2040] (dcc_try_lock_host) locked 
/tmp/distcc_000001f4/lock_localhost_0000000
distcc[2040] (dcc_lock_local) got lock on localhost
distcc[1992] (dcc_spawn_child) child started as pid2040
distcc[1992] (dcc_strip_local_args) result: c++ -mno-cygwin -c -o hello.o 
hello.cpp
distcc[1992] exec on 192.168.50.14: c++ -mno-cygwin -c -o hello.o hello.cpp
distcc[1992] (dcc_open_socket_out) client got connection to 192.168.50.14 
port 4200 on fd5
distcc[1992] (dcc_collect_child) child 2040 terminated with status 0
distcc[1992] (dcc_report_rusage) cpp resource usage: 0.050000s user, 
0.020000s system
distcc[1992] cpp on willow completed ok
distcc[1992] (dcc_x_file) send 25168 byte file 
/tmp/distcc_000001f4/cppout_0000001992.i with token DOTI
distcc[1992] (dcc_send_job) client finished sending request to server
--

and it never comes back to the prompt. I don't get the 'permission denied' 
error getting the lock on /tmp that I get on the rest of the cygwin machines.
This is what I get on the server log:

--
distccd[2236] distccd (version 0.12, built Oct 22 2002 18:59:15) listening 
on port 4200
distccd[2368] (dcc_parent_loop) waiting to accept connection
distccd[2368] (dcc_serve_connection) up to 1 children
distccd[2368] (dcc_parent_loop) waiting to accept connection
distccd[2396] (dcc_log_clientname) connection from willow (192.168.50.15)
distccd[2396] (dcc_accept_job) got arguments: c++ -mno-cygwin -c -o hello.o 
hello.cpp
distccd[2396] compile from hello.cpp to hello.o
distccd[2396] input file hello.cpp, output file hello.o
distccd[2396] (dcc_server_compile) input file is 25168 bytes
distccd[2396] (dcc_mkfifo) Warning: failed to make fifo 
/tmp/distcc_000001f4/server_0000002396.ii: Function not implemented
distccd[2396] (dcc_server_compile) continuing without fifo
--

and nothing else happens until I break the compilation on the client with 
^C. Looking at the code, I found that the server is sleeping on line 210 of 
io.c, while trying to read the very last chunk of data from the fd (when 
n<(sizeof buf); I tested it with bigger files).
This is the output from --version:

$ distcc --version
distcc 0.12 i686-pc-cygwin (protocol 1)
   built Oct 22 2002 18:59:13

Any ideas? is there any other information I could provide? (sorry for the 
long mail.. :)

Thanks.. bye.

Ariel.





More information about the distcc mailing list