[distcc] Re: Re: distcc and cl.exe (MS Visual compiler)

Perochon Sebastien Sebastien.Perochon at mmarelli-se.com
Tue Jun 15 16:52:17 GMT 2004

  Hi Frederic,

Since you speak about cygwin, I have maybe an (ugly) solution...
You must specify the windows path of a tmp directory (here, I use c:/temp).
You are not the first person having this problem... maybe someone could work
on a patch (I don't know distcc code as well as it requires to do it...).
You need to modify the source of the file tempfile.c and then recompile
distcc as following:

The function I have modified:

static int dcc_get_tmp_top(const char **p_ret)
  *p_ret = "c:/temp";
  return 0;

The old one (distcc-2.12):

static int dcc_get_tmp_top(const char **p_ret)
    const char *d;

    d = getenv("TMPDIR");

    if (!d || d[0] == '\0') {
        *p_ret = "/tmp";
        return 0;
    } else {
        *p_ret = d;
        return 0;


-----Message d'origine-----
De: Frederic Paolucci [mailto:fpaolucci at call.fr]
Date: mardi 15 juin 2004 18:28
À: distcc at lists.samba.org
Objet: [distcc] Re: Re: distcc and cl.exe (MS Visual compiler)


In my previous test, I only set variables on the client side... Then I also
set these variables on the server side, but unfortunately it did not changed

When the error below occur...
    Catastrophic error: could not open source file "\tmp\distccd_ce7f0d4c.i"
    1 catastrophic error detected in the compilation of
    Compilation terminated.
    tmcc.exe: tmcfe command failed
the file \tmp\distccd_f8c32009.i exists on the server (it seems to contain
the preprocessed version of file.c).
I have 4 files in the server /tmp folder:
* distcc_60f32009.stderr that contains the error message displayed above
(catastrophie error)
* distcc_68032009.stdout (size = 0)
* distccd_80132009.o (size = 0)
* distccd_f8c32009.i (preprocessed version of file.c)
I don't have any distcc.log, neither distcc.log, neither distccd.log on the
server ; is there any log file for the server?

I've done many tests and noticed that when TMPDIR was set to /tmp/, I had
some traces with \tmp\\xxx.
Then I set TMPDIR to /tmp and now traces look like \tmp\xxx

This boring / and \ conversion is because I use cygwin (I guess it converts
/ to \ to access Windows filesystem). The problem is that cygwin is unable
to handle \ character (if I write "ls /tmp" it works, but if I write "ls
\tmp" it fails) and I'm afraid that's the reason of my problem... In this
case, do you know if anyone succeeded to make distcc run under cygwin?

Frédéric Paolucci

distcc mailing list            http://distcc.samba.org/
To unsubscribe or change options: 

More information about the distcc mailing list