id summary reporter owner description type status milestone component version severity resolution keywords cc 12573 b2 ignores and other flags selecting toolchain hbadger@… "Building boost from sources git tag 1.62.0 (4f2bdeb93a4be13ba0dc5e9f44920a2bf67191fc) I want to crossbuild it, on linux (ubuntu) host, for Mac OS X target. Goal: crossbuild the lib boost, with boost-locale Result: boost calls my crossbuilder clang++, but calls incorrect (native system) ar, ranlib, etc. As result the produced .a files contain .o objects for Mach-O, but are packed it seems in some incorrect way, they fail when trying to actually use them in crossbuild of a hello world that uses them. Expected result: b2 build should call provided -ar and -ranlib tools, e.g. /home/ubuntu/build/osxcross/target/bin/x86_64-apple-darwin15-ar Reproduce: I write the configuration file: $ cat ~/user-config.jam {{{ using clang : : /home/ubuntu/build/osxcross/target/bin/x86_64-apple-darwin15-clang++ : ""/home/ubuntu/build/osxcross/target/bin/x86_64-apple-darwin15-ar-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"" ""/home/ubuntu/build/osxcross/target/bin/x86_64-apple-darwin15-strip"" ""/home/ubuntu/build/osxcross/target/bin/x86_64-apple-darwin15-ranlib"" : ; }}} Mac OSX SDK is provided in e.g. /home/ubuntu/build/macsdk/MacOSX10.11.sdk Then I call boost build as: {{{ export WITH_ICONV=""/home/ubuntu/build/macsdk/MacOSX10.11.sdk/usr/"" && git clean -xdf ; git submodule foreach git clean -xdf; ./bootstrap.sh --without-icu && ./b2 headers && export OSX_CPU_ARCH=""core2"" && export OSX_VERSION_MIN=""10.8"" && time strace -fffff -s 2000 -e trace=process ./b2 --toolset=clang --build-type=complete ""--with-filesystem"" ""--with-system"" ""--with-program_options"" ""--with-thread"" ""--with-locale"" cxxflags=-mmacosx-version-min=${OSX_VERSION_MIN} cxxflags=-march=${OSX_CPU_ARCH} target-os=darwin architecture=x86 address-model=64 --layout=tagged link=static runtime-link=static -sNO_BZIP2=1 --sNO_ZLIB=1 --prefix=/home/ubuntu/build/boost/build-osx/ threading=multi -sICONV_PATH=""$WITH_ICONV"" --prefix=""/home/ubuntu/build/boost/build-osx/"" --user-config=/home/ubuntu/user-config.jam install &> ~/strace }}} You can also remove the strace part ""strace -fffff -s 2000 -e trace=process"" and the end redirection. Then I see in ~/strace that normal systems ar and ranlib are used. Also, providing not-existing ar program ""-AAAAAAAAAAAAA"" should cause build error, but it does not. " Bugs new To Be Determined Building Boost Boost 1.61.0 Showstopper mac osx crossbuild toolchain ar ranlib