clang++ -DHAVE_CONFIG_H -I. -I./ext/yahttp -pthread -O3 -Wall -pthread -DSYSCONFDIR=\"/etc/powerdns\" -I./ext/json11 -I./ext/yahttp -DSYSCONFDIR=\"/etc/powerdns\" -DPKGLIBDIR=\"/usr/lib64/pdns-recursor\" -DLOCALSTATEDIR=\"/var/run\" -DNODCACHEDIR=\"/var/lib/lib/pdns-recursor\" -fPIE -DPIE -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 --param ssp-buffer-size=4 -fstack-protector -Wall -Wextra -Wshadow -Wno-unused-parameter -g -O2 -O2 -march=native -g -gdwarf-5 -fdebug-prefix-map=/var/tmp/portage/net-dns/pdns-recursor-4.3.0-r1/work=/usr/src/debug/net-dns/pdns-recursor-4.3.0-r1 -c -o xpf.o xpf.cc In file included from validate-recursor.cc:3: In file included from ./syncres.hh:42: In file included from ./recpacketcache.hh:41: In file included from ./rec-protobuf.hh:25: ./filterpo.hh:262:21: warning: loop variable 'zone' of type 'const std::__1::shared_ptr<DNSFilterEngine::Zone>' creates a copy from type 'const std::__1::shared_ptr<DNSFilterEngine::Zone>' [-Wrange-loop-construct] for (const auto zone : d_zones) { ^ ./filterpo.hh:262:10: note: use reference type 'const std::__1::shared_ptr<DNSFilterEngine::Zone> &' to prevent copying for (const auto zone : d_zones) { ^~~~~~~~~~~~~~~~~ & webserver.cc:110:74: error: use of undeclared identifier '_1' YaHTTP::THandlerFunction f = boost::bind(&bareHandlerWrapper, handler, _1, _2); ^ webserver.cc:110:78: error: use of undeclared identifier '_2' YaHTTP::THandlerFunction f = boost::bind(&bareHandlerWrapper, handler, _1, _2); ^ webserver.cc:182:74: error: use of undeclared identifier '_1' HandlerFunction f = boost::bind(&WebServer::apiWrapper, this, handler, _1, _2, allowPassword); ^ webserver.cc:182:78: error: use of undeclared identifier '_2' HandlerFunction f = boost::bind(&WebServer::apiWrapper, this, handler, _1, _2, allowPassword); ^ webserver.cc:199:74: error: use of undeclared identifier '_1' HandlerFunction f = boost::bind(&WebServer::webWrapper, this, handler, _1, _2); ^ webserver.cc:199:78: error: use of undeclared identifier '_2' HandlerFunction f = boost::bind(&WebServer::webWrapper, this, handler, _1, _2); ^ 6 errors generated. make[2]: *** [Makefile:1527: webserver.o] Error 1 make[2]: *** Waiting for unfinished jobs.... In file included from ws-recursor.cc:36: In file included from ./syncres.hh:42: In file included from ./recpacketcache.hh:41: In file included from ./rec-protobuf.hh:25: ./filterpo.hh:262:21: warning: loop variable 'zone' of type 'const std::__1::shared_ptr<DNSFilterEngine::Zone>' creates a copy from type 'const std::__1::shared_ptr<DNSFilterEngine::Zone>' [-Wrange-loop-construct] for (const auto zone : d_zones) { ^ ./filterpo.hh:262:10: note: use reference type 'const std::__1::shared_ptr<DNSFilterEngine::Zone> &' to prevent copying for (const auto zone : d_zones) { ^~~~~~~~~~~~~~~~~ & 1 warning generated. ws-recursor.cc:515:89: error: use of undeclared identifier '_1' d_ws->registerApiHandler("/jsonstat", boost::bind(&RecursorWebServer::jsonstat, this, _1, _2), true); ^ ws-recursor.cc:515:93: error: use of undeclared identifier '_2' d_ws->registerApiHandler("/jsonstat", boost::bind(&RecursorWebServer::jsonstat, this, _1, _2), true); ^ ws-recursor.cc:746:94: error: use of undeclared identifier '_1' server->asyncWaitForConnections(d_fdm, boost::bind(&AsyncWebServer::serveConnection, this, _1)); ^ In file included from ws-recursor.cc:25: In file included from ./ws-recursor.hh:27: In file included from ./mplexer.hh:30: In file included from /usr/include/boost/multi_index/ordered_index.hpp:17: In file included from /usr/include/boost/multi_index/detail/ord_index_impl.hpp:81: /usr/include/boost/bind/bind.hpp:398:9: error: no matching function for call to object of type 'boost::_mfi::mf2<void, RecursorWebServer, HttpRequest *, HttpResponse *>' unwrapper<F>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_], a[base_type::a3_]); ^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/boost/bind/bind.hpp:1318:16: note: in instantiation of function template specialization 'boost::_bi::list3<boost::_bi::value<RecursorWebServer *>, boost::arg<1>, boost::_bi::value<std::__1::placeholders::__ph<2> > >::operator()<boost::_mfi::mf2<void, RecursorWebServer, HttpRequest *, HttpResponse *>, boost::_bi::rrlist2<HttpRequest *, HttpResponse *> >' requested here return l_( type<result_type>(), f_, a, 0 ); ^ /usr/include/boost/function/function_template.hpp:158:33: note: in instantiation of function template specialization 'boost::_bi::bind_t<void, boost::_mfi::mf2<void, RecursorWebServer, HttpRequest *, HttpResponse *>, boost::_bi::list3<boost::_bi::value<RecursorWebServer *>, boost::arg<1>, boost::_bi::value<std::__1::placeholders::__ph<2> > > >::operator()<HttpRequest *, HttpResponse *>' requested here BOOST_FUNCTION_RETURN((*f)(BOOST_FUNCTION_ARGS)); ^ /usr/include/boost/function/function_template.hpp:940:53: note: in instantiation of member function 'boost::detail::function::void_function_obj_invoker2<boost::_bi::bind_t<void, boost::_mfi::mf2<void, RecursorWebServer, HttpRequest *, HttpResponse *>, boost::_bi::list3<boost::_bi::value<RecursorWebServer *>, boost::arg<1>, boost::_bi::value<std::__1::placeholders::__ph<2> > > >, void, HttpRequest *, HttpResponse *>::invoke' requested here { { &manager_type::manage }, &invoker_type::invoke }; ^ /usr/include/boost/function/function_template.hpp:720:13: note: in instantiation of function template specialization 'boost::function2<void, HttpRequest *, HttpResponse *>::assign_to<boost::_bi::bind_t<void, boost::_mfi::mf2<void, RecursorWebServer, HttpRequest *, HttpResponse *>, boost::_bi::list3<boost::_bi::value<RecursorWebServer *>, boost::arg<1>, boost::_bi::value<std::__1::placeholders::__ph<2> > > > >' requested here this->assign_to(f); ^ /usr/include/boost/function/function_template.hpp:1086:5: note: in instantiation of function template specialization 'boost::function2<void, HttpRequest *, HttpResponse *>::function2<boost::_bi::bind_t<void, boost::_mfi::mf2<void, RecursorWebServer, HttpRequest *, HttpResponse *>, boost::_bi::list3<boost::_bi::value<RecursorWebServer *>, boost::arg<1>, boost::_bi::value<std::__1::placeholders::__ph<2> > > > >' requested here base_type(f) ^ ws-recursor.cc:515:41: note: in instantiation of function template specialization 'boost::function<void (HttpRequest *, HttpResponse *)>::function<boost::_bi::bind_t<void, boost::_mfi::mf2<void, RecursorWebServer, HttpRequest *, HttpResponse *>, boost::_bi::list3<boost::_bi::value<RecursorWebServer *>, boost::arg<1>, boost::_bi::value<std::__1::placeholders::__ph<2> > > > >' requested here d_ws->registerApiHandler("/jsonstat", boost::bind(&RecursorWebServer::jsonstat, this, _1, _2), true); ^ /usr/include/boost/bind/mem_fn_template.hpp:278:7: note: candidate function not viable: no known conversion from 'std::__1::placeholders::__ph<2>' to 'HttpResponse *' for 3rd argument R operator()(T * p, A1 a1, A2 a2) const ^ /usr/include/boost/bind/mem_fn_template.hpp:283:25: note: candidate function template not viable: no known conversion from 'std::__1::placeholders::__ph<2>' to 'HttpResponse *' for 3rd argument template<class U> R operator()(U & u, A1 a1, A2 a2) const ^ /usr/include/boost/bind/mem_fn_template.hpp:291:25: note: candidate function template not viable: no known conversion from 'std::__1::placeholders::__ph<2>' to 'HttpResponse *' for 3rd argument template<class U> R operator()(U const & u, A1 a1, A2 a2) const ^ /usr/include/boost/bind/mem_fn_template.hpp:299:7: note: candidate function not viable: no known conversion from 'RecursorWebServer *' to 'RecursorWebServer &' for 1st argument; dereference the argument with * R operator()(T & t, A1 a1, A2 a2) const ^ In file included from ws-recursor.cc:25: In file included from ./ws-recursor.hh:27: In file included from ./mplexer.hh:30: In file included from /usr/include/boost/multi_index/ordered_index.hpp:17: In file included from /usr/include/boost/multi_index/detail/ord_index_impl.hpp:81: /usr/include/boost/bind/bind.hpp:319:9: error: no matching function for call to object of type 'boost::_mfi::cmf1<void, AsyncWebServer, std::__1::shared_ptr<Socket> >' unwrapper<F>::unwrap(f, 0)(a[base_type::a1_], a[base_type::a2_]); ^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/boost/bind/bind.hpp:1306:16: note: in instantiation of function template specialization 'boost::_bi::list2<boost::_bi::value<AsyncWebServer *>, boost::_bi::value<std::__1::placeholders::__ph<1> > >::operator()<boost::_mfi::cmf1<void, AsyncWebServer, std::__1::shared_ptr<Socket> >, boost::_bi::rrlist1<std::__1::shared_ptr<Socket> > >' requested here return l_( type<result_type>(), f_, a, 0 ); ^ /usr/include/boost/function/function_template.hpp:158:33: note: in instantiation of function template specialization 'boost::_bi::bind_t<void, boost::_mfi::cmf1<void, AsyncWebServer, std::__1::shared_ptr<Socket> >, boost::_bi::list2<boost::_bi::value<AsyncWebServer *>, boost::_bi::value<std::__1::placeholders::__ph<1> > > >::operator()<std::__1::shared_ptr<Socket> >' requested here BOOST_FUNCTION_RETURN((*f)(BOOST_FUNCTION_ARGS)); ^ /usr/include/boost/function/function_template.hpp:940:53: note: in instantiation of member function 'boost::detail::function::void_function_obj_invoker1<boost::_bi::bind_t<void, boost::_mfi::cmf1<void, AsyncWebServer, std::__1::shared_ptr<Socket> >, boost::_bi::list2<boost::_bi::value<AsyncWebServer *>, boost::_bi::value<std::__1::placeholders::__ph<1> > > >, void, std::__1::shared_ptr<Socket> >::invoke' requested here { { &manager_type::manage }, &invoker_type::invoke }; ^ /usr/include/boost/function/function_template.hpp:720:13: note: in instantiation of function template specialization 'boost::function1<void, std::__1::shared_ptr<Socket> >::assign_to<boost::_bi::bind_t<void, boost::_mfi::cmf1<void, AsyncWebServer, std::__1::shared_ptr<Socket> >, boost::_bi::list2<boost::_bi::value<AsyncWebServer *>, boost::_bi::value<std::__1::placeholders::__ph<1> > > > >' requested here this->assign_to(f); ^ /usr/include/boost/function/function_template.hpp:1086:5: note: in instantiation of function template specialization 'boost::function1<void, std::__1::shared_ptr<Socket> >::function1<boost::_bi::bind_t<void, boost::_mfi::cmf1<void, AsyncWebServer, std::__1::shared_ptr<Socket> >, boost::_bi::list2<boost::_bi::value<AsyncWebServer *>, boost::_bi::value<std::__1::placeholders::__ph<1> > > > >' requested here base_type(f) ^ ws-recursor.cc:746:42: note: in instantiation of function template specialization 'boost::function<void (std::__1::shared_ptr<Socket>)>::function<boost::_bi::bind_t<void, boost::_mfi::cmf1<void, AsyncWebServer, std::__1::shared_ptr<Socket> >, boost::_bi::list2<boost::_bi::value<AsyncWebServer *>, boost::_bi::value<std::__1::placeholders::__ph<1> > > > >' requested here server->asyncWaitForConnections(d_fdm, boost::bind(&AsyncWebServer::serveConnection, this, _1)); ^ /usr/include/boost/bind/mem_fn_template.hpp:229:25: note: candidate function template not viable: no known conversion from 'std::__1::placeholders::__ph<1>' to 'std::__1::shared_ptr<Socket>' for 2nd argument template<class U> R operator()(U const & u, A1 a1) const ^ /usr/include/boost/bind/mem_fn_template.hpp:235:7: note: candidate function not viable: no known conversion from 'AsyncWebServer *' to 'const AsyncWebServer' for 1st argument; dereference the argument with * R operator()(T const & t, A1 a1) const ^ 1 warning and 5 errors generated. make[2]: *** [Makefile:1527: ws-recursor.o] Error 1 3 warnings generated. 1 warning generated. 5 warnings generated. make[2]: Leaving directory '/var/tmp/portage/net-dns/pdns-recursor-4.3.0-r1/work/pdns-recursor-4.3.0' make[1]: *** [Makefile:1646: all-recursive] Error 1 make[1]: Leaving directory '/var/tmp/portage/net-dns/pdns-recursor-4.3.0-r1/work/pdns-recursor-4.3.0' make: *** [Makefile:1217: all] Error 2 * ERROR: net-dns/pdns-recursor-4.3.0-r1::gentoo failed (compile phase): * emake failed * * If you need support, post the output of `emerge --info '=net-dns/pdns-recursor-4.3.0-r1::gentoo'`, * the complete build log and the output of `emerge -pqv '=net-dns/pdns-recursor-4.3.0-r1::gentoo'`. * The complete build log is located at '/var/tmp/portage/net-dns/pdns-recursor-4.3.0-r1/temp/build.log'. * The ebuild environment file is located at '/var/tmp/portage/net-dns/pdns-recursor-4.3.0-r1/temp/environment'. * Working directory: '/var/tmp/portage/net-dns/pdns-recursor-4.3.0-r1/work/pdns-recursor-4.3.0' * S: '/var/tmp/portage/net-dns/pdns-recursor-4.3.0-r1/work/pdns-recursor-4.3.0' argus /etc/portage/patches/net-dns # Reproducible: Always
Created attachment 635060 [details, diff] pdns-recursor-4.3.0-boost-1.73.0.patch
Added see also https://github.com/PowerDNS/pdns/pull/9070
*** Bug 724306 has been marked as a duplicate of this bug. ***
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=04738da286478377dba8c13b33f7a470698a3d84 commit 04738da286478377dba8c13b33f7a470698a3d84 Author: Sven Wegener <swegener@gentoo.org> AuthorDate: 2020-05-20 21:27:05 +0000 Commit: Sven Wegener <swegener@gentoo.org> CommitDate: 2020-05-20 21:31:42 +0000 net-dns/pdns-recursor: Fix building with boost-1.73, bug #719926 Closes: https://bugs.gentoo.org/719926 Package-Manager: Portage-2.3.99, Repoman-2.3.22 Signed-off-by: Sven Wegener <swegener@gentoo.org> .../files/pdns-recursor-4.3.1-boost-1.73.0.patch | 89 ++++++++++++++++++++++ net-dns/pdns-recursor/pdns-recursor-4.3.1.ebuild | 4 + 2 files changed, 93 insertions(+)