Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 719926 - net-dns/pdns-recursor-4.3.0-r1: webserver.cc:110:74: error: use of undeclared identifier '_1'
Summary: net-dns/pdns-recursor-4.3.0-r1: webserver.cc:110:74: error: use of undeclared...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: Sven Wegener
URL:
Whiteboard:
Keywords: PATCH
: 724306 (view as bug list)
Depends on:
Blocks: boost-1.74
  Show dependency tree
 
Reported: 2020-04-28 13:45 UTC by Mark Wright
Modified: 2020-05-20 21:32 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
pdns-recursor-4.3.0-boost-1.73.0.patch (pdns-recursor-4.3.0-boost-1.73.0.patch,661 bytes, patch)
2020-04-28 13:47 UTC, Mark Wright
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Mark Wright gentoo-dev 2020-04-28 13:45:29 UTC
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
Comment 1 Mark Wright gentoo-dev 2020-04-28 13:47:59 UTC
Created attachment 635060 [details, diff]
pdns-recursor-4.3.0-boost-1.73.0.patch
Comment 2 Mark Wright gentoo-dev 2020-04-28 22:56:11 UTC
Added see also https://github.com/PowerDNS/pdns/pull/9070
Comment 3 Sven Wegener gentoo-dev 2020-05-20 21:11:32 UTC
*** Bug 724306 has been marked as a duplicate of this bug. ***
Comment 4 Larry the Git Cow gentoo-dev 2020-05-20 21:32:50 UTC
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(+)