Boost logo

Boost-Build :

Subject: Re: [Boost-build] [1.47.0] [exception] Build failure..
From: Emil Dotchevski (emildotchevski_at_[hidden])
Date: 2011-06-21 20:20:05


On Tue, Jun 21, 2011 at 3:41 PM, Rene Rivera <grafikrobot_at_[hidden]> wrote:
> On 6/21/2011 5:28 PM, KTC wrote:
>>
>> On 21/06/2011 20:47, Jürgen Hunold wrote:
>>
>>>> bjam --without-python --stagedir=x86 --build-type=complete -j2 stage
>>>>
>>>> Both result in: "...failed updating 2 targets..."
>>>> See<http://pastebin.com/s7Cvw2Tm> for failure.
>>>
>>> Boost.Exceptions is a library on Win32. It builds
>>> "libs/exception/src/clone_current_exception_msvc.cpp"
>>>
>>> which states at the top:
>>>
>>> #if defined(_MSC_VER)&& defined(_M_IX86)&& !defined(_M_X64)
>>>
>>> so this is for x86 only. On x64, no code gets compiled.
>>>
>>> The msvc linker then "helpfully" silently omits the creation of an
>>> empty dll
>>> and the corresponding copy step(s) fail(s).
>>>
>>> The correct fix would be to build this file only on for
>>> the<address-model>32
>>> case but I don't know if this can be specified with the current
>>> Boost.Build.
>
> It can be done, but might take a conditional rule to do the correct
> exclusion.
>
>> There's the problem that this is also occurring when building for x86
>> while on a x64 system.

Just to clarify, this is the non-intrusive exception_ptr support which
is only available specifically for _MSC_VER==1310, 1400 and 1500, and
even then only if the user #defines
BOOST_ENABLE_NON_INTRUSIVE_EXCEPTION_PTR (which the test Jamfile.v2
does #define.)

If both conditions are met, then clone_current_exception_msvc.cpp must
be linked in the program, but otherwise it needs not (and should not)
be compiled or linked; that is, normally Boost Exception is a
header-only library.

I would appreciate if someone helps me configure the build/test
scripts to accomplish this behavior.

Emil Dotchevski
Reverge Studios, Inc.
http://www.revergestudios.com/reblog/index.php?n=ReCode


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