Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Boost build breaks: Name clash for '<pstage/lib>libboost_system.so.1.58.0'

Tags:

boost

I'm trying to do a boost source build, via:

git clone --recursive https://github.com/boostorg/boost.git
cd boost
./bootstrap
./b2 link=shared threading=multi variant=release --without-mpi

This chokes with the 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 incompabile properties:
error: 
error:     -  none
error:     -  <address-model>64 <architecture>x86
error: 
error: Please make sure to have consistent requirements for these 
error: properties everywhere in your project, especially for install
error: targets.

This occurs on both the develop and master branch. What can be done to fix this error? Thanks in advance.

like image 478
user14717 Avatar asked Feb 08 '15 19:02

user14717


1 Answers

From the Boost 1.58 beta release notes:

Important Note

There is a bug with the build scripts; you have to specify the address-mode and architecture to b2. I used:

./b2 address-model=64 architecture=x86

to test this.

Adding these flags to the b2 command solves the problem without having to exclude the context and coroutine libraries (handy if, say, you actually use these libraries, like I do!).

Naturally, if you're building 32-bit libraries, you want to add address-model=32 instead.

like image 69
HighCommander4 Avatar answered Sep 22 '22 15:09

HighCommander4