[Boost-bugs] [Boost C++ Libraries] #10858: The properties are not propagated into siblings and conflict.

Subject: [Boost-bugs] [Boost C++ Libraries] #10858: The properties are not propagated into siblings and conflict.
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2014-12-08 14:46:15


#10858: The properties are not propagated into siblings and conflict.
---------------------------------------+---------------------------
 Reporter: Kohei Takahashi <flast@…> | Owner: vladimir_prus
     Type: Bugs | Status: new
Milestone: Boost 1.58.0 | Component: build
  Version: Boost Release Branch | Severity: Showstopper
 Keywords: |
---------------------------------------+---------------------------
 Since
 github.com/boostorg/context/commit/c5292fea24c003c3279e0f0770a93cae829e75e3
 (Hey Trac! I'm not a spam!) this commit, Boost.Context depends on
 Boost.!System/Thread, it will be shipped as 1.58.0 release.

 Then, new dependency will generate following graph(partially), is
 expected.
 {{{
   Chrono -> System
       Thread -/
 Context -^---/
 }}}

 Although, bbv2 generates two separated dependency graph like this.
 {{{
   Chrono -> System
      Thread -/

       Thread(AA) -> System(AA)
 Context(AA) -^------/

 AA: The target depends on address-model/architecture feature.
 }}}

 It means that two different (or might not different) binaries will be
 generated: '''bin.v2/.../libboost_system.so.1.58.0''' and '''bin.v2
 /.../address-model-xx/architecture-yy/libboost_system.so.1.58.0'''.

 This issue will be appeared when installing or staging boost: b2 show
 following error message.

 {{{
 error: Name clash for '<pstage/lib>libboost_system.so.1.58.0'
 error:
 error: Tried to build the target twice, with property sets having
 error: these incompatible properties:
 error:
 error: - <warnings>all
 error: - <address-model>64 <architecture>x86 <warnings>on
 error:
 error: Please make sure to have consistent requirements for these
 error: properties everywhere in your project, especially for install
 error: targets.
 }}}


 Tentatively workaround is specifying those features explicitly (i.e. '''b2
 address-modell=64 architecture=x86''' in the above case).

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/10858>
Boost C++ Libraries <http://www.boost.org/>
Boost provides free peer-reviewed portable C++ source libraries.

This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:17 UTC