-
Notifications
You must be signed in to change notification settings - Fork 7.3k
[boost] update to 1.87.0 #42678
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[boost] update to 1.87.0 #42678
Conversation
|
there's no 1.87.0 release for boost-compatibility, so I keep it as 1.86.0 |
|
Regarding the |
|
Below ports should do the same thing as The line 31 of |
thanks |
|
@Cheney-W asio removed some deprecated facilities, see https://www.boost.org/doc/libs/1_87_0/doc/html/boost_asio/history.html, and this caused some ports build failed。 for https://github.com/glynos/cpp-netlib, it has been archived by the owner on Apr 3, 2020, should we still need to support it? |
| set(FEATURE_OPTIONS "") | ||
| include("${CMAKE_CURRENT_LIST_DIR}/features.cmake") | ||
| if (VCPKG_LIBRARY_LINKAGE STREQUAL "static") | ||
| list(APPEND FEATURE_OPTIONS "-DBOOST_IOSTREAMS_ZSTD_TARGET=zstd::libzstd_static") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| list(APPEND FEATURE_OPTIONS "-DBOOST_IOSTREAMS_ZSTD_TARGET=zstd::libzstd_static") | |
| list(APPEND FEATURE_OPTIONS "-DBOOST_IOSTREAMS_ZSTD_TARGET=zstd::libzstd") |
if it is necessary at all. This target is always created.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
thanks, I changed to
if (BOOST_IOSTREAMS_ENABLE_ZSTD)
list(APPEND FEATURE_OPTIONS "-DBOOST_IOSTREAMS_ZSTD_TARGET=zstd::libzstd")
endif()
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@dg0yt there's an error when vcpkg install avro-cpp:x64-windows-static:
CMake Error at D:/installed/x64-windows-static/share/boost_iostreams/boost_iostreams-targets.cmake:60 (set_target_properties):
The link interface of target "Boost::iostreams" contains:
zstd::libzstd
but the target was not found. Possible reasons include:
* There is a typo in the target name.
* A find_package call is missing for an IMPORTED target.
* An ALIAS target is missing.
Call Stack (most recent call first):
D:/installed/x64-windows-static/share/boost_iostreams/boost_iostreams-config.cmake:67 (include)
D:/a/_work/1/s/scripts/buildsystems/vcpkg.cmake:859 (_find_package)
D:/installed/x64-windows-static/share/boost/BoostConfig.cmake:67 (find_package)
D:/installed/x64-windows-static/share/boost/BoostConfig.cmake:128 (boostcfg_find_component)
D:/installed/x64-windows-static/share/boost/vcpkg-cmake-wrapper.cmake:3 (_find_package)
D:/a/_work/1/s/scripts/buildsystems/vcpkg.cmake:813 (include)
D:/downloads/tools/cmake-3.30.1-windows/cmake-3.30.1-windows-i386/share/cmake-3.30/Modules/FindBoost.cmake:610 (find_package)
D:/installed/x64-windows-static/share/boost/vcpkg-cmake-wrapper.cmake:3 (_find_package)
D:/a/_work/1/s/scripts/buildsystems/vcpkg.cmake:813 (include)
CMakeLists.txt:77 (find_package)
config-x64-windows-static-out.log
but if I changed to
if (VCPKG_LIBRARY_LINKAGE STREQUAL "static")
list(APPEND FEATURE_OPTIONS "-DBOOST_IOSTREAMS_ZSTD_TARGET=zstd::libzstd_static")
endif()
it works well, seems target zstd::libzstd not work when build static?
boost_iostreams-targets.txt
zstdTargets.txt
I'd reconsider the WebSocket++ removal, since this breaks many (including our) VCPKG setup |
Then someone needs to actually maintain WebSocket++. This is not vcpkg's choice: We can't leave Boost out of date forever, and we can't become maintainers for every downstream project that is unmaintained and no longer compiles. |
|
@BillyONeal |
I don't see an obvious way to remove the boost dependency in: We have no objection to bringing it back if it can be made to compile. But relying on networking bits which have been unmaintained for 5+ years is probably a bad idea either way. |
[A community user raised that the `vcpkg` instructions no longer work](https://hazelcastcommunity.slack.com/archives/C015Q2TUBKL/p1743010446548399). Specifically, `vcpkg` delisted Hazelcast when upgrading to Boost `1.87` - microsoft/vcpkg#42678. As such an version of `vcpkg` must be used that _does_ contain Hazelcast. Tested locally on a fresh environment via Docker: ``` docker run --interactive --tty --rm --platform linux/amd64 ubuntu:latest bash -c "apt-get -y update && apt-get install -y curl git build-essential zip unzip tar pkg-config && git clone https://github.com/microsoft/vcpkg --branch 2025.02.14 && ./vcpkg/bootstrap-vcpkg.sh && ./vcpkg/vcpkg install hazelcast-cpp-client[openssl] --recurse" ``` > Successfully downloaded hazelcast-hazelcast-cpp-client-v5.3.0.tar.gz This is a _workaround_ until the client can be relisted.
[A community user raised that the `vcpkg` instructions no longer work](https://hazelcastcommunity.slack.com/archives/C015Q2TUBKL/p1743010446548399). Specifically, `vcpkg` delisted Hazelcast when upgrading to Boost `1.87` - microsoft/vcpkg#42678. As such an version of `vcpkg` must be used that _does_ contain Hazelcast. Tested locally on a fresh environment via Docker: ``` docker run --interactive --tty --rm --platform linux/amd64 ubuntu:latest bash -c "apt-get -y update && apt-get install -y curl git build-essential zip unzip tar pkg-config && git clone https://github.com/microsoft/vcpkg --branch 2025.02.14 && ./vcpkg/bootstrap-vcpkg.sh && ./vcpkg/vcpkg install hazelcast-cpp-client[openssl] --recurse" ``` > Successfully downloaded hazelcast-hazelcast-cpp-client-v5.3.0.tar.gz This is a _workaround_ until the client can be relisted.
|
The problem with this unilateral decision is that cpprestsdk relies on websocketpp to provide WebSocket functionality. cpprestsdk is used by a LOT of vcpkg users. |
It isn't 'unilateral'. A lot more vcpkg customers use boost than use cpprestsdk. Integrity of the registry is more important than any individual thing in the registry.
cpprestsdk is effectively unmaintained, and the websockets part is built on websocketspp which has been unmaintained for even longer. vcpkg can't effectively become the new upstream when one of the ~2500 things in the registry decides they don't want to do it any more. |
Fair enough. I do see websocketpp is being updated - https://github.com/zaphoyd/websocketpp/pull/1164 |
Wow, indeed, back from the dead. We would of course love to put this back if it can compile with current Boost. |
[A community user raised that the `vcpkg` instructions no longer work](https://hazelcastcommunity.slack.com/archives/C015Q2TUBKL/p1743010446548399). Specifically, `vcpkg` delisted Hazelcast when upgrading to Boost `1.87` - microsoft/vcpkg#42678. As such an version of `vcpkg` must be used that _does_ contain Hazelcast. Tested locally on a fresh environment via Docker: ``` docker run --interactive --tty --rm --platform linux/amd64 ubuntu:latest bash -c "apt-get -y update && apt-get install -y curl git build-essential zip unzip tar pkg-config && git clone https://github.com/microsoft/vcpkg --branch 2025.02.14 && ./vcpkg/bootstrap-vcpkg.sh && ./vcpkg/vcpkg install hazelcast-cpp-client[openssl] --recurse" ``` > Successfully downloaded hazelcast-hazelcast-cpp-client-v5.3.0.tar.gz This is a _workaround_ until the client can be relisted.
[A community user raised that the `vcpkg` instructions no longer work](https://hazelcastcommunity.slack.com/archives/C015Q2TUBKL/p1743010446548399). Specifically, `vcpkg` delisted Hazelcast when upgrading to Boost `1.87` - microsoft/vcpkg#42678. As such an version of `vcpkg` must be used that _does_ contain Hazelcast. Tested locally on a fresh environment via Docker: ``` docker run --interactive --tty --rm --platform linux/amd64 ubuntu:latest bash -c "apt-get -y update && apt-get install -y curl git build-essential zip unzip tar pkg-config && git clone https://github.com/microsoft/vcpkg --branch 2025.02.14 && ./vcpkg/bootstrap-vcpkg.sh && ./vcpkg/vcpkg install hazelcast-cpp-client[openssl] --recurse" ``` > Successfully downloaded hazelcast-hazelcast-cpp-client-v5.3.0.tar.gz This is a _workaround_ until the client can be relisted.
[A community user raised that the `vcpkg` instructions no longer work](https://hazelcastcommunity.slack.com/archives/C015Q2TUBKL/p1743010446548399). Specifically, `vcpkg` delisted Hazelcast when upgrading to Boost `1.87` - microsoft/vcpkg#42678. As such an version of `vcpkg` must be used that _does_ contain Hazelcast. Tested locally on a fresh environment via Docker: ``` docker run --interactive --tty --rm --platform linux/amd64 ubuntu:latest bash -c "apt-get -y update && apt-get install -y curl git build-essential zip unzip tar pkg-config && git clone https://github.com/microsoft/vcpkg --branch 2025.02.14 && ./vcpkg/bootstrap-vcpkg.sh && ./vcpkg/vcpkg install hazelcast-cpp-client[openssl] --recurse" ``` > Successfully downloaded hazelcast-hazelcast-cpp-client-v5.3.0.tar.gz This is a _workaround_ until the client can be relisted.
[A community user raised that the `vcpkg` instructions no longer work](https://hazelcastcommunity.slack.com/archives/C015Q2TUBKL/p1743010446548399). Specifically, `vcpkg` delisted Hazelcast when upgrading to Boost `1.87` - microsoft/vcpkg#42678. As such an version of `vcpkg` must be used that _does_ contain Hazelcast. Tested locally on a fresh environment via Docker: ``` docker run --interactive --tty --rm --platform linux/amd64 ubuntu:latest bash -c "apt-get -y update && apt-get install -y curl git build-essential zip unzip tar pkg-config && git clone https://github.com/microsoft/vcpkg --branch 2025.02.14 && ./vcpkg/bootstrap-vcpkg.sh && ./vcpkg/vcpkg install hazelcast-cpp-client[openssl] --recurse" ``` > Successfully downloaded hazelcast-hazelcast-cpp-client-v5.3.0.tar.gz This is a _workaround_ until the client can be relisted.
|
Why websocketpp is removed from vcpkg? |
Because it can't be built with current versions of Boost. It's effectively unmaintained at this point. If upstream would fix it to build with current Boost we would put it back. |
|
Oh, ok. I just want to say I was using it in manifest mode, after updating baseline in vcpkg.json, it just throw a git error that says invalid tree object or something, not very clear, spent some time debugging it. |
Improving the error message is a reasonable issue to report if you have a repro |
|
Here's a repro: #45778 (Not sure if it is duplicated to any existing issue) |
./vcpkg x-add-version --alland committing the result.