Opened 7 years ago

Last modified 5 years ago

#11561 new Bugs

Build fails with threading=single,multi

Reported by: ryandesign@… Owned by: Vladimir Prus
Milestone: To Be Determined Component: build
Version: Boost 1.59.0 Severity: Problem
Keywords: Cc:

Description

Hello, I'm the maintainer of boost in the MacPorts package management system. We just updated our boost to 1.59.0, after which we got a report that the build fails if threading=single,multi is used. The error is:

error: Name clash for '<pstage/lib>libboost_atomic-mt.dylib'
error: 
error: Tried to build the target twice, with property sets having 
error: these incompatible properties:
error: 
error:     -  none
error:     -  <dll-path>/opt/local/bin
error: 
error: Please make sure to have consistent requirements for these 
error: properties everywhere in your project, especially for install
error: targets.

This used to work with 1.58.0 and earlier. Our default is threading=multi which still works fine with 1.59.0.

Attachments (1)

main.log.bz2 (36.6 KB ) - added by ryandesign@… 7 years ago.
build failure of boost 1.60.0 with threading=single,multi

Download all attachments as: .zip

Change History (7)

comment:1 by viboes, 7 years ago

Component: Nonebuild
Owner: set to Vladimir Prus

comment:2 by Adam, 7 years ago

As a user of MacPorts, I am dealing with this problem as well. Are you working on a fix?

comment:3 by Vladimir Prus, 7 years ago

I am not working on a fix; since I don't have a Mac and don't use MacPorts I have no way to reproduce this problem and investigate. In fact, I don't think that Boost uses "/opt/local/bin" anywhere.

Is there a chance this issue is reduced to a specific b2 command line, with a minimal set of libraries, and not requiring MacPorts. Output of --debug-building might also be helpful.

by ryandesign@…, 7 years ago

Attachment: main.log.bz2 added

build failure of boost 1.60.0 with threading=single,multi

comment:4 by ryandesign@…, 7 years ago

The b2 command line that was used was given in the log file attached to the MacPorts bug report linked from the description of this ticket. I'll paste it here for easier reference:

b2 -d2 --layout=tagged --debug-configuration --user-config=user-config.jam -sBZIP2_INCLUDE=/opt/local/include -sBZIP2_LIBPATH=/opt/local/lib -sEXPAT_INCLUDE=/opt/local/include -sEXPAT_LIBPATH=/opt/local/lib -sZLIB_INCLUDE=/opt/local/include -sZLIB_LIBPATH=/opt/local/lib -sICU_PATH=/opt/local variant=release threading=single,multi link=static,shared -j4 architecture=x86 address-model=64 link=shared

I would not begin from the assumption that the problem is MacPorts-specific nor that it is OS X-specific, since, as I said, the problem did not exist with boost 1.58.0.

I have also tried with boost 1.60.0, and the issue remains. I have tried with --debug-building and have attached the log here.

comment:5 by Demis.john@…, 5 years ago

Does this have anything to do with the fact that the "name clash" file has "-mt" multi-threading included, when it's trying to build a single-threaded option? I'm trying to build the +no_single option and getting the same error. I believe it's supposed to not produce the *-mt files for +no_single but not entirely sure. What does "name clash" mean?

in reply to:  5 comment:6 by anonymous, 5 years ago

Correction, I meant "I'm trying to build the no_single option" - as in it would Remove the option for No-Single processor, ie. Include the option for a Single Thread.

Replying to Demis.john@…:

Does this have anything to do with the fact that the "name clash" file has "-mt" multi-threading included, when it's trying to build a single-threaded option? I'm trying to build the +no_single option and getting the same error. I believe it's supposed to not produce the *-mt files for +no_single but not entirely sure. What does "name clash" mean?

Note: See TracTickets for help on using tickets.