|
Boost : |
From: John Maddock (john_at_[hidden])
Date: 2005-07-30 09:47:54
> [Wave]
> As I've pointed out already the Wave tests on the vc-8_0 platform
> (gonzalo:
> http://tinyurl.com/9jsmk) fail for reasons which are completely beyond my
> comprehension. Bjam tries to link the test executables against a wrong
> library which doesn't gets built (and which shouldn't get build). This
> error
> did not occur during earlier vc-8_0 test runs executed by others. Any
> ideas?
I believe I have an idea what's happening here, in the Jamfile you have:
<runtime-link>static
<threading>single
as build requirements, but vc8 does not have a single threaded runtime at
all, and I think it's this that's messing up the build system and the auto
linking code, let me try and explain:
1) Setting <runtime-link>static <threading>single causes bjam to mangle the
lib name with "-sgd" for the debug build, but it should actually be mangling
the name with "-mt-sgd" because there is no single threaded option, so we're
really building a multithread lib.
2) Setting <runtime-link>static <threading>single causes bjam to build with
/MLd, but that option isn't actually recognised by VC8, so it reverts to the
default which appears to be /MT - this is why the auto-link code is trying
to link against the "-mt-s" build variant - bjam isn't actually building the
variant it thinks it is.
If we're serious about VC8 being a release requirement, then we really
should fix the build system to handle it correctly,
John.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk