[distcc] masquerade / recursion problem

Kor de Jong k.dejong at geog.uu.nl
Wed Mar 26 11:52:20 GMT 2003


Hi all,

Similar to a previous poster, I can't get this masquerade thing going. I
have created a simple source file, a masquerade directory with the
symlinks as described in the manual, and a shell script with distcc
settings and the actual call to the compiler (see below). Compiling the
source file results in the error message below. It seems to me that
contrary to the description in the manual the masquerade directory
doesn't get trimmed of the PATH variable before distcc calls the real
compiler. If I create the symlinks in the current directory and don't
expand the PATH variable with the masquerade directory all goes well.

Does anyone of you know whether I am making an error or if this is a
bug in the distcc software? A workaround would very much be appreciated.

Thanks in advance,
Kor de Jong

$ cat main.cc
#include <iostream>

int main(int argc, char** argv)
{
   std::cout << "Hello World!" << std::endl;
   return 0;
}

$ ll /usr/local/distcc
total 0
lrwxrwxrwx    1 root     root           21 Mar 25 14:15 c++ -> 
/usr/local/bin/distcc*
lrwxrwxrwx    1 root     root           21 Mar 25 14:15 cc -> 
/usr/local/bin/distcc*
lrwxrwxrwx    1 root     root           21 Mar 25 14:15 g++ -> 
/usr/local/bin/distcc*
lrwxrwxrwx    1 root     root           21 Mar 25 14:15 gcc -> 
/usr/local/bin/distcc*

$ distcc --version
distcc 1.2.3 i686-pc-linux-gnu (protocol 1) (default port 3632)
   built Mar 21 2003 10:52:07
distcc[17638] (dcc_cleanup_tempfiles) deleted 0 temporary files

$ cat go
export DISTCC_VERBOSE=1
export DISTCC_HOSTS=localhost
PATH=/usr/local/distcc:/usr/local/bin:/usr/bin
gcc -c main.cc

$ sh go
distcc[17549] (dcc_scan_args) scanning arguments: cc -c main.cc
distcc[17549] (dcc_scan_args) found input file "main.cc"
distcc[17549] (dcc_scan_args) no visible output file, going to add "-o 
main.o" at end
distcc[17549] compile from main.cc to main.o
distcc[17549] (dcc_lock_host) got cpu lock on localhost slot 0
distcc[17549] exec on localhost: cc -c main.cc -o main.o
distcc[17549] (dcc_spawn_child) forking to execute cc -c main.cc -o main.o
distcc[17549] (dcc_spawn_child) child started as pid17550
distcc[17550] (dcc_recursion_safeguard) CRITICAL! distcc seems to have 
invoked itself recursively!
distcc[17550] (dcc_exit) exit: code 111; self: 0.0000 user 0.0000 sys; 
children: 0.0000 user 0.0000 sys
distcc[17550] (dcc_cleanup_tempfiles) deleted 0 temporary files
distcc[17549] (dcc_collect_child) child 17550 terminated with status 0x6f00
distcc[17549] (dcc_report_rusage) cc resource usage: 0.000000s user, 
0.000000s system
distcc[17549] (dcc_critique_status) Notice: compile on 
massive.geog.uu.nl failed with exit code 111
distcc[17549] (dcc_exit) exit: code 111; self: 0.0000 user 0.10000 sys; 
children: 0.0000 user 0.0000 sys
distcc[17549] (dcc_cleanup_tempfiles) deleted 0 temporary files




More information about the distcc mailing list