There is a problem building archives from boost
Seems the boost build system doesn't like toolset paths with spaces coming from CMAKE_AR in this case.
I can't seem to track where the error is.
Here is the details from vcpkg when trying to install boost-regex from example:
-- Using cached boostorg-regex-boost-1.82.0.tar.gz.
-- Cleaning sources at G:/cpp/buildt/boost-regex/src/ost-1.82.0-aceb223f87.clean. Use --editable to skip cleaning for the packages you specify.
-- Extracting source E:/Sources/cpp/tools/vcpkg/downloads/boostorg-regex-boost-1.82.0.tar.gz
-- Using source at G:/cpp/buildt/boost-regex/src/ost-1.82.0-aceb223f87.clean
-- Including E:/Sources/cpp/tools/vcpkg/ports/boost-regex/b2-options.cmake
-- Getting CMake variables for x64-win-llvm-lto-static-md
-- Configuring x64-win-llvm-lto-static-md
-- Building x64-win-llvm-lto-static-md-dbg
CMake Error at scripts/cmake/vcpkg_execute_build_process.cmake:134 (message):
Command failed: E:/Sources/cpp/tools/vcpkg/downloads/tools/cmake-3.25.1-windows/cmake-3.25.1-windows-i386/bin/cmake.exe --build . --config Debug --target install -- -v -j17
Working Directory: G:/cpp/buildt/boost-regex/x64-win-llvm-lto-static-md-dbg
See logs for more information:
G:\cpp\buildt\boost-regex\install-x64-win-llvm-lto-static-md-dbg-out.log
Call Stack (most recent call first):
installed/x64-windows/share/vcpkg-cmake/vcpkg_cmake_build.cmake:74 (vcpkg_execute_build_process)
installed/x64-windows/share/vcpkg-cmake/vcpkg_cmake_install.cmake:16 (vcpkg_cmake_build)
installed/x64-windows/share/boost-build/boost-modular-build.cmake:140 (vcpkg_cmake_install)
ports/boost-regex/portfile.cmake:12 (boost_modular_build)
scripts/ports.cmake:147 (include)
G:\cpp\buildt\boost-regex\install-x64-win-llvm-lto-static-md-dbg-out.log
```
[1/2] cmd.exe /C "cd /D G:\cpp\buildt\boost-regex\src\ost-1.82.0-aceb223f87.clean\build && E:\Sources\cpp\tools\vcpkg\installed\x64-windows\tools\boost-build\b2.exe toolset=clang-win --user-config=G:/cpp/buildt/boost-regex/x64-win-llvm-lto-static-md-dbg/user-config.jam --stagedir=G:/cpp/buildt/boost-regex/x64-win-llvm-lto-static-md-dbg/stage --build-dir=G:/cpp/buildt/boost-regex/x64-win-llvm-lto-static-md-dbg runtime-link=shared link=static address-model=64 architecture=x86 target-os=windows threadapi=win32 variant=debug --disable-icu --disable-icu --with-atomic --with-random --with-date_time --with-filesystem --with-system --with-thread --with-chrono -j 17 -sBOOST_ROOT=E:/Sources/cpp/tools/vcpkg/installed/x64-windows/tools/boost-build -sBOOST_BUILD_PATH=E:/Sources/cpp/tools/vcpkg/installed/x64-windows/tools/boost-build --debug-configuration --debug-building --debug-generators --ignore-site-config --hash -q debug-symbols=on -d +2 threading=multi stage"
FAILED: CMakeFiles/boost G:/cpp/buildt/boost-regex/x64-win-llvm-lto-static-md-dbg/CMakeFiles/boost
cmd.exe /C "cd /D G:\cpp\buildt\boost-regex\src\ost-1.82.0-aceb223f87.clean\build && E:\Sources\cpp\tools\vcpkg\installed\x64-windows\tools\boost-build\b2.exe toolset=clang-win --user-config=G:/cpp/buildt/boost-regex/x64-win-llvm-lto-static-md-dbg/user-config.jam --stagedir=G:/cpp/buildt/boost-regex/x64-win-llvm-lto-static-md-dbg/stage --build-dir=G:/cpp/buildt/boost-regex/x64-win-llvm-lto-static-md-dbg runtime-link=shared link=static address-model=64 architecture=x86 target-os=windows threadapi=win32 variant=debug --disable-icu --disable-icu --with-atomic --with-random --with-date_time --with-filesystem --with-system --with-thread --with-chrono -j 17 -sBOOST_ROOT=E:/Sources/cpp/tools/vcpkg/installed/x64-windows/tools/boost-build -sBOOST_BUILD_PATH=E:/Sources/cpp/tools/vcpkg/installed/x64-windows/tools/boost-build --debug-configuration --debug-building --debug-generators --ignore-site-config --hash -q debug-symbols=on -d +2 threading=multi stage"
notice: loading B2 from E:/Sources/cpp/tools/vcpkg/installed/x64-windows/tools/boost-build/src/kernel/bootstrap.jam
notice: Site configuration files will be ignored due to the
notice: --ignore-site-config command-line option.
notice: Loading explicitly specified user configuration file:
G:\cpp\buildt\boost-regex\x64-win-llvm-lto-static-md-dbg\user-config.jam
notice: Searching 'G:\cpp\buildt\boost-regex\x64-win-llvm-lto-static-md-dbg' for user-config configuration file 'user-config.jam'.
notice: Loading user-config configuration file 'user-config.jam' from 'G:/cpp/buildt/boost-regex/x64-win-llvm-lto-static-md-dbg'.
notice: [msvc-cfg] msvc-14.3 detected, command: 'C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\bin\Hostx64\x64\cl.exe'
notice: [clang-win] using compiler '"C:/Program Files/LLVM/bin/clang-cl.exe"', version '143', target 'x86_64', default address-model=64
notice: will use 'C:/Program Files/LLVM/bin/clang-cl.exe' for clang-win, condition clang-win-143
...
Skipped 196 lines
...
is viable
*** 1 viable generators
** generator clang-win.archive
composing: true
*** construct OBJ
from { ../src/posix_api.cpp.CPP }
properties: 64 x86 off off object on BOOST_ALL_NO_LIB=1 mt on on off true windows ../include&&/E:/Sources/cpp/tools/vcpkg/installed/x64-win-llvm-lto-static-md/include off off static -nologo -INCREMENTAL:NO -Brepro -DEBUG:FULL LIB yes yes off NT on on off define:link link link:toolset threading:runtime-link threading:toolset auto on on shared native off false project-relative @Jamfile%Jamfile.tag windows on win32 multi win 143 clang console debug off off all desktop
find-viable-generators target-type= OBJ property-set= clang-win-143/link-static
trying type OBJ
there are generators for this type
trying generator rc.compile.resource ( RC -> OBJ )
is viable
trying generator msvc.compile.c++ ( CPP -> OBJ )
trying generator msvc.compile.c ( C -> OBJ )
trying generator msvc.compile.rc ( RC -> OBJ )
trying generator msvc.compile.asm ( ASM -> OBJ )
trying generator msvc.compile.c.pch ( H -> C_PCH OBJ )
trying generator msvc.compile.c++.pch ( H -> CPP_PCH OBJ )
trying generator clang-win.compile.c++ ( CPP -> OBJ )
is viable
trying generator clang-win.compile.c ( C -> OBJ )
is viable
trying generator clang-win.compile.rc ( RC -> OBJ )
is viable
trying generator clang-win.compile.asm ( ASM -> OBJ )
is viable
trying generator clang-win.compile.c.pch ( H -> C_PCH OBJ )
is viable
trying generator clang-win.compile.c++.pch ( H -> CPP_PCH OBJ )
is viable
*** 6 viable generators
** generator clang-win.compile.c++
composing:
SUCCESS: [ address-model architecture asynch-exceptions cflags compileflags cxxflags cxxstd debug-store debug-symbols define exception-handling extern-c-nothrow force-include include inlining instruction-set mc-input-encoding mc-output-encoding mc-set-customer-bit optimization pch pch-file pch-header pch-source response-file rtti runtime-debugging runtime-link threading toolset toolset-clang:platform toolset-clang:version undef user-interface warnings warnings-as-errors ] { clang-win%clang-win.compile.c++-posix_api.obj.OBJ { ../src/posix_api.cpp.CPP } }
returned [ address-model architecture asynch-exceptions cflags compileflags cxxflags cxxstd debug-store debug-symbols define exception-handling extern-c-nothrow force-include include inlining instruction-set mc-input-encoding mc-output-encoding mc-set-customer-bit optimization pch pch-file pch-header pch-source response-file rtti runtime-debugging runtime-link threading toolset toolset-clang:platform toolset-clang:version undef user-interface warnings warnings-as-errors ] { clang-win%clang-win.compile.c++-posix_api.obj.OBJ { ../src/posix_api.cpp.CPP } }
generator clang-win.compile.c++ spawned
{ clang-win%clang-win.compile.c++-posix_api.obj.OBJ { ../src/posix_api.cpp.CPP } }
with usage requirements: [ address-model architecture asynch-exceptions cflags compileflags cxxflags cxxstd debug-store debug-symbols define exception-handling extern-c-nothrow force-include include inlining instruction-set mc-input-encoding mc-output-encoding mc-set-customer-bit optimization pch pch-file pch-header pch-source response-file rtti runtime-debugging runtime-link threading toolset toolset-clang:platform toolset-clang:version undef user-interface warnings warnings-as-errors ]
** generator 'clang-win.compile.c' pruned
** generator 'clang-win.compile.rc' pruned
** generator 'clang-win.compile.asm' pruned
** generator 'clang-win.compile.c.pch' pruned
** generator 'clang-win.compile.c++.pch' pruned
*** construct OBJ
from { ../src/regex.cpp.CPP }
properties: 64 x86 off off object on BOOST_ALL_NO_LIB=1 mt on on off true windows ../include&&/E:/Sources/cpp/tools/vcpkg/installed/x64-win-llvm-lto-static-md/include off off static -nologo -INCREMENTAL:NO -Brepro -DEBUG:FULL LIB yes yes off NT on on off define:link link link:toolset threading:runtime-link threading:toolset auto on on shared native off false project-relative @Jamfile%Jamfile.tag windows on win32 multi win 143 clang console debug off off all desktop
*** 6 viable generators
** generator clang-win.compile.c++
composing:
SUCCESS: [ address-model architecture asynch-exceptions cflags compileflags cxxflags cxxstd debug-store debug-symbols define exception-handling extern-c-nothrow force-include include inlining instruction-set mc-input-encoding mc-output-encoding mc-set-customer-bit optimization pch pch-file pch-header pch-source response-file rtti runtime-debugging
There is a problem building archives from boost Seems the boost build system doesn't like toolset paths with spaces coming from CMAKE_AR in this case. I can't seem to track where the error is.
Here is the details from vcpkg when trying to install boost-regex from example:
Package: boost-regex[core]:x64-win-llvm-lto-static-md -> 1.82.0#2
Host Environment
To Reproduce
vcpkg install boost-regex:x64-win-llvm-lto-static-md --clean-packages-after-build
Failure logs
G:\cpp\buildt\boost-regex\install-x64-win-llvm-lto-static-md-dbg-out.log
``` [1/2] cmd.exe /C "cd /D G:\cpp\buildt\boost-regex\src\ost-1.82.0-aceb223f87.clean\build && E:\Sources\cpp\tools\vcpkg\installed\x64-windows\tools\boost-build\b2.exe toolset=clang-win --user-config=G:/cpp/buildt/boost-regex/x64-win-llvm-lto-static-md-dbg/user-config.jam --stagedir=G:/cpp/buildt/boost-regex/x64-win-llvm-lto-static-md-dbg/stage --build-dir=G:/cpp/buildt/boost-regex/x64-win-llvm-lto-static-md-dbg runtime-link=shared link=static address-model=64 architecture=x86 target-os=windows threadapi=win32 variant=debug --disable-icu --disable-icu --with-atomic --with-random --with-date_time --with-filesystem --with-system --with-thread --with-chrono -j 17 -sBOOST_ROOT=E:/Sources/cpp/tools/vcpkg/installed/x64-windows/tools/boost-build -sBOOST_BUILD_PATH=E:/Sources/cpp/tools/vcpkg/installed/x64-windows/tools/boost-build --debug-configuration --debug-building --debug-generators --ignore-site-config --hash -q debug-symbols=on -d +2 threading=multi stage" FAILED: CMakeFiles/boost G:/cpp/buildt/boost-regex/x64-win-llvm-lto-static-md-dbg/CMakeFiles/boost cmd.exe /C "cd /D G:\cpp\buildt\boost-regex\src\ost-1.82.0-aceb223f87.clean\build && E:\Sources\cpp\tools\vcpkg\installed\x64-windows\tools\boost-build\b2.exe toolset=clang-win --user-config=G:/cpp/buildt/boost-regex/x64-win-llvm-lto-static-md-dbg/user-config.jam --stagedir=G:/cpp/buildt/boost-regex/x64-win-llvm-lto-static-md-dbg/stage --build-dir=G:/cpp/buildt/boost-regex/x64-win-llvm-lto-static-md-dbg runtime-link=shared link=static address-model=64 architecture=x86 target-os=windows threadapi=win32 variant=debug --disable-icu --disable-icu --with-atomic --with-random --with-date_time --with-filesystem --with-system --with-thread --with-chrono -j 17 -sBOOST_ROOT=E:/Sources/cpp/tools/vcpkg/installed/x64-windows/tools/boost-build -sBOOST_BUILD_PATH=E:/Sources/cpp/tools/vcpkg/installed/x64-windows/tools/boost-build --debug-configuration --debug-building --debug-generators --ignore-site-config --hash -q debug-symbols=on -d +2 threading=multi stage" notice: loading B2 from E:/Sources/cpp/tools/vcpkg/installed/x64-windows/tools/boost-build/src/kernel/bootstrap.jam notice: Site configuration files will be ignored due to the notice: --ignore-site-config command-line option. notice: Loading explicitly specified user configuration file: G:\cpp\buildt\boost-regex\x64-win-llvm-lto-static-md-dbg\user-config.jam notice: Searching 'G:\cpp\buildt\boost-regex\x64-win-llvm-lto-static-md-dbg' for user-config configuration file 'user-config.jam'. notice: Loading user-config configuration file 'user-config.jam' from 'G:/cpp/buildt/boost-regex/x64-win-llvm-lto-static-md-dbg'. notice: [msvc-cfg] msvc-14.3 detected, command: 'C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\bin\Hostx64\x64\cl.exe' notice: [clang-win] using compiler '"C:/Program Files/LLVM/bin/clang-cl.exe"', version '143', target 'x86_64', default address-model=64 notice: will use 'C:/Program Files/LLVM/bin/clang-cl.exe' for clang-win, condition