Buidling boost error: name collision for '<pstage \ lib> boost_system-vc120-mt-1_58.dll'

I am trying to build boost in Windows 8.1 with Visual Studio 2013 on a 64 bit system.

 b2 toolset="msvc" address-model=64 -s ZLIB_SOURCE=C:\H\M\zlib --build-type=complete stage 

Here is the complete conclusion:

 Performing configuration checks - symlinks supported : no - junctions supported : yes - hardlinks supported : yes - arm : no - mips1 : no - power : no - sparc : no - x86 : yes - has_icu builds : no warning: Graph library does not contain MPI-based parallel components. note: to enable them, add "using mpi ;" to your user-config.jam - iconv (libc) : no - iconv (separate) : no - icu : no - icu (lib64) : no - message-compiler : yes - compiler-supports-ssse3 : yes - compiler-supports-avx2 : yes - gcc visibility : no - long double support : yes warning: skipping optional Message Passing Interface (MPI) library. note: to enable MPI support, add "using mpi ;" to user-config.jam. note: to suppress this message, pass "--without-mpi" to bjam. note: otherwise, you can safely ignore this message. error: Name clash for '<pstage\lib>boost_system-vc120-mt-1_58.dll' error: error: Tried to build the target twice, with property sets having error: these incompabile properties: error: error: - <warnings>all error: - <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. 

What does this mean and how to solve it?

thanks

+4
c ++ boost boost-build b2
source share
5 answers

builds if I add --without-context --woutout-coroutine for b2 options

+7
source share

Did you get a boost from the git repository?

If so, I think the latest version available in git is broken. Today I tried to compile it, and if you solve the errors you mentioned, you will get another error due to incomplete files in the destination directories ( boost ptr_container library will not be installed after compilation from the source )

The solution was to download the latest version from their website ( http://sourceforge.net/projects/boost/files/boost/1.57.0/ ). After that, compilation and installation work correctly

+2
source share

From Boost 1.58 Beta Release :

Important Note

There is an error with build scripts; you must specify the address mode and architecture to b2. I used:

./b2 address-model=64 architecture=x86

to check it out.

Adding these flags to the b2 command solves the problem without having to exclude the context and coroutine libraries (convenient if, say, you really use these libraries, just like me!).

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

+2
source share

Perhaps you have two versions of g ++ available in $PATH . Try running where g++ . If you see two g ++, then delete one of $PATH . And then start the entire build process first. It worked for me and

0
source share

In my case, I used variant=release,debug command line argument variant=release,debug , which caused a name conflict.

I added an extra argument --layout=tagged and the problem disappeared.

See also fooobar.com/questions/16909914 / ...

0
source share

All Articles