Skip to content
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

Add support for upcoming Boost 1.87.0 (Boost.Asio removals) #9596

Open
cho-m opened this issue Nov 28, 2024 · 6 comments
Open

Add support for upcoming Boost 1.87.0 (Boost.Asio removals) #9596

cho-m opened this issue Nov 28, 2024 · 6 comments

Comments

@cho-m
Copy link

cho-m commented Nov 28, 2024

Advance notice that Monero does not compile with upcoming Boost 1.87.0 (based on beta1) as Boost.Asio has removed the deprecated io_service boostorg/asio@ec0908c

This causes errors like:

contrib/epee/include/net/net_utils_base.h:33:10: fatal error: 'boost/asio/io_service.hpp' file not found
   33 | #include <boost/asio/io_service.hpp>
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~

And impacts all usage of boost::asio::io_service (along with various other removed functions/methods)

io_service was deprecated in favor of io_context back in 1.66.0 (boostorg/asio@b60e92b). Easiest approach is to require a minimum of Boost 1.66.0 and use newer APIs. Otherwise, would need to create many #if BOOST_VERSION ... conditions for compatibility.

Related: https://www.boost.org/doc/libs/1_86_0/doc/html/boost_asio/net_ts.html

@tobtoht
Copy link
Contributor

tobtoht commented Dec 13, 2024

Boost 1.87.0 was released a few days ago, so this will start breaking development builds and CI soon.

I'm not very familiar with this part of the codebase. @vtnerd maybe?

@0xFFFC0000
Copy link
Collaborator

that io_service to io_context for boost is going to be a huge PR. We are using io_service in 381 different place, and as asio dev are saying the change is not backward compatible. boostorg/asio#110

@vtnerd
Copy link
Contributor

vtnerd commented Dec 13, 2024

There's more than just the io_service removal in this version of boost, so it's going to be rough change. As someone mentioned, we should probably bump the minmum boost version, some of the changes are going to be a tough to workaround otherwise.

@tobtoht
Copy link
Contributor

tobtoht commented Dec 13, 2024

We can bump the minimum to 1.66.0 per #9446 and a PR to bump boost in release builds from 1.64.0 to 1.84.0 is ready.

@vtnerd
Copy link
Contributor

vtnerd commented Dec 17, 2024

I'm working on a patch using Boost 1.66-1.87 as the target. Lots of changes being made, so it may take a while to test them.

@vtnerd
Copy link
Contributor

vtnerd commented Dec 18, 2024

See #9628

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants