[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