In the #ceph-devel IRC channel, it was suggested that this list might be interested in this. I tried to build ceph-14.2.0 against boost-1.70. It builds fine without radosgw, but with it, it fails with this: > In file included from /var/tmp/portage/sys-cluster/ceph-14.2.0-r5/work/ceph-14.2.0/src/rgw/rgw_dmclock_async_scheduler.cc:3: > /var/tmp/portage/sys-cluster/ceph-14.2.0-r5/work/ceph-14.2.0/src/rgw/rgw_dmclock_async_scheduler.h: In member function 'rgw::dmclock::AsyncScheduler::executor_type rgw::dmclock::AsyncScheduler::get_executor()': > /var/tmp/portage/sys-cluster/ceph-14.2.0-r5/work/ceph-14.2.0/src/rgw/rgw_dmclock_async_scheduler.h:45:30: error: could not convert 'boost::asio::basic_waitable_timer<Clock, WaitTraits, Executor>::get_executor() [with Clock = ceph::time_detail::coarse_real_clock; WaitTraits = boost::asio::wait_traits<ceph::time_detail::coarse_real_clock>; Executor = boost::asio::executor; boost::asio::basic_waitable_timer<Clock, WaitTraits, Executor>::executor_type = boost::asio::executor]()' from 'boost::asio::basic_waitable_timer<ceph::time_detail::coarse_real_clock>::executor_type' {aka 'boost::asio::executor'} to 'rgw::dmclock::AsyncScheduler::executor_type' {aka 'boost::asio::io_context::executor_type'} > return timer.get_executor(); > ~~~~~~~~~~~~~~~~~~^~ > make[2]: *** [src/rgw/CMakeFiles/rgw_common.dir/build.make:418: src/rgw/CMakeFiles/rgw_common.dir/rgw_dmclock_async_scheduler.cc.o] Error 1 > make[1]: *** [CMakeFiles/Makefile2:7686: src/rgw/CMakeFiles/rgw_common.dir/all] Error 2 > make: *** [Makefile:141: all] Error 2 I am happy to try patches etc to get it building.