microsoft / vcpkg

C++ Library Manager for Windows, Linux, and MacOS
MIT License
22k stars 6.12k forks source link

[boost-container] build failure on Windows (missing boost-static-assert dependency) #38679

Closed ajtribick closed 3 weeks ago

ajtribick commented 1 month ago

Operating system

Windows

Compiler

MSVC

Steps to reproduce the behavior

`vcpkg install boost-container`

Failure logs

CMake Error at scripts/cmake/vcpkg_execute_required_process.cmake:112 (message):
    Command failed: "C:/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/Ninja/ninja.exe" -v
    Working Directory: C:/vcpkg/buildtrees/boost-container/x64-windows-rel/vcpkg-parallel-configure
    Error code: 1
    See logs for more information:
      C:\vcpkg\buildtrees\boost-container\config-x64-windows-dbg-CMakeCache.txt.log
      C:\vcpkg\buildtrees\boost-container\config-x64-windows-rel-CMakeCache.txt.log
      C:\vcpkg\buildtrees\boost-container\config-x64-windows-out.log

Call Stack (most recent call first):
  installed/x64-windows/share/vcpkg-cmake/vcpkg_cmake_configure.cmake:261 (vcpkg_execute_required_process)
  installed/x64-windows/share/vcpkg-boost/boost-install.cmake:55 (vcpkg_cmake_configure)
  ports/boost-container/portfile.cmake:12 (boost_configure_and_install)
  scripts/ports.cmake:175 (include)

C:\vcpkg\buildtrees\boost-container\config-x64-windows-out.log:

  Could not find a package configuration file provided by
  "boost_static_assert" (requested version 1.85.0) with any of the following
  names:

    boost_static_assertConfig.cmake
    boost_static_assert-config.cmake

  Add the installation prefix of "boost_static_assert" to CMAKE_PREFIX_PATH
  or set "boost_static_assert_DIR" to a directory containing one of the above
  files.  If "boost_static_assert" provides a separate development package or
  SDK, be sure it has been installed.
Call Stack (most recent call first):
  C:/vcpkg/installed/x64-windows/share/boost/BoostConfig.cmake:67 (find_package)
  C:/vcpkg/installed/x64-windows/share/boost/BoostConfig.cmake:128 (boostcfg_find_component)
  C:/vcpkg/installed/x64-windows/share/boost/vcpkg-cmake-wrapper.cmake:3 (_find_package)
  C:/vcpkg/scripts/buildsystems/vcpkg.cmake:813 (include)
  C:/vcpkg/installed/x64-windows/share/boost/cmake-build/BoostRoot.cmake:234 (find_package)
  C:/vcpkg/installed/x64-windows/share/boost/cmake-build/BoostRoot.cmake:274 (__boost_scan_dependencies)
  CMakeLists.txt:10 (include)

Additional context

Appears to be a missing dependency on the boost-static-assert package.

Running vcpkg install boost-static-assert before running vcpkg install boost-container fixes the issue.

Neumann-A commented 1 month ago

This is a missing dependency. Maybe the generate script needs to lern to parse the CMake files instead of the b2 files.

dg0yt commented 3 weeks ago

Regression.

dg0yt commented 3 weeks ago

The release note says they removed the dependency... not in CMake at least.

Neumann-A commented 3 weeks ago

The release note says they removed the dependency... not in CMake at least.

do you have a link for that?

Neumann-A commented 3 weeks ago

nevermind found https://github.com/boostorg/container/commit/fb822f043515981d07d31fbc5f0484b791507e9d

dg0yt commented 3 weeks ago

And https://www.boost.org/doc/libs/1_85_0/doc/html/container/release_notes.html#container.release_notes.release_notes_boost_1_85_0