Subject: Re: [boost] [atomic] building with --layout=system, mingw, bug #7482
From: Jürgen Hunold (jhunold_at_[hidden])
Date: 2013-01-04 08:46:02
-------- Original-Nachricht --------
> Datum: Thu, 03 Jan 2013 23:20:05 +0100
> Von: Tim Blechmann <tim_at_[hidden]>
> An: boost_at_[hidden]
> Betreff: [boost] [atomic] building with --layout=system, mingw, bug #7482
> i need some help with resolving issue #7482: for some reason it seems to
> build a static libboost_atomic, although it has to be a shared library.
Well, static build is default in windows. But link=shared works.
> could someone with more insights in this platform have a look, what's
> going wrong (and why the library is static)? unfortunately i neither
> have access to mingw, nor am i too familiar with the boost build
> infrastructure ...
This is not a Boost.Atomic issue.
The problem is that --layout=system is broken on Windows. Rationale:
Boost.Build (in $BOOST_ROOT/boostcpp.jam) defaults to build both release and debug variants of each library on Windows. Requiring system layout ends up with the _same_ name for the release and debug libraries on Windows. This happens for msvc too. This triggers the error reported in #7482. Explicitly specifying "--layout=system release" or "--layout=system debug" will make the problem go away. I'm not sure how/if this problem can be intercepted in boostcpp.jam
You should be able to reproduce this on Linux by requesting both debug and release variants with "--layout=system debug,release".
Hope this helps,
-- * Dipl.-Math. JÃ¼rgen Hunold ! juergen.hunold_at_gmx.eu * voice: 0049 4257 300 ! FÃ¤hrstraÃe 1 * fax : 0049 4257 300 ! 31609 Balge/Sebbenhausen * mobil: 0049 178 186 1566 ! Germany
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk