tags 977243 -pending thanks CC-ing on of upstream contributors.
@Casey could you please take a look? This part of the code fails with the newer boost_1.74? Thanks! It looks like the last version in git still fails to build. === ceph/src/common/async/completion.h: In instantiation of 'void ceph::async::detail::CompletionImpl<Executor1, Handler, T, Args>::destroy_defer(std::tuple<Args ...>&&) [with Executor1 = boost::asio::io_context::basic_executor_typ e<std::allocator<void>, 0>; Handler = boost::asio::detail::coro_handler<boost::asio::executor_binder<void (*)(), boost::asio::execution::any_executor<boost::asio::execution::context_as_t<boost::asio::execution_context&>, boost::asio::exec ution::detail::blocking::never_t<0>, boost::asio::execution::prefer_only<boost::asio::execution::detail::blocking::possibly_t<0> >, >boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::tracked_t<0> >, boos t::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::untracked_t<0> >, >boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::fork_t<0> >, boost::asio::execution::prefer_only<boost:: asio::execution::detail::relationship::continuation_t<0> > > >, void>; T = void; Args = {boost::system::error_code}]': /root/mod1/ceph/src/common/async/completion.h:188:8: required from here /root/mod1/ceph/src/common/async/completion.h:194:29: error: 'boost::asio::executor_work_guard<boost::asio::execution::any_executor<boost::asio::execution::context_as_t<boost::asio::execution_context&>, boost::asio::execution::detail::blo cking::never_t<0>, boost::asio::execution::prefer_only<boost::asio::execution::detail::blocking::possibly_t<0> >, >boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::tracked_t<0> >, boost::asio::execution ::prefer_only<boost::asio::execution::detail::outstanding_work::untracked_t<0> >, >boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::fork_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::d etail::relationship::continuation_t<0> > >, void>::executor_type' {aka 'class boost::asio::execution::any_executor<boost::asio::execution::context_as_t<boost::asio::execution_context&>, boost::asio::execution::detail::blocking::never_t<0> , boost::asio::execution::prefer_only<boost::asio::execution::detail::blocking::possibly_t<0> >, >boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::tracked_t<0> >, boost::asio::execution::prefer_only<boo st::asio::execution::detail::outstanding_work::untracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::fork_t<0> >, >boost::asio::execution::prefer_only<boost::asio::execution::detail::relationsh ip::continuation_t<0> > >'} has no member named 'defer'; did you mean 'prefer'? 194 | w.second.get_executor().defer(std::move(f), alloc2); | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~ | prefer ceph/src/common/async/completion.h: In instantiation of 'void ceph::async::detail::CompletionImpl<Executor1, Handler, T, Args>::destroy_dispatch(std::tuple<Args ...>&&) [with Executor1 = boost::asio::io_context::basic_executor_ type<std::allocator<void>, 0>; Handler = boost::asio::detail::coro_handler<boost::asio::executor_binder<void (*)(), boost::asio::execution::any_executor<boost::asio::execution::context_as_t<boost::asio::execution_context&>, boost::asio::e xecution::detail::blocking::never_t<0>, boost::asio::execution::prefer_only<boost::asio::execution::detail::blocking::possibly_t<0> >, >boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::tracked_t<0> >, b oost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::untracked_t<0> >, >boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::fork_t<0> >, boost::asio::execution::prefer_only<boos t::asio::execution::detail::relationship::continuation_t<0> > > >, void>; T = void; Args = {boost::system::error_code}]': /root/mod1/ceph/src/common/async/completion.h:196:8: required from here /root/mod1/ceph/src/common/async/completion.h:202:29: error: 'boost::asio::executor_work_guard<boost::asio::execution::any_executor<boost::asio::execution::context_as_t<boost::asio::execution_context&>, boost::asio::execution::detail::blo cking::never_t<0>, boost::asio::execution::prefer_only<boost::asio::execution::detail::blocking::possibly_t<0> >, >boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::tracked_t<0> >, boost::asio::execution ::prefer_only<boost::asio::execution::detail::outstanding_work::untracked_t<0> >, >boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::fork_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::d etail::relationship::continuation_t<0> > >, void>::executor_type' {aka 'class boost::asio::execution::any_executor<boost::asio::execution::context_as_t<boost::asio::execution_context&>, boost::asio::execution::detail::blocking::never_t<0> , boost::asio::execution::prefer_only<boost::asio::execution::detail::blocking::possibly_t<0> >, >boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::tracked_t<0> >, boost::asio::execution::prefer_only<boo st::asio::execution::detail::outstanding_work::untracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::fork_t<0> >, >boost::asio::execution::prefer_only<boost::asio::execution::detail::relationsh ip::continuation_t<0> > >'} has no member named 'dispatch' 202 | w.second.get_executor().dispatch(std::move(f), alloc2); | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~ ceph/src/common/async/completion.h: In instantiation of 'void ceph::async::detail::CompletionImpl<Executor1, Handler, T, Args>::destroy_post(std::tuple<Args ...>&&) [with Executor1 = boost::asio::io_context::basic_executor_type <std::allocator<void>, 0>; Handler = boost::asio::detail::coro_handler<boost::asio::executor_binder<void (*)(), boost::asio::execution::any_executor<boost::asio::execution::context_as_t<boost::asio::execution_context&>, boost::asio::execu tion::detail::blocking::never_t<0>, boost::asio::execution::prefer_only<boost::asio::execution::detail::blocking::possibly_t<0> >, >boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::tracked_t<0> >, boost ::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::untracked_t<0> >, >boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::fork_t<0> >, boost::asio::execution::prefer_only<boost::a sio::execution::detail::relationship::continuation_t<0> > > >, void>; T = void; Args = {boost::system::error_code}]': /root/mod1/ceph/src/common/async/completion.h:204:8: required from here /root/mod1/ceph/src/common/async/completion.h:210:29: error: 'boost::asio::executor_work_guard<boost::asio::execution::any_executor<boost::asio::execution::context_as_t<boost::asio::execution_context&>, boost::asio::execution::detail::blo cking::never_t<0>, boost::asio::execution::prefer_only<boost::asio::execution::detail::blocking::possibly_t<0> >, >boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::tracked_t<0> >, boost::asio::execution ::prefer_only<boost::asio::execution::detail::outstanding_work::untracked_t<0> >, >boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::fork_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::d etail::relationship::continuation_t<0> > >, void>::executor_type' {aka 'class boost::asio::execution::any_executor<boost::asio::execution::context_as_t<boost::asio::execution_context&>, boost::asio::execution::detail::blocking::never_t<0> , boost::asio::execution::prefer_only<boost::asio::execution::detail::blocking::possibly_t<0> >, >boost::asio::execution::prefer_only<boost::asio::execution::detail::outstanding_work::tracked_t<0> >, boost::asio::execution::prefer_only<boo st::asio::execution::detail::outstanding_work::untracked_t<0> >, boost::asio::execution::prefer_only<boost::asio::execution::detail::relationship::fork_t<0> >, >boost::asio::execution::prefer_only<boost::asio::execution::detail::relationsh ip::continuation_t<0> > >'} has no member named 'post' 210 | w.second.get_executor().post(std::move(f), alloc2); | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~ === Best regards Anton