Subject: Re: [Boost-build] Problems building on Win7
From: Raffi Enficiaud (raffi.enficiaud_at_[hidden])
Date: 2015-02-24 05:50:31
Le 24/02/15 05:25, Steven Watanabe a écrit :
> Now that I finally have a working git setup again,
> I've tried every combination I could think of to
> replicate the problem without success. Can you
> tell me exactly what branch you're using. I tried
> a) develop
> b) master
> c) master except Boost.Test = develop
> I deleted bin.v2 and boost/ before every run.
I am working on develop, clean fresh clone.
> I tested both b2 headers and libs/test/test$ ../../../b2
> with each configuration.
I tested libs/test/test, but you have to do it *twice*. It works fine
the first time. I am not executing b2 headers before.
> I did run into some problems with adding a new
> library which uses the same subdirectory as
> an existing library, but that shouldn't affect
> your case.
> In Christ,
> Steven Watanabe
I am not doing anything fancy. I have full control of the file system,
my user in in the admin group.
Ok, so after your replies, I started digging into path.jam and
builtins.c. I put a trace in builtin_readlink in the response of the
DeviceIOControl (line 1885). Apparently the path coming into the
CreateFileA has an uppercase drive letter, while the one outputted by
the DeviceIOControl has a lowercase drive letter (see logs and patch).
As you may see in the logs, using [ path.native ] rule does not
normalize the cases.
The pwd rule returns an uppercase drive letter, the readlink rule
returns a lower case drive letter.
One possibility is to change the native-NT rule to return always
lowercase drive letter, or to include that in the NORMALIZED_PATH
The other solution would be to avoid direct path string comparison and
to have a proper path comparison function, which would be case
insensitive on win32.
In both cases, I think the error comes from the inconsistency of the
behaviors of those functions.
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