you probably need the first commit from https://github.com/ceph/ceph/pull/38263
On Thu, Dec 24, 2020 at 8:28 AM Anton Gladky <gl...@debian.org> wrote: > > 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 >