[distcc] Problem with distcc doing remote compiles locally

Martin Pool mbp at sourcefrog.net
Mon Mar 6 00:27:48 GMT 2006


On 2006-03-04 Sat, at 2:07 AM, Victor Norman wrote:

> Martin,
>
> I'm attaching a file which is the truss -deaf -rall -wall -o  
> truss.output  file from running distcc, where I've set  
> DISTCC_VERBOSE 1 and DISTCC_HOSTS=raspberry, where raspberry is the  
> machine where I'm running the compiler.  Note: this is a Solaris  
> 2.8 machine.
>
> If you search in the file for "connect(5", you'll see where the  
> problems seem to begin.  Does distcc try to use shared memory when  
> the compile is local?  I wonder if this doesn't work on Solaris?

No, it doesn't use shared memory.  The problem is that we're  
incorrectly reading errno without checking that the connect() call  
actually failed.  You can see in the truss output (thanks for that)  
that libc has also tried to open some other libraries, which is where  
the confusing ENOENT error comes from.

This bug is not present in the current development source; maybe you  
could upgrade to that and test?  I should make a new release.

-- 
Martin Pool





More information about the distcc mailing list