From: Vladimir Prus (ghost_at_[hidden])
Date: 2003-04-15 04:12:37
David Abrahams wrote:
> Everything works on NT. Cygwin tests are still quite unhappy with
> everything, even GCC:
[...]> STDERR ============
> mkdir: cannot create directory `/cygdrive': File exists
This is the clue! Somehow, jam does not notice that /cygdrive exists.... I
think the attached test should reproduce the problem(run with bjam -fJamfile).
The questions are:
(i) why all tests pass for Andre
(ii) why /cygwin is missing from Jam's POV?
The answer to the last question is simple (once I arrive at it ;-) ):
$ ls -ld /cygdrive
dr-xr-xr-x 4 0 0 0 Jan 1 1970 /cygdrive
When this date is stored in "struct stat", it becomes 0, which, forJam , means
that the file does not exist. Specifically, line 268 of make.c has
t->binding = t->time ? T_BIND_EXISTS : T_BIND_MISSING;
I think the best way to fix this is the attached (unfortunately untested)
P.S. BTW, Andre, it would be interesting if you run "bjam -fJamfile" (on the
attached file) and report the results. Output from "ls -ld /cygdrive" is
interesting as well...
--Boundary-00=_F08m+OU45Vxi7gq Content-Type: text/plain;
Content-Disposition: attachment; filename="Jamfile"
DEPENDS all : /cygdrive ;
MkDir /cygdrive ;
--Boundary-00=_F08m+OU45Vxi7gq Content-Type: text/x-diff;
Content-Disposition: attachment; filename="file_time.diff"
Boost-Build list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk