This issue is mainly intended as advance notice. Boost 1.87.0 release is planned for December 11.
Setup Details
Homebrew build environment. Shouldn't be OS/arch specific. CI hit this on macOS 13-14 (x86_64), macOS 13-15 (arm64) and Ubuntu 22.04 (x86_64).
Expected Behavior
Successful build.
Actual Behaviour
Compilation fails with errors like:
host/lib/deps/rpclib/include/rpc/detail/async_writer.h:22:31: error: no type named 'io_service' in namespace 'boost::asio'
22 | async_writer(boost::asio::io_service *io,
| ~~~~~~~~~~~~~^
Steps to reproduce the problem
Easiest way to reproduce may using CXXFLAGS=-DBOOST_ASIO_NO_DEPRECATED on Boost 1.66.0 - 1.86.0
An identical reproduction would be building recent 1.87.0.beta1.
Additional Information
Updating Boost minimum to 1.66.0 should allow replacing most/all deprecated APIs. If older Boost support is needed, then will require various #if BOOST_VERSION checks to support.
Issue Description
While testing the beta of upcoming Boost 1.87.0 in Homebrew (https://github.com/Homebrew/homebrew-core/pull/198115), UHD failed to build due to using deprecated Boost Asio APIs that were removed, e.g. https://github.com/boostorg/asio/commit/ec0908c562102915423d8bd7aefd3079efbb6c86
https://github.com/EttusResearch/uhd/blob/635ad362ae60f82b3131970d6f8171505dce6ac7/host/lib/deps/rpclib/include/rpc/detail/async_writer.h#L22
This issue is mainly intended as advance notice. Boost 1.87.0 release is planned for December 11.
Setup Details
Homebrew build environment. Shouldn't be OS/arch specific. CI hit this on macOS 13-14 (x86_64), macOS 13-15 (arm64) and Ubuntu 22.04 (x86_64).
Expected Behavior
Successful build.
Actual Behaviour
Compilation fails with errors like:
Steps to reproduce the problem
Easiest way to reproduce may using
CXXFLAGS=-DBOOST_ASIO_NO_DEPRECATED
on Boost 1.66.0 - 1.86.0An identical reproduction would be building recent 1.87.0.beta1.
Additional Information
Updating Boost minimum to 1.66.0 should allow replacing most/all deprecated APIs. If older Boost support is needed, then will require various
#if BOOST_VERSION
checks to support.