$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
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.