Opened 8 years ago

Closed 5 years ago

#10858 closed Bugs (fixed)

The properties are not propagated into siblings and conflict.

Reported by: Kohei Takahashi <flast@…> Owned by: Vladimir Prus
Milestone: Boost 1.58.0 Component: build
Version: Boost Release Branch Severity: Showstopper
Keywords: Cc:

Description

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).

Attachments (1)

bug10858-testcase.tar.gz (537 bytes ) - added by Kohei Takahashi <flast@…> 8 years ago.
Minimal reproducible testcase

Download all attachments as: .zip

Change History (5)

by Kohei Takahashi <flast@…>, 8 years ago

Attachment: bug10858-testcase.tar.gz added

Minimal reproducible testcase

comment:1 by anonymous, 8 years ago

I'm very new to Boost ! So please how to fix this error ??

comment:2 by anonymous, 8 years ago

As proposed by flast, there is a workaround : b2 address-model=64 architecture=x86

comment:3 by Jürgen Hunold, 8 years ago

I've added a series of pull requests to solve this.

Start at https://github.com/boostorg/boost/pull/70 for the details

comment:4 by Steven Watanabe, 5 years ago

Resolution: fixed
Status: newclosed

This has been resolved by setting architecture/address-model globally.

Note: See TracTickets for help on using tickets.