[distcc] Cygwin and /tmp problem

Harold L Hunt II huntharo at msu.edu
Thu Jan 15 17:15:27 GMT 2004


Now that I think about it some more, the problem is really this:

1) distcc is a Cygwin app and it expects POSIX style paths.

2) distcc also *generates* POSIX style paths to be passed to the compiler.

3) Your 'ccsh' compiler is a Win32 app that expects DOS style paths.

4) distcc parses the rest of the command line and calls the compiler in 
question to do various operations, passing the compiler in question a 
POSIX style path.

5) Your 'ccsh' compiler does not understand this path, so it borks.


If we can insert a step between 4 and 5, say 4.5, then we might be able 
to fix this up without making fragile changes to distcc.

I'm not sure about how distcc parses the command line for the compiler 
name and so forth, but you might be able to do a little bit of magic by 
creating a shell script (e.g. ccsh.sh) that converts any POSIX paths to 
DOS paths (I believe there are utilities in Cygwin that do this) then 
calls the ccsh compiler with all specified arguments.  I think you would 
have to have the same shell script on all Win32 computers used in the 
distcc build environment.  You could, of course, start this off by 
getting it working on one machine.

A more generic solution, if the above works, would be to create a 
generic compiler wrapper script that could be distributed with the 
distcc package for Cygwin.  The script would parse all args passed to 
the compiler and convert them to DOS style paths.

Could some distcc developers provide their thoughts on this?

Harold



More information about the distcc mailing list