Opened 6 years ago

Closed 6 years ago

#12628 closed Bugs (fixed)

Build error with -no_single variant (macports)

Reported by: anonymous Owned by: timblechmann
Milestone: To Be Determined Component: atomic
Version: Boost 1.59.0 Severity: Problem
Keywords: Cc:

Description

When installing boost 1.59 with single and multithread on my macOS Sierra (10.12.1) using Macports I get the following error:

error: Name clash for '<pstage/lib>libboost_atomic-mt.dylib' :info:build error: :info:build error: Tried to build the target twice, with property sets having :info:build error: these incompatible properties: :info:build error: :info:build error: - none :info:build error: - <dll-path>/opt/local/bin :info:build error: :info:build error: Please make sure to have consistent requirements for these :info:build error: properties everywhere in your project, especially for install :info:build error: targets. :info:build :info:build Command failed: cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_devel_boost/boost/work/boost_1_59_0" && /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_devel_boost/boost/work/boost_1_59_0/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 -j8 architecture=x86 address-model=64 link=shared :info:build Exit code: 1 :error:build org.macports.build for port boost returned: command execution failed :debug:build Error code: CHILDSTATUS 32523 1 :debug:build Backtrace: command execution failed

while executing

"system -nice 0 $fullcmdstring"

("eval" body line 1) invoked from within

"eval system $notty $nice \$fullcmdstring"

invoked from within

"command_exec build"

(procedure "portbuild::build_main" line 8) invoked from within

"portbuild::build_main org.macports.build"

("eval" body line 1) invoked from within

"eval $procedure $targetname" :info:build Warning: targets not executed for boost: org.macports.activate org.macports.build org.macports.destroot org.macports.install :notice:build Please see the log file for port boost for details:

/opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_devel_boost/boost/main.log

I saw online that it's not the first time this happens and that is not platform dependant. Tried some fixes with different build variants to no avail... Any suggestions?

Change History (2)

comment:1 by John Maddock, 6 years ago

Component: Noneatomic
Owner: set to timblechmann

comment:2 by Andrey Semashev, 6 years ago

Resolution: fixed
Status: newclosed

The problem is that apparently Boost.Build cannot build both single and multi-threaded versions of Boost libraries in one go. This is not specific to Boost.Atomic, and I'm not sure whether this is an inherent Boost.Build limitation or just the way it is used in Boost libraries. I think there was a discussion of this problem on the ML some time ago.

In order to solve the problem you have to invoke b2 twice - first with threading=single, then with threading=multi.

Note: See TracTickets for help on using tickets.