Boost logo

Boost Users :

Subject: Re: [Boost-users] Building boost fails with VS2017 (v15.5.2)
From: Klaim - Joël Lamotte (mjklaim_at_[hidden])
Date: 2018-01-06 06:43:51


On 6 January 2018 at 04:11, Christian Henning via Boost-users <
boost-users_at_[hidden]> wrote:

> This is rather strange. I have downloaded boost 1.66 and can build
> Boost.Build engine. But building the libs fails.
>
> The full output is here:
>
> https://pastebin.com/raw/mRriQDvq
>
> Here is what I'm seeing:
>
> **********************************************************************
> ** Visual Studio 2017 Developer Command Prompt v15.5.2
> ** Copyright (c) 2017 Microsoft Corporation
> **********************************************************************
> [vcvarsall.bat] Environment initialized for: 'x64'
>
> C:\Users\chhenning\source>d:
>
> D:\>cd boost
>
> D:\boost>.\bootstrap.bat
> Building Boost.Build engine
>
> Bootstrapping is done. To build, run:
>
> .\b2
>
> To adjust configuration, edit 'project-config.jam'.
> Further information:
>
> - Command line help:
> .\b2 --help
>
> - Getting started guide:
> http://boost.org/more/getting_started/windows.html
>
> - Boost.Build documentation:
> http://www.boost.org/build/doc/html/index.html
>
> D:\boost>b2 -j8 --toolset=msvc variant=release link=static
> runtime-link=shared address-model=64 define=_CRT_NONSTDC_NO_DEPRECATE
> define=_CRT_SECURE_NO_DEPRECATE define=_SCL_SECURE_NO_DEPRECATE
> define=_SECURE_SCL=0 define=_HAS_ITERATOR_DEBUGGING=0
> define=BOOST_REGEX_MATCH_EXTRA stage
> Performing configuration checks
>
> - 32-bit : no (cached)
> - 64-bit : no (cached)
> - arm : no (cached)
> - mips1 : no (cached)
> - power : no (cached)
> - sparc : no (cached)
> - x86 : no (cached)
> - combined : no (cached)
> - symlinks supported : no (cached)
> - junctions supported : yes (cached)
> - hardlinks supported : yes (cached)
> error: No best alternative for libs/context/build/asm_sources
> next alternative: required properties: <abi>aapcs <address-model>32
> <architecture>arm <binary-format>elf <threading>multi <toolset>clang
> not matched
> next alternative: required properties: <abi>aapcs <address-model>32
> <architecture>arm <binary-format>elf <threading>multi <toolset>gcc
> not matched
> next alternative: required properties: <abi>aapcs <address-model>32
> <architecture>arm <binary-format>elf <threading>multi <toolset>qcc
> not matched
> next alternative: required properties: <abi>aapcs <address-model>32
> <architecture>arm <binary-format>mach-o <threading>multi <toolset>clang
> not matched
> next alternative: required properties: <abi>aapcs <address-model>32
> <architecture>arm <binary-format>mach-o <threading>multi <toolset>darwin
> not matched
> next alternative: required properties: <abi>aapcs <address-model>32
> <architecture>arm <binary-format>pe <threading>multi <toolset>msvc
> not matched
> next alternative: required properties: <abi>aapcs <address-model>64
> <architecture>arm <binary-format>elf <threading>multi <toolset>clang
> not matched
> next alternative: required properties: <abi>aapcs <address-model>64
> <architecture>arm <binary-format>elf <threading>multi <toolset>gcc
> not matched
> next alternative: required properties: <abi>aapcs <address-model>64
> <architecture>arm <binary-format>mach-o <threading>multi <toolset>clang
> not matched
> next alternative: required properties: <abi>aapcs <address-model>64
> <architecture>arm <binary-format>mach-o <threading>multi <toolset>darwin
> not matched
> next alternative: required properties: <abi>o32 <address-model>32
> <architecture>mips1 <binary-format>elf <threading>multi <toolset>clang
> not matched
> next alternative: required properties: <abi>o32 <address-model>32
> <architecture>mips1 <binary-format>elf <threading>multi <toolset>gcc
> not matched
> next alternative: required properties: <abi>sysv <address-model>32
> <architecture>power <binary-format>elf <threading>multi <toolset>clang
> not matched
> next alternative: required properties: <abi>sysv <address-model>32
> <architecture>power <binary-format>elf <threading>multi <toolset>clang
> not matched
> next alternative: required properties: <abi>sysv <address-model>32
> <architecture>power <binary-format>mach-o <threading>multi <toolset>darwin
> not matched
> next alternative: required properties: <abi>sysv <address-model>32
> <architecture>power <binary-format>xcoff <threading>multi <toolset>clang
> not matched
> next alternative: required properties: <abi>sysv <address-model>32
> <architecture>power <binary-format>xcoff <threading>multi <toolset>gcc
> not matched
> next alternative: required properties: <abi>sysv <address-model>64
> <architecture>power <binary-format>elf <threading>multi <toolset>clang
> not matched
> next alternative: required properties: <abi>sysv <address-model>64
> <architecture>power <binary-format>elf <threading>multi <toolset>gcc
> not matched
> next alternative: required properties: <abi>sysv <address-model>64
> <architecture>power <binary-format>mach-o <threading>multi <toolset>clang
> not matched
> next alternative: required properties: <abi>sysv <address-model>64
> <architecture>power <binary-format>mach-o <threading>multi <toolset>darwin
> not matched
> next alternative: required properties: <abi>sysv <address-model>64
> <architecture>power <binary-format>xcoff <threading>multi <toolset>clang
> not matched
> next alternative: required properties: <abi>sysv <address-model>64
> <architecture>power <binary-format>xcoff <threading>multi <toolset>gcc
> not matched
> next alternative: required properties: <abi>sysv <address-model>32_64
> <architecture>power <binary-format>mach-o <threading>multi
> not matched
> next alternative: required properties: <abi>sysv <address-model>32
> <architecture>x86 <binary-format>elf <threading>multi <toolset>clang
> not matched
> next alternative: required properties: <abi>sysv <address-model>32
> <architecture>x86 <binary-format>elf <threading>multi <toolset>gcc
> not matched
> next alternative: required properties: <abi>sysv <address-model>32
> <architecture>x86 <binary-format>elf <threading>multi <toolset>intel
> not matched
> next alternative: required properties: <abi>sysv <address-model>32
> <architecture>x86 <binary-format>mach-o <threading>multi <toolset>clang
> not matched
> next alternative: required properties: <abi>sysv <address-model>32
> <architecture>x86 <binary-format>mach-o <threading>multi <toolset>darwin
> not matched
> next alternative: required properties: <abi>ms <address-model>32
> <architecture>x86 <binary-format>pe <threading>multi <toolset>clang
> not matched
> next alternative: required properties: <abi>ms <address-model>32
> <architecture>x86 <binary-format>pe <threading>multi <toolset>clang-win
> not matched
> next alternative: required properties: <abi>ms <address-model>32
> <architecture>x86 <binary-format>pe <threading>multi <toolset>gcc
> not matched
> next alternative: required properties: <abi>ms <address-model>32
> <architecture>x86 <binary-format>pe <threading>multi <toolset>intel
> not matched
> next alternative: required properties: <abi>ms <address-model>32
> <architecture>x86 <binary-format>pe <threading>multi <toolset>msvc
> not matched
> next alternative: required properties: <abi>sysv <address-model>64
> <architecture>x86 <binary-format>elf <threading>multi <toolset>clang
> not matched
> next alternative: required properties: <abi>sysv <address-model>64
> <architecture>x86 <binary-format>elf <threading>multi <toolset>gcc
> not matched
> next alternative: required properties: <abi>sysv <address-model>64
> <architecture>x86 <binary-format>elf <threading>multi <toolset>intel
> not matched
> next alternative: required properties: <abi>sysv <address-model>64
> <architecture>x86 <binary-format>mach-o <threading>multi <toolset>clang
> not matched
> next alternative: required properties: <abi>sysv <address-model>64
> <architecture>x86 <binary-format>mach-o <threading>multi <toolset>darwin
> not matched
> next alternative: required properties: <abi>sysv <address-model>64
> <architecture>x86 <binary-format>mach-o <threading>multi <toolset>intel
> not matched
> next alternative: required properties: <abi>ms <address-model>64
> <architecture>x86 <binary-format>pe <threading>multi <toolset>clang
> not matched
> next alternative: required properties: <abi>ms <address-model>64
> <architecture>x86 <binary-format>pe <threading>multi <toolset>clang-win
> not matched
> next alternative: required properties: <abi>ms <address-model>64
> <architecture>x86 <binary-format>pe <threading>multi <toolset>gcc
> not matched
> next alternative: required properties: <abi>ms <address-model>64
> <architecture>x86 <binary-format>pe <threading>multi <toolset>intel
> not matched
> next alternative: required properties: <abi>ms <address-model>64
> <architecture>x86 <binary-format>pe <threading>multi <toolset>msvc
> not matched
> next alternative: required properties: <abi>x32 <address-model>64
> <architecture>x86 <binary-format>elf <threading>multi <toolset>clang
> not matched
> next alternative: required properties: <abi>x32 <address-model>64
> <architecture>x86 <binary-format>elf <threading>multi <toolset>gcc
> not matched
> next alternative: required properties: <abi>x32 <address-model>64
> <architecture>x86 <binary-format>elf <threading>multi <toolset>intel
> not matched
> next alternative: required properties: <abi>sysv <address-model>32_64
> <architecture>x86 <binary-format>mach-o <threading>multi
> not matched
> next alternative: required properties: <abi>sysv
> <architecture>combined <binary-format>mach-o <threading>multi
> not matched
> - C++11 mutex : no (cached)
> - Boost.Config Feature Check: cxx11_auto_declarations : no (cached)
> - Boost.Config Feature Check: cxx11_constexpr : no (cached)
> - Boost.Config Feature Check: cxx11_defaulted_functions : no (cached)
> - Boost.Config Feature Check: cxx11_final : no (cached)
> - Boost.Config Feature Check: cxx11_hdr_mutex : no (cached)
> - Boost.Config Feature Check: cxx11_hdr_regex : no (cached)
> - Boost.Config Feature Check: cxx11_hdr_tuple : no (cached)
> - Boost.Config Feature Check: cxx11_lambdas : no (cached)
> - Boost.Config Feature Check: cxx11_noexcept : no (cached)
> - Boost.Config Feature Check: cxx11_nullptr : no (cached)
> - Boost.Config Feature Check: cxx11_rvalue_references : no (cached)
> - Boost.Config Feature Check: cxx11_template_aliases : no (cached)
> - Boost.Config Feature Check: cxx11_thread_local : no (cached)
> - Boost.Config Feature Check: cxx11_variadic_templates : no (cached)
> - has_icu builds : no (cached)
> warning: Graph library does not contain MPI-based parallel components.
> note: to enable them, add "using mpi ;" to your user-config.jam
> - zlib : no (cached)
> - bzip2 : no (cached)
> - lzma : no (cached)
> - iconv (libc) : no (cached)
> - iconv (separate) : no (cached)
> - icu : no (cached)
> - icu (lib64) : no (cached)
> - native-atomic-int32-supported : no (cached)
> - message-compiler : yes (cached)
> - native-syslog-supported : no (cached)
> - pthread-supports-robust-mutexes : no (cached)
> - compiler-supports-visibility : no (cached)
> - x86 : no (cached)
> - arm : no (cached)
> - mips1 : no (cached)
> - power : no (cached)
> - sparc : no (cached)
> - gcc visibility : no (cached)
> - long double support : no (cached)
> 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.
> - libbacktrace builds : no (cached)
> - addr2line builds : no (cached)
> - WinDbg builds : no (cached)
> - WinDbgCached builds : no (cached)
>
> Component configuration:
>
> - atomic : building
> - chrono : building
> - container : building
> - context : building
> - coroutine : building
> - date_time : building
> - exception : building
> - fiber : building
> - filesystem : building
> - graph : building
> - graph_parallel : building
> - iostreams : building
> - locale : building
> - log : building
> - math : building
> - mpi : building
> - program_options : building
> - python : building
> - random : building
> - regex : building
> - serialization : building
> - signals : building
> - stacktrace : building
> - system : building
> - test : building
> - thread : building
> - timer : building
> - type_erasure : building
> - wave : building
>
> ...patience...
> ...patience...
> ...patience...
> ...patience...
> ...patience...
> ...patience...
> ...found 16860 targets...
> ...updating 401 targets...
> compile-c-c++ bin.v2\libs\atomic\build\msvc-14.1\release\address-model-64\
> link-static\threadapi-win32\threading-multi\lockpool.obj
> 'cl' is not recognized as an internal or external command,
> operable program or batch file.
>
> call "C:\Users\CHHENN~1\AppData\Local\Temp\b2_msvc_14.1_vcvarsx86_amd64_.cmd"
> >nul
> cl /Zm800 -nologo @"bin.v2\libs\atomic\build\msvc-14.1\release\address-
> model-64\link-static\threadapi-win32\threading-multi\lockpool.obj.rsp"
>
> ...failed compile-c-c++ bin.v2\libs\atomic\build\msvc-
> 14.1\release\address-model-64\link-static\threadapi-win32\
> threading-multi\lockpool.obj...
> ...skipped <pbin.v2\libs\atomic\build\msvc-14.1\release\address-
> model-64\link-static\threadapi-win32\threading-
> multi>libboost_atomic-vc141-mt-1_66.lib for lack of
> <pbin.v2\libs\atomic\build\msvc-14.1\release\address-model-64\link-static\
> threadapi-win32\threading-multi>lockpool.obj...
> ...skipped <pstage\lib>libboost_atomic-vc141-mt-1_66.lib for lack of
> <pbin.v2\libs\atomic\build\msvc-14.1\release\address-model-64\link-static\
> threadapi-win32\threading-multi>libboost_atomic-vc141-mt-1_66.lib...
> compile-c-c++ bin.v2\libs\system\build\msvc-14.1\release\address-model-64\
> link-static\threadapi-win32\threading-multi\error_code.obj
> 'cl' is not recognized as an internal or external command,
> operable program or batch file.
>
> call "C:\Users\CHHENN~1\AppData\Local\Temp\b2_msvc_14.1_vcvarsx86_amd64_.cmd"
> >nul
> cl /Zm800 -nologo @"bin.v2\libs\system\build\msvc-14.1\release\address-
> model-64\link-static\threadapi-win32\threading-multi\error_code.obj.rsp"
>
> ...failed compile-c-c++ bin.v2\libs\system\build\msvc-
> 14.1\release\address-model-64\link-static\threadapi-win32\
> threading-multi\error_code.obj...
> ...skipped <pbin.v2\libs\system\build\msvc-14.1\release\address-
> model-64\link-static\threadapi-win32\threading-
> multi>libboost_system-vc141-mt-1_66.lib for lack of
> <pbin.v2\libs\system\build\msvc-14.1\release\address-model-64\link-static\
> threadapi-win32\threading-multi>error_code.obj...
> ...skipped <pstage\lib>libboost_system-vc141-mt-1_66.lib for lack of
> <pbin.v2\libs\system\build\msvc-14.1\release\address-model-64\link-static\
> threadapi-win32\threading-multi>libboost_system-vc141-mt-1_66.lib...
> compile-c-c++ bin.v2\libs\chrono\build\msvc-14.1\release\address-model-64\
> link-static\threadapi-win32\threading-multi\chrono.obj
> 'cl' is not recognized as an internal or external command,
> operable program or batch file.
> [snip]
>
> Anyone any idea what is going on?
>
>

I did something similar but without a problem, here is my build script I
used, with boost directory being the boost 1.66 sources:

pushd .\boost
call bootstrap.bat
set BOOST_INSTALL_DIR=../boost-install
set BOOST_BUILD_TOOLSET=msvc-14.1
set BOOST_BUILD_TYPE=complete
set BOOST_BUILD_PROCS=8

for %%x in (32 64) do (
call b2 install --prefix=%BOOST_INSTALL_DIR% -j%BOOST_BUILD_PROCS%
--buid-type=%BOOST_BUILD_TYPE% toolset=%BOOST_BUILD_TOOLSET%
architecture=x86 address-model=%%x threading=multi
)
popd

What's weird is that your error is mainly that cl is not found. Maybe try
with --toolset=msvc-14.1 to be more specific but I fail to see why it
would be necessary,
it seems to be tedected from the library names generated.
I don't know the other flags you are using so they might play a role in
your problem.

A. Joël Lamotte



Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net