websocketpp icon indicating copy to clipboard operation
websocketpp copied to clipboard

Compatibility fixes for Boost 1.87

Open amini-allight opened this issue 1 week ago • 7 comments

On December 12th 2024 Boost 1.87 was released. This release finally removed support for a number of pieces of Boost.ASIO functionality that had been deprecated since roughly Boost 1.66 back in 2017. Most importantly boost::asio::io_service is no longer available, replaced by boost::asio::io_context. This version of Boost was pushed into the Arch Linux repositories on January 19th 2025 and, once I updated my system, caused builds to fail in a project of mine that depends upon WebSocket++.

I investigated the cause of these failed builds and found that WebSocket++ makes heavy use of this long-deprecated Boost.ASIO functionality, so I authored changes for my own use that rectify this problem. I am unsure if you will want to accept this pull request because the changes are numerous and wide-ranging but I thought I should bring it to your attention. As the developer of a dependent project on a bleeding-edge rolling-release distro I am probably one of the first people to be impacted by this, but the impact will spread as Boost 1.87 begins to be included in regular releases of other distros.

I have tested that this code allows my project to compile, all examples and tests compile and it passes all existing tests. I have not tested whether or not this impacts compatibility with the standalone ASIO backend.

I also have a very similar version of these changes that fix this issue for the master branch which I can make a pull request for upon request.

amini-allight avatar Feb 12 '25 05:02 amini-allight