Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Building headless client fails on Ubuntu 16.04 #20

@henanda123

Description

@henanda123

Hello,

I am building ndnrtc with the latest vision of ndn-cpp on Lubuntu 16.04. I have followed the INSTALL.md exactly as it is written, and everything succeeds in building it until I try to build the headless client. When I do a make ndnrtc-client, I get an error with Boost, so I change some vision of ndn-cpp, ndnrtc or gcc/g++,the faild also exit and different,can you tell me which version of ndn-cpp && other software is right? thank you very much!!

### ###

root@ubuntu:/home/ndnrtc-env/ndnrtc/cpp# make ndnrtc-client
ar: /home/ndnrtc-env/webrtc-checkout/src/out/Default/obj/webrtc/tmp-libwebrtc-all.a: File format not recognized
CXX client/src/ndnrtc_client-precise-generator.o
In file included from /usr/include/boost/asio/impl/io_service.hpp:18:0,
from /usr/include/boost/asio/io_service.hpp:767,
from /usr/include/boost/asio/basic_io_object.hpp:19,
from /usr/include/boost/asio/basic_socket.hpp:20,
from /usr/include/boost/asio/basic_datagram_socket.hpp:20,
from /usr/include/boost/asio.hpp:21,
from client/src/precise-generator.hpp:12,
from client/src/precise-generator.cpp:9:
/usr/include/boost/asio/basic_waitable_timer.hpp: In instantiation of ‘typename boost::asio::async_result<typename boost::asio::handler_type<ConnectHandler, void(boost::system::error_code)>::type>::type boost::asio::basic_waitable_timer<Clock, WaitTraits, WaitableTimerService>::async_wait(WaitHandler&&) [with WaitHandler = std::_Bind<std::_Mem_fn<void (PreciseGeneratorImpl::)(const boost::system::error_code&)>(boost::shared_ptr, boost::arg<1>)>; Clock = std::chrono::_V2::steady_clock; WaitTraits = boost::asio::wait_traitsstd::chrono::_V2::steady_clock; WaitableTimerService = boost::asio::waitable_timer_service<std::chrono::_V2::steady_clock, boost::asio::wait_traitsstd::chrono::_V2::steady_clock >; typename boost::asio::async_result<typename boost::asio::handler_type<ConnectHandler, void(boost::system::error_code)>::type>::type = void]’:
client/src/precise-generator.cpp:142:106: required from here
/usr/include/boost/asio/basic_waitable_timer.hpp:509:5: error: static assertion failed: WaitHandler type requirements not met
BOOST_ASIO_WAIT_HANDLER_CHECK(WaitHandler, handler) type_check;
^
/usr/include/boost/asio/basic_socket.hpp:755:5: error: no match for call to ‘(std::_Bind<std::_Mem_fn<void (PreciseGeneratorImpl::
)(const boost::system::error_code&)>(boost::shared_ptr, boost::arg<1>)>) (const boost::system::error_code&)’
BOOST_ASIO_CONNECT_HANDLER_CHECK(ConnectHandler, handler) type_check;
^
In file included from /usr/include/c++/5/memory:79:0,
from /usr/include/boost/asio/detail/addressof.hpp:21,
from /usr/include/boost/asio/detail/handler_alloc_helpers.hpp:19,
from /usr/include/boost/asio/detail/bind_handler.hpp:19,
from /usr/include/boost/asio/detail/wrapped_handler.hpp:18,
from /usr/include/boost/asio/io_service.hpp:24,
from /usr/include/boost/asio/basic_io_object.hpp:19,
from /usr/include/boost/asio/basic_socket.hpp:20,
from /usr/include/boost/asio/basic_datagram_socket.hpp:20,
from /usr/include/boost/asio.hpp:21,
from client/src/precise-generator.hpp:12,
from client/src/precise-generator.cpp:9:
/usr/include/c++/5/functional:1129:2: note: candidate: template<class ... _Args, class _Result> _Result std::_Bind<_Functor(_Bound_args ...)>::operator()(_Args&& ...) [with _Args = {_Args ...}; _Result = _Result; _Functor = std::_Mem_fn<void (PreciseGeneratorImpl::)(const boost::system::error_code&)>; _Bound_args = {boost::shared_ptr, boost::arg<1>}]
operator()(_Args&&... __args)
^
/usr/include/c++/5/functional:1129:2: note: template argument deduction/substitution failed:
/usr/include/c++/5/functional:1125:39: error: no match for call to ‘(std::_Mem_fn<void (PreciseGeneratorImpl::
)(const boost::system::error_code&)>) (boost::shared_ptr&, boost::arg<1>&)’
= decltype( std::declval<_Functor&>()(
^
/usr/include/c++/5/functional:582:2: note: candidate: template<class ... _Args, class _Req> std::_Mem_fn_base<_MemFunPtr, __is_mem_fn>::result_type std::_Mem_fn_base<_MemFunPtr, __is_mem_fn>::operator()(std::_Mem_fn_base<_MemFunPtr, __is_mem_fn>::_Class&, _Args&& ...) const [with _Args = {_Args ...}; _Req = _Req; _MemFunPtr = void (PreciseGeneratorImpl::)(const boost::system::error_code&); bool __is_mem_fn = true]
operator()(_Class& __object, _Args&&... __args) const
^
/usr/include/c++/5/functional:582:2: note: template argument deduction/substitution failed:
/usr/include/c++/5/functional:1125:39: note: cannot convert ‘std::_Mu<boost::shared_ptr, false, false>().std::_Mu<_Arg, false, false>::operator()<boost::shared_ptr&, std::tuple<const boost::system::error_code&> >((
& std::declval<boost::shared_ptr&>()), (* & std::declval<std::tuple<const boost::system::error_code&>&>()))’ (type ‘boost::shared_ptr’) to type ‘std::_Mem_fn_base<void (PreciseGeneratorImpl::)(const boost::system::error_code&), true>::_Class& {aka PreciseGeneratorImpl&}’
= decltype( std::declval<_Functor&>()(
^
/usr/include/c++/5/functional:589:2: note: candidate: template<class ... _Args, class _Req> std::_Mem_fn_base<_MemFunPtr, __is_mem_fn>::result_type std::_Mem_fn_base<_MemFunPtr, __is_mem_fn>::operator()(std::_Mem_fn_base<_MemFunPtr, __is_mem_fn>::_Class&&, _Args&& ...) const [with _Args = {_Args ...}; _Req = _Req; _MemFunPtr = void (PreciseGeneratorImpl::
)(const boost::system::error_code&); bool __is_mem_fn = true]
operator()(_Class&& __object, _Args&&... __args) const
^
/usr/include/c++/5/functional:589:2: note: template argument deduction/substitution failed:
/usr/include/c++/5/functional:1125:39: note: cannot convert ‘std::_Mu<boost::shared_ptr, false, false>().std::_Mu<_Arg, false, false>::operator()<boost::shared_ptr&, std::tuple<const boost::system::error_code&> >((* & std::declval<boost::shared_ptr&>()), (* & std::declval<std::tuple<const boost::system::error_code&>&>()))’ (type ‘boost::shared_ptr’) to type ‘std::_Mem_fn_base<void (PreciseGeneratorImpl::)(const boost::system::error_code&), true>::_Class&& {aka PreciseGeneratorImpl&&}’
= decltype( std::declval<_Functor&>()(
^
/usr/include/c++/5/functional:599:2: note: candidate: template<class ... _Args, class _Req> std::_Mem_fn_base<_MemFunPtr, __is_mem_fn>::result_type std::_Mem_fn_base<_MemFunPtr, __is_mem_fn>::operator()(std::_Mem_fn_base<_MemFunPtr, __is_mem_fn>::_Class
, _Args&& ...) const [with _Args = {_Args ...}; _Req = _Req; _MemFunPtr = void (PreciseGeneratorImpl::)(const boost::system::error_code&); bool __is_mem_fn = true]
operator()(_Class
__object, _Args&&... __args) const
^
/usr/include/c++/5/functional:599:2: note: template argument deduction/substitution failed:
/usr/include/c++/5/functional:1125:39: note: cannot convert ‘std::_Mu<boost::shared_ptr, false, false>().std::_Mu<_Arg, false, false>::operator()<boost::shared_ptr&, std::tuple<const boost::system::error_code&> >((* & std::declval<boost::shared_ptr&>()), (* & std::declval<std::tuple<const boost::system::error_code&>&>()))’ (type ‘boost::shared_ptr’) to type ‘std::_Mem_fn_base<void (PreciseGeneratorImpl::)(const boost::system::error_code&), true>::_Class {aka PreciseGeneratorImpl*}’
= decltype( std::declval<_Functor&>()(
^
/usr/include/c++/5/functional:607:2: note: candidate: template<class _Tp, class ... _Args, class _Req> std::_Mem_fn_base<_MemFunPtr, __is_mem_fn>::result_type std::_Mem_fn_base<_MemFunPtr, __is_mem_fn>::operator()(_Tp&&, _Args&& ...) const [with _Tp = _Tp; _Args = {_Args ...}; _Req = _Req; _MemFunPtr = void (PreciseGeneratorImpl::)(const boost::system::error_code&); bool __is_mem_fn = true]
operator()(_Tp&& __object, _Args&&... __args) const
^
/usr/include/c++/5/functional:607:2: note: template argument deduction/substitution failed:
/usr/include/c++/5/functional:618:2: note: candidate: template<class _Tp, class ... _Args, class _Req> std::_Mem_fn_base<_MemFunPtr, __is_mem_fn>::result_type std::_Mem_fn_base<_MemFunPtr, __is_mem_fn>::operator()(std::reference_wrapper<_Tp>, _Args&& ...) const [with _Tp = _Tp; _Args = {_Args ...}; _Req = _Req; _MemFunPtr = void (PreciseGeneratorImpl::
)(const boost::system::error_code&); bool __is_mem_fn = true]
operator()(reference_wrapper<_Tp> __ref, _Args&&... __args) const
^
/usr/include/c++/5/functional:618:2: note: template argument deduction/substitution failed:
/usr/include/c++/5/functional:1125:39: note: ‘boost::shared_ptr’ is not derived from ‘std::reference_wrapper<_Tp>’
= decltype( std::declval<_Functor&>()(
^
/usr/include/c++/5/functional:1143:2: note: candidate: template<class ... _Args, class _Result> _Result std::_Bind<_Functor(_Bound_args ...)>::operator()(_Args&& ...) const [with _Args = {_Args ...}; _Result = _Result; _Functor = std::_Mem_fn<void (PreciseGeneratorImpl::)(const boost::system::error_code&)>; _Bound_args = {boost::shared_ptr, boost::arg<1>}]
operator()(_Args&&... __args) const
^
/usr/include/c++/5/functional:1143:2: note: template argument deduction/substitution failed:
/usr/include/c++/5/functional:1139:53: error: no match for call to ‘(const std::_Mem_fn<void (PreciseGeneratorImpl::
)(const boost::system::error_code&)>) (const boost::shared_ptr&, const boost::arg<1>&)’
typename add_const<_Functor>::type&>::type>()(
^
/usr/include/c++/5/functional:582:2: note: candidate: template<class ... _Args, class _Req> std::_Mem_fn_base<_MemFunPtr, __is_mem_fn>::result_type std::_Mem_fn_base<_MemFunPtr, __is_mem_fn>::operator()(std::_Mem_fn_base<_MemFunPtr, __is_mem_fn>::_Class&, _Args&& ...) const [with _Args = {_Args ...}; _Req = _Req; _MemFunPtr = void (PreciseGeneratorImpl::)(const boost::system::error_code&); bool __is_mem_fn = true]
operator()(_Class& __object, _Args&&... __args) const
^
/usr/include/c++/5/functional:582:2: note: template argument deduction/substitution failed:
/usr/include/c++/5/functional:1139:53: note: cannot convert ‘std::_Mu<boost::shared_ptr, false, false>().std::_Mu<_Arg, false, false>::operator()<const boost::shared_ptr&, std::tuple<const boost::system::error_code&> >((
& std::declval<const boost::shared_ptr&>()), (* & std::declval<std::tuple<const boost::system::error_code&>&>()))’ (type ‘const boost::shared_ptr’) to type ‘std::_Mem_fn_base<void (PreciseGeneratorImpl::)(const boost::system::error_code&), true>::_Class& {aka PreciseGeneratorImpl&}’
typename add_const<_Functor>::type&>::type>()(
^
/usr/include/c++/5/functional:589:2: note: candidate: template<class ... _Args, class _Req> std::_Mem_fn_base<_MemFunPtr, __is_mem_fn>::result_type std::_Mem_fn_base<_MemFunPtr, __is_mem_fn>::operator()(std::_Mem_fn_base<_MemFunPtr, __is_mem_fn>::_Class&&, _Args&& ...) const [with _Args = {_Args ...}; _Req = _Req; _MemFunPtr = void (PreciseGeneratorImpl::
)(const boost::system::error_code&); bool __is_mem_fn = true]
operator()(_Class&& __object, _Args&&... __args) const
^
/usr/include/c++/5/functional:589:2: note: template argument deduction/substitution failed:
/usr/include/c++/5/functional:1139:53: note: cannot convert ‘std::_Mu<boost::shared_ptr, false, false>().std::_Mu<_Arg, false, false>::operator()<const boost::shared_ptr&, std::tuple<const boost::system::error_code&> >((* & std::declval<const boost::shared_ptr&>()), (* & std::declval<std::tuple<const boost::system::error_code&>&>()))’ (type ‘const boost::shared_ptr’) to type ‘std::_Mem_fn_base<void (PreciseGeneratorImpl::)(const boost::system::error_code&), true>::_Class&& {aka PreciseGeneratorImpl&&}’
typename add_const<_Functor>::type&>::type>()(
^
/usr/include/c++/5/functional:599:2: note: candidate: template<class ... _Args, class _Req> std::_Mem_fn_base<_MemFunPtr, __is_mem_fn>::result_type std::_Mem_fn_base<_MemFunPtr, __is_mem_fn>::operator()(std::_Mem_fn_base<_MemFunPtr, __is_mem_fn>::_Class
, _Args&& ...) const [with _Args = {_Args ...}; _Req = _Req; _MemFunPtr = void (PreciseGeneratorImpl::)(const boost::system::error_code&); bool __is_mem_fn = true]
operator()(_Class
__object, _Args&&... __args) const
^
/usr/include/c++/5/functional:599:2: note: template argument deduction/substitution failed:
/usr/include/c++/5/functional:1139:53: note: cannot convert ‘std::_Mu<boost::shared_ptr, false, false>().std::_Mu<_Arg, false, false>::operator()<const boost::shared_ptr&, std::tuple<const boost::system::error_code&> >((* & std::declval<const boost::shared_ptr&>()), (* & std::declval<std::tuple<const boost::system::error_code&>&>()))’ (type ‘const boost::shared_ptr’) to type ‘std::_Mem_fn_base<void (PreciseGeneratorImpl::)(const boost::system::error_code&), true>::_Class {aka PreciseGeneratorImpl*}’
typename add_const<_Functor>::type&>::type>()(
^
/usr/include/c++/5/functional:607:2: note: candidate: template<class _Tp, class ... _Args, class _Req> std::_Mem_fn_base<_MemFunPtr, __is_mem_fn>::result_type std::_Mem_fn_base<_MemFunPtr, __is_mem_fn>::operator()(_Tp&&, _Args&& ...) const [with _Tp = _Tp; _Args = {_Args ...}; _Req = _Req; _MemFunPtr = void (PreciseGeneratorImpl::)(const boost::system::error_code&); bool __is_mem_fn = true]
operator()(_Tp&& __object, _Args&&... __args) const
^
/usr/include/c++/5/functional:607:2: note: template argument deduction/substitution failed:
/usr/include/c++/5/functional:618:2: note: candidate: template<class _Tp, class ... _Args, class _Req> std::_Mem_fn_base<_MemFunPtr, __is_mem_fn>::result_type std::_Mem_fn_base<_MemFunPtr, __is_mem_fn>::operator()(std::reference_wrapper<_Tp>, _Args&& ...) const [with _Tp = _Tp; _Args = {_Args ...}; _Req = _Req; _MemFunPtr = void (PreciseGeneratorImpl::
)(const boost::system::error_code&); bool __is_mem_fn = true]
operator()(reference_wrapper<_Tp> __ref, _Args&&... __args) const
^
/usr/include/c++/5/functional:618:2: note: template argument deduction/substitution failed:
/usr/include/c++/5/functional:1139:53: note: ‘boost::shared_ptr’ is not derived from ‘std::reference_wrapper<_Tp>’
typename add_const<_Functor>::type&>::type>()(
^
/usr/include/c++/5/functional:1157:2: note: candidate: template<class ... _Args, class _Result> _Result std::_Bind<_Functor(_Bound_args ...)>::operator()(_Args&& ...) volatile [with _Args = {_Args ...}; _Result = _Result; _Functor = std::_Mem_fn<void (PreciseGeneratorImpl::)(const boost::system::error_code&)>; _Bound_args = {boost::shared_ptr, boost::arg<1>}]
operator()(_Args&&... __args) volatile
^
/usr/include/c++/5/functional:1157:2: note: template argument deduction/substitution failed:
/usr/include/c++/5/functional:1153:70: error: no match for call to ‘(volatile std::_Mem_fn<void (PreciseGeneratorImpl::
)(const boost::system::error_code&)>) (volatile boost::shared_ptr&, volatile boost::arg<1>&)’
typename add_volatile<_Functor>::type&>::type>()(
^
/usr/include/c++/5/functional:582:2: note: candidate: template<class ... _Args, class _Req> std::_Mem_fn_base<_MemFunPtr, __is_mem_fn>::result_type std::_Mem_fn_base<_MemFunPtr, __is_mem_fn>::operator()(std::_Mem_fn_base<_MemFunPtr, __is_mem_fn>::_Class&, _Args&& ...) const [with _Args = {_Args ...}; _Req = _Req; _MemFunPtr = void (PreciseGeneratorImpl::)(const boost::system::error_code&); bool __is_mem_fn = true]
operator()(_Class& __object, _Args&&... __args) const
^
/usr/include/c++/5/functional:582:2: note: template argument deduction/substitution failed:
/usr/include/c++/5/functional:1153:70: note: cannot convert ‘std::_Mu<boost::shared_ptr, false, false>().std::_Mu<_Arg, false, false>::operator()<volatile boost::shared_ptr&, std::tuple<const boost::system::error_code&> >((
& std::declval<volatile boost::shared_ptr&>()), (* & std::declval<std::tuple<const boost::system::error_code&>&>()))’ (type ‘volatile boost::shared_ptr’) to type ‘std::_Mem_fn_base<void (PreciseGeneratorImpl::)(const boost::system::error_code&), true>::_Class& {aka PreciseGeneratorImpl&}’
typename add_volatile<_Functor>::type&>::type>()(
^
/usr/include/c++/5/functional:589:2: note: candidate: template<class ... _Args, class _Req> std::_Mem_fn_base<_MemFunPtr, __is_mem_fn>::result_type std::_Mem_fn_base<_MemFunPtr, __is_mem_fn>::operator()(std::_Mem_fn_base<_MemFunPtr, __is_mem_fn>::_Class&&, _Args&& ...) const [with _Args = {_Args ...}; _Req = _Req; _MemFunPtr = void (PreciseGeneratorImpl::
)(const boost::system::error_code&); bool __is_mem_fn = true]
operator()(_Class&& __object, _Args&&... __args) const
^
/usr/include/c++/5/functional:589:2: note: template argument deduction/substitution failed:
/usr/include/c++/5/functional:1153:70: note: cannot convert ‘std::_Mu<boost::shared_ptr, false, false>().std::_Mu<_Arg, false, false>::operator()<volatile boost::shared_ptr&, std::tuple<const boost::system::error_code&> >((* & std::declval<volatile boost::shared_ptr&>()), (* & std::declval<std::tuple<const boost::system::error_code&>&>()))’ (type ‘volatile boost::shared_ptr’) to type ‘std::_Mem_fn_base<void (PreciseGeneratorImpl::)(const boost::system::error_code&), true>::_Class&& {aka PreciseGeneratorImpl&&}’
typename add_volatile<_Functor>::type&>::type>()(
^
/usr/include/c++/5/functional:599:2: note: candidate: template<class ... _Args, class _Req> std::_Mem_fn_base<_MemFunPtr, __is_mem_fn>::result_type std::_Mem_fn_base<_MemFunPtr, __is_mem_fn>::operator()(std::_Mem_fn_base<_MemFunPtr, __is_mem_fn>::_Class
, _Args&& ...) const [with _Args = {_Args ...}; _Req = _Req; _MemFunPtr = void (PreciseGeneratorImpl::)(const boost::system::error_code&); bool __is_mem_fn = true]
operator()(_Class
__object, _Args&&... __args) const
^
/usr/include/c++/5/functional:599:2: note: template argument deduction/substitution failed:
/usr/include/c++/5/functional:1153:70: note: cannot convert ‘std::_Mu<boost::shared_ptr, false, false>().std::_Mu<_Arg, false, false>::operator()<volatile boost::shared_ptr&, std::tuple<const boost::system::error_code&> >((* & std::declval<volatile boost::shared_ptr&>()), (* & std::declval<std::tuple<const boost::system::error_code&>&>()))’ (type ‘volatile boost::shared_ptr’) to type ‘std::_Mem_fn_base<void (PreciseGeneratorImpl::)(const boost::system::error_code&), true>::_Class {aka PreciseGeneratorImpl*}’
typename add_volatile<_Functor>::type&>::type>()(
^
/usr/include/c++/5/functional:607:2: note: candidate: template<class _Tp, class ... _Args, class _Req> std::_Mem_fn_base<_MemFunPtr, __is_mem_fn>::result_type std::_Mem_fn_base<_MemFunPtr, __is_mem_fn>::operator()(_Tp&&, _Args&& ...) const [with _Tp = _Tp; _Args = {_Args ...}; _Req = _Req; _MemFunPtr = void (PreciseGeneratorImpl::)(const boost::system::error_code&); bool __is_mem_fn = true]
operator()(_Tp&& __object, _Args&&... __args) const
^
/usr/include/c++/5/functional:607:2: note: template argument deduction/substitution failed:
/usr/include/c++/5/functional:618:2: note: candidate: template<class _Tp, class ... _Args, class _Req> std::_Mem_fn_base<_MemFunPtr, __is_mem_fn>::result_type std::_Mem_fn_base<_MemFunPtr, __is_mem_fn>::operator()(std::reference_wrapper<_Tp>, _Args&& ...) const [with _Tp = _Tp; _Args = {_Args ...}; _Req = _Req; _MemFunPtr = void (PreciseGeneratorImpl::
)(const boost::system::error_code&); bool __is_mem_fn = true]
operator()(reference_wrapper<_Tp> __ref, _Args&&... __args) const
^
/usr/include/c++/5/functional:618:2: note: template argument deduction/substitution failed:
/usr/include/c++/5/functional:1153:70: note: ‘boost::shared_ptr’ is not derived from ‘std::reference_wrapper<_Tp>’
typename add_volatile<_Functor>::type&>::type>()(
^
/usr/include/c++/5/functional:1171:2: note: candidate: template<class ... _Args, class _Result> _Result std::_Bind<_Functor(_Bound_args ...)>::operator()(_Args&& ...) const volatile [with _Args = {_Args ...}; _Result = _Result; _Functor = std::_Mem_fn<void (PreciseGeneratorImpl::)(const boost::system::error_code&)>; _Bound_args = {boost::shared_ptr, boost::arg<1>}]
operator()(_Args&&... __args) const volatile
^
/usr/include/c++/5/functional:1171:2: note: template argument deduction/substitution failed:
/usr/include/c++/5/functional:1167:64: error: no match for call to ‘(const volatile std::_Mem_fn<void (PreciseGeneratorImpl::
)(const boost::system::error_code&)>) (const volatile boost::shared_ptr&, const volatile boost::arg<1>&)’
typename add_cv<_Functor>::type&>::type>()(
^
/usr/include/c++/5/functional:582:2: note: candidate: template<class ... _Args, class _Req> std::_Mem_fn_base<_MemFunPtr, __is_mem_fn>::result_type std::_Mem_fn_base<_MemFunPtr, __is_mem_fn>::operator()(std::_Mem_fn_base<_MemFunPtr, __is_mem_fn>::_Class&, _Args&& ...) const [with _Args = {_Args ...}; _Req = _Req; _MemFunPtr = void (PreciseGeneratorImpl::)(const boost::system::error_code&); bool __is_mem_fn = true]
operator()(_Class& __object, _Args&&... __args) const
^
/usr/include/c++/5/functional:582:2: note: template argument deduction/substitution failed:
/usr/include/c++/5/functional:1167:64: note: cannot convert ‘std::_Mu<boost::shared_ptr, false, false>().std::_Mu<_Arg, false, false>::operator()<const volatile boost::shared_ptr&, std::tuple<const boost::system::error_code&> >((
& std::declval<const volatile boost::shared_ptr&>()), (* & std::declval<std::tuple<const boost::system::error_code&>&>()))’ (type ‘const volatile boost::shared_ptr’) to type ‘std::_Mem_fn_base<void (PreciseGeneratorImpl::)(const boost::system::error_code&), true>::_Class& {aka PreciseGeneratorImpl&}’
typename add_cv<_Functor>::type&>::type>()(
^
/usr/include/c++/5/functional:589:2: note: candidate: template<class ... _Args, class _Req> std::_Mem_fn_base<_MemFunPtr, __is_mem_fn>::result_type std::_Mem_fn_base<_MemFunPtr, __is_mem_fn>::operator()(std::_Mem_fn_base<_MemFunPtr, __is_mem_fn>::_Class&&, _Args&& ...) const [with _Args = {_Args ...}; _Req = _Req; _MemFunPtr = void (PreciseGeneratorImpl::
)(const boost::system::error_code&); bool __is_mem_fn = true]
operator()(_Class&& __object, _Args&&... __args) const
^
/usr/include/c++/5/functional:589:2: note: template argument deduction/substitution failed:
/usr/include/c++/5/functional:1167:64: note: cannot convert ‘std::_Mu<boost::shared_ptr, false, false>().std::_Mu<_Arg, false, false>::operator()<const volatile boost::shared_ptr&, std::tuple<const boost::system::error_code&> >((* & std::declval<const volatile boost::shared_ptr&>()), (* & std::declval<std::tuple<const boost::system::error_code&>&>()))’ (type ‘const volatile boost::shared_ptr’) to type ‘std::_Mem_fn_base<void (PreciseGeneratorImpl::)(const boost::system::error_code&), true>::_Class&& {aka PreciseGeneratorImpl&&}’
typename add_cv<_Functor>::type&>::type>()(
^
/usr/include/c++/5/functional:599:2: note: candidate: template<class ... _Args, class _Req> std::_Mem_fn_base<_MemFunPtr, __is_mem_fn>::result_type std::_Mem_fn_base<_MemFunPtr, __is_mem_fn>::operator()(std::_Mem_fn_base<_MemFunPtr, __is_mem_fn>::_Class
, _Args&& ...) const [with _Args = {_Args ...}; _Req = _Req; _MemFunPtr = void (PreciseGeneratorImpl::)(const boost::system::error_code&); bool __is_mem_fn = true]
operator()(_Class
__object, _Args&&... __args) const
^
/usr/include/c++/5/functional:599:2: note: template argument deduction/substitution failed:
/usr/include/c++/5/functional:1167:64: note: cannot convert ‘std::_Mu<boost::shared_ptr, false, false>().std::_Mu<_Arg, false, false>::operator()<const volatile boost::shared_ptr&, std::tuple<const boost::system::error_code&> >((* & std::declval<const volatile boost::shared_ptr&>()), (* & std::declval<std::tuple<const boost::system::error_code&>&>()))’ (type ‘const volatile boost::shared_ptr’) to type ‘std::_Mem_fn_base<void (PreciseGeneratorImpl::)(const boost::system::error_code&), true>::_Class {aka PreciseGeneratorImpl*}’
typename add_cv<_Functor>::type&>::type>()(
^
/usr/include/c++/5/functional:607:2: note: candidate: template<class _Tp, class ... _Args, class _Req> std::_Mem_fn_base<_MemFunPtr, __is_mem_fn>::result_type std::_Mem_fn_base<_MemFunPtr, __is_mem_fn>::operator()(_Tp&&, _Args&& ...) const [with _Tp = _Tp; _Args = {_Args ...}; _Req = _Req; _MemFunPtr = void (PreciseGeneratorImpl::)(const boost::system::error_code&); bool __is_mem_fn = true]
operator()(_Tp&& __object, _Args&&... __args) const
^
/usr/include/c++/5/functional:607:2: note: template argument deduction/substitution failed:
/usr/include/c++/5/functional:618:2: note: candidate: template<class _Tp, class ... _Args, class _Req> std::_Mem_fn_base<_MemFunPtr, __is_mem_fn>::result_type std::_Mem_fn_base<_MemFunPtr, __is_mem_fn>::operator()(std::reference_wrapper<_Tp>, _Args&& ...) const [with _Tp = _Tp; _Args = {_Args ...}; _Req = _Req; _MemFunPtr = void (PreciseGeneratorImpl::
)(const boost::system::error_code&); bool __is_mem_fn = true]
operator()(reference_wrapper<_Tp> __ref, _Args&&... __args) const
^
/usr/include/c++/5/functional:618:2: note: template argument deduction/substitution failed:
/usr/include/c++/5/functional:1167:64: note: ‘boost::shared_ptr’ is not derived from ‘std::reference_wrapper<_Tp>’
typename add_cv<_Functor>::type&>::type>()(
^
Makefile:15078: recipe for target 'client/src/ndnrtc_client-precise-generator.o' failed
make: *** [client/src/ndnrtc_client-precise-generator.o] Error 1

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions