Windows 10 64, VS2019 16.3
Steps to reproduce the behavior:
./vcpkg install boost
vcpkg Boost is now on 1.71.0 but the built DLLs' filenames are version 1.70.
After this update, i started receiving an error "ambiguous operator <<" in my code from boost::log. I'm not sure if this is due to an error in the latest version of boost, or if the update in vcpkg caused it.
Seems this happens everytime the boost libraries are updated. I don't know if it's a vcpkg issue, boost library issue, cmake issue, etc but somewhere there's a change to the version number that is not being passed on but would appear to have to be manually changed (not good as it keeps getting forgotten about until someone discovers it) :(
Things like this should be caught in testing/qa review but for some reason it doesn't. :(
Appears the ports/boost-modular-build-helper files still haven't been updated to reflect version 1.71 - they still have 1.70 hard coded.
I "vcpkg removed" all the boost libraries and any other packages depending on them. I updated the ports\boost-build\portfile.cmake (build and hash), CONTROL (build) files. Then I updated the ports\boost-modular-build-helper\boost-modular-build.cmake (version in string replace line), CONTROL (version) and Jamroot.jam (version) files. Then reinstalled the boost libraries and the other packages depending on them. It seems to have worked and the dll and pdb files now have 1_71 instead of 1_70.
Thanks for posting this issue. This issue has been fixed. So I am closing this issue for now.
Fixed by PR https://github.com/microsoft/vcpkg/pull/8606.
Is this actually fixed? I'm building boost and it's failing building boost-spirit. This is a fresh install.
Building package boost-spirit[core]:x86-windows...
-- Downloading https://github.com/boostorg/spirit/archive/boost-1.71.0.tar.gz...
-- Extracting source D:/dev/vcpkg/downloads/boostorg-spirit-boost-1.71.0.tar.gz
CMake Error at scripts/cmake/vcpkg_extract_source_archive_ex.cmake:140 (file):
file RENAME failed to rename
D:/dev/vcpkg/buildtrees/boost-spirit/src/TEMP/spirit-boost-1.71.0
to
D:/dev/vcpkg/buildtrees/boost-spirit/src/ost-1.71.0-80737223c6
because: No such file or directory
Call Stack (most recent call first):
scripts/cmake/vcpkg_from_github.cmake:139 (vcpkg_extract_source_archive_ex)
ports/boost-spirit/portfile.cmake:5 (vcpkg_from_github)
scripts/ports.cmake:94 (include)
Error: Building package boost-spirit:x86-windows failed with: BUILD_FAILED
Please ensure you're using the latest portfiles with `.\vcpkg update`, then
submit an issue at https://github.com/Microsoft/vcpkg/issues including:
Package: boost-spirit:x86-windows
Vcpkg version: 2019.09.12-nohash
Additionally, attach any relevant sections from the log files above
ditto.
Additional packages (*) will be modified to complete this operation.
Starting package 1/72: boost-regex:x64-windows
Building package boost-regex[core]:x64-windows...
-- Downloading https://github.com/boostorg/regex/archive/boost-1.71.0.tar.gz...
-- Extracting source C:/Users/myname/source/vcpkg/downloads/boostorg-regex-boost-1.71.0.tar.gz
-- Using source at C:/Users/myname/source/vcpkg/buildtrees/boost-regex/src/ost-1.71.0-0c1b0890fe
-- Building x64-windows-rel
CMake Error at scripts/cmake/vcpkg_execute_required_process.cmake:72 (message):
Command failed: C:/Users/myname/source/vcpkg/installed/x64-windows/tools/boost-build/b2.exe --stagedir=C:/Users/myname/source/vcpkg/buildtrees/boost-regex/x64-windows-rel/stage --build-dir=C:/Users/myname/source/vcpkg/buildtrees/boost-regex/x64-windows-rel --user-config=C:/Users/myname/source/vcpkg/buildtrees/boost-regex/x64-windows-rel/user-config.jam -j8 --debug-configuration --debug-building --debug-generators --disable-icu --ignore-site-config --hash -q -sZLIB_INCLUDE=C:/Users/myname/source/vcpkg/installed/x64-windows/include -sBZIP2_INCLUDE=C:/Users/myname/source/vcpkg/installed/x64-windows/include threading=multi threadapi=win32 runtime-link=shared link=shared address-model=64 architecture=x86 toolset=msvc -sZLIB_BINARY=zlib -sZLIB_LIBPATH=C:/Users/myname/source/vcpkg/installed/x64-windows/lib -sBZIP2_BINARY=bz2 -sBZIP2_LIBPATH=C:/Users/myname/source/vcpkg/installed/x64-windows/lib variant=release debug-symbols=on
Working Directory: C:/Users/myname/source/vcpkg/buildtrees/boost-regex/src/ost-1.71.0-0c1b0890fe/build
Error code: 1
See logs for more information:
rel-err-log:
build-request.jam: No such file or directory
alias.jam: No such file or directory
feature.jam: No such file or directory
rel-out-log:
notice: found boost-build.jam at C:/Users/myname/source/vcpkg/installed/x64-windows/tools/boost-build/boost-build.jam
notice: loading Boost.Build from C:/Users/myname/source/vcpkg/installed/x64-windows/tools/boost-build/src/kernel
C:/Users/myname/source/vcpkg/installed/x64-windows/tools/boost-build/src/tools/features\address-model-feature.jam:13: in load
ERROR: rule "feature.feature" unknown in module "address-model-feature".
C:\Users\myname\source\vcpkg\installed\x64-windows\tools\boost-build\src\kernel\modules.jam:295: in import
C:/Users/myname/source/vcpkg/installed/x64-windows/tools/boost-build/src/tools/features__init_features__.jam:22: in load
C:\Users\myname\source\vcpkg\installed\x64-windows\tools\boost-build\src\kernel\modules.jam:295: in import
C:/Users/myname/source/vcpkg/installed/x64-windows/tools/boost-build/src/tools\builtin.jam:16: in load
C:\Users\myname\source\vcpkg\installed\x64-windows\tools\boost-build\src\kernel\modules.jam:295: in import
C:/Users/myname/source/vcpkg/installed/x64-windows/tools/boost-build/src\build-system.jam:12: in load
C:\Users\myname\source\vcpkg\installed\x64-windows\tools\boost-build\src\kernel\modules.jam:295: in import
C:\Users\myname\source\vcpkg\installed\x64-windows\tools\boost-build\src\kernel\bootstrap.jam:139: in boost-build
C:\Users\myname\source\vcpkg\installed\x64-windows\tools\boost-build\boost-build.jam:8: in module scope
@Nuclearfossil @Xis-Ytneves, from your failure logs, it looks a different issue with original issue, could you report a separate issue to track?
@PhoebeHui - crap, this totally fell off my plate. I'm in the process of changing jobs right now, but I'll see what I can do about revisiting this.
Exactly the same happened again with boost-math and me. Any help? Should I reopen this issue or create new one?
Most helpful comment
I "vcpkg removed" all the boost libraries and any other packages depending on them. I updated the ports\boost-build\portfile.cmake (build and hash), CONTROL (build) files. Then I updated the ports\boost-modular-build-helper\boost-modular-build.cmake (version in string replace line), CONTROL (version) and Jamroot.jam (version) files. Then reinstalled the boost libraries and the other packages depending on them. It seems to have worked and the dll and pdb files now have 1_71 instead of 1_70.