Antwort: Re: [distcc] sanity check for TMPDIR

Heiko_Elger at Heiko_Elger at
Wed Jul 23 05:00:01 GMT 2003

Hi Martin,
just resend to distcc at!

best regards


Hi Martin,

mixed case came from CYGWIN.
Some programs cannot work with unix (cygwin) pathes like (/cygdrive/c/tmp) - I
don't no why, but
our cross compiler gcc (from WRS) has this problem - the compiler although
writes his tmp-files into the
directory pointed by TMPDIR environment - but the compiler dies cause it cannot
write to /cygdrive/c/tmp !!

Perhaps cause of these known problems all cygwin programs can handle different
kinds of pathes:
unix pathes, cygwin pathes and mixed case pathes.

After a standard cygwin installation to c:\cygwin, this directory (c:\cygwin) is
the root within cygwin - so per example the windows directory "c:\cygwin\etc" is
Every windows root directory of a drive "c:, d:, e:, ..." can be referenced like
the following:

c:\ --> /cygdrive/c  (in example)
so the windows directory "c:\tmp" is in cygwin "/cygdrive/c/tmp"

There is another (more windows like) notation - replace every backslash of the
windows notation and you will get the mixed case notation - so

"c:\tmp" is in cygwin "/cygdrive/c/tmp" or "c:/tmp"

Of course you can have mounts or links ....

I hope you understand my explanation!

Mit freundlichen Gruessen
best regards

   Heiko Elger


Heiko Elger
- Softwareentwicklung - / - Research and Development -
D-72290 Lossburg
Tel.: +49 (0) 7446 33-3659
Fax.: +49 (0) 7446 33-3365
mailto:heiko_elgerNOSPAM at

Bitte entfernen Sie "NOSPAM" von der  Email-Adresse
Please remove "NOSPAM" from the email address

                      Martin Pool                                                                                                                            
                      <mbp at sourcefrog.n        An:       Heiko_Elger at                                                                              
                      et>                      Kopie:    distcc at, Frank_Ehlert at                                                     
                                               Thema:    Re: [distcc] sanity check for TMPDIR                                                                
                      22.07.2003 14:32                                                                                                                       

On 22 Jul 2003, Heiko_Elger at wrote:

> some gcc compiler, especially WindRivver System GNU compiler with CYGWIN,
> work with the real unix path TMPDIR - but it really works with mixed case
> mixed case path on cygwin is like the following:
> unix path                 /tmp
> cygwin path             /tmp or /cygdrive/c/tmp
> cygwin mixed path   c:/tmp
> Cause of sanity check it's not possible to export a cygwin mixed case path.

Where does mixed case come into it?

What's wrong with using /cygdrive/c/tmp?

> Perhaps you can replace the sanity check in dcc_get_tmp_top() in file
> src/tempfile.c
> with the following - using opendir() call for existeny check:
> -------------------- snip snip ----------------------
> static const char *dcc_get_tmp_top(void)
> {
>     const char *d;
>     DIR *handle;
>     d = getenv("TMPDIR");
>     handle=opendir(d);

Is there any particular reason to use opendir() rather than stat()?

Best regards,

More information about the distcc mailing list