[Boost-bugs] [Boost C++ Libraries] #13440: Paths to boost libraries contain colons on OS X 10.13 (xcode 9) with Intel's compiler

Subject: [Boost-bugs] [Boost C++ Libraries] #13440: Paths to boost libraries contain colons on OS X 10.13 (xcode 9) with Intel's compiler
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2018-02-06 14:43:36


#13440: Paths to boost libraries contain colons on OS X 10.13 (xcode 9) with
Intel's compiler
-------------------------------------------+----------------------------
 Reporter: Ivan Kelarev <ivan.kelarev@…> | Owner: (none)
     Type: Bugs | Status: new
Milestone: Boost 1.66.0 | Component: Building Boost
  Version: Boost 1.66.0 | Severity: Regression
 Keywords: |
-------------------------------------------+----------------------------
 After some changes in build system in boost 1.66 many tests started to
 fail on Mac OS with Intel's compiler due to colon in paths to boost
 libraries. With Clang compiler or on Linux this problem does not appear.
 OS X example:

 {{{
 $ pwd
 /export/users/ikelarev/test3/boost_1_66_0/libs/array/test

 $ ../../../b2 toolset=intel-darwin array0

 ...

 testing.capture-output ../../../bin.v2/libs/array/test/array0.test/intel-
 darwin/debug/threadapi-pthread/toolset-intel-darwin:linker-type-
 darwin/array0.run
 /bin/sh: line 9: 26781 Abort trap: 6
 "../../../bin.v2/libs/array/test/array0.test/intel-darwin/debug/threadapi-
 pthread/toolset-intel-darwin:linker-type-darwin/array0" >
 "../../../bin.v2/libs/array/test/array0.test/intel-darwin/debug/threadapi-
 pthread/toolset-intel-darwin:linker-type-darwin/array0.output" 2>&1 <
 /dev/null
 ====== BEGIN OUTPUT ======
 dyld: Library not loaded: libboost_unit_test_framework.dylib
   Referenced from:
 /export/users1/ikelarev/test3/boost_1_66_0/libs/array/test/../../../bin.v2/libs/array/test/array0.test
 /intel-darwin/debug/threadapi-pthread/toolset-intel-darwin:linker-type-
 darwin/array0
   Reason: image not found

 EXIT STATUS: 134
 ====== END OUTPUT ======

 DYLD_LIBRARY_PATH="/export/users1/ikelarev/test3/boost_1_66_0/bin.v2/libs/chrono/build
 /intel-darwin/debug/threadapi-pthread/toolset-intel-darwin:linker-type-
 darwin:/export/users1/ikelarev/test3/boost_1_66_0/bin.v2/libs/system/build
 /intel-darwin/debug/threadapi-pthread/toolset-intel-darwin:linker-type-
 darwin:/export/users1/ikelarev/test3/boost_1_66_0/bin.v2/libs/test/build
 /intel-darwin/debug/threadapi-pthread/toolset-intel-darwin:linker-type-
 darwin:/export/users1/ikelarev/test3/boost_1_66_0/bin.v2/libs/timer/build
 /intel-darwin/debug/threadapi-pthread/toolset-intel-darwin:linker-type-
 darwin:/nfs/igk/proj/icl/archive/deploy_mainline/efi2mac/20180206_000000/build/mac_prod/mac/bin/lib:/nfs/igk/proj/icl/archive/deploy_mainline/efi2mac/20180206_000000/build/mac_prod/mac/lib/intel64:$DYLD_LIBRARY_PATH"
 export DYLD_LIBRARY_PATH

 ...
 }}}

 DYLD_LIBRARY_PATH contains paths like
 {{{/export/users1/ikelarev/test3/boost_1_66_0/bin.v2/libs/chrono/build
 /intel-darwin/debug/threadapi-pthread/toolset-intel-darwin:linker-type-
 darwin}}} but colon is the path separator and this path will be broken
 into two parts -
 {{{/export/users1/ikelarev/test3/boost_1_66_0/bin.v2/libs/chrono/build
 /intel-darwin/debug/threadapi-pthread/toolset-intel-darwin}}} and
 {{{linker-type-darwin}}}. As a result any library which is placed there
 will be not found.

 With Clang compiler paths look like {{{../../../bin.v2/libs/chrono/build
 /darwin-darwin-4.2.1/debug/threadapi-pthread}}} without "toolset-intel-
 darwin:linker-type-darwin" part or something similar.

-- 
Ticket URL: <https://svn.boost.org/trac10/ticket/13440>
Boost C++ Libraries <http://www.boost.org/>
Boost provides free peer-reviewed portable C++ source libraries.

This archive was generated by hypermail 2.1.7 : 2018-02-06 14:49:00 UTC