-
Couldn't load subscription status.
- Fork 12
Open
Description
Hello,
I am building ndnrtc 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,
ar: /home/lub/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<PreciseGeneratorImpl>, boost::arg<1>)>; Clock = std::chrono::_V2::steady_clock; WaitTraits = boost::asio::wait_traits<std::chrono::_V2::steady_clock>; WaitableTimerService = boost::asio::waitable_timer_service<std::chrono::_V2::steady_clock, boost::asio::wait_traits<std::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<PreciseGeneratorImpl>, 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<PreciseGeneratorImpl>, 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<PreciseGeneratorImpl>&, 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<PreciseGeneratorImpl>, false, false>().std::_Mu<_Arg, false, false>::operator()<boost::shared_ptr<PreciseGeneratorImpl>&, std::tuple<const boost::system::error_code&> >((* & std::declval<boost::shared_ptr<PreciseGeneratorImpl>&>()), (* & std::declval<std::tuple<const boost::system::error_code&>&>()))’ (type ‘boost::shared_ptr<PreciseGeneratorImpl>’) 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<PreciseGeneratorImpl>, false, false>().std::_Mu<_Arg, false, false>::operator()<boost::shared_ptr<PreciseGeneratorImpl>&, std::tuple<const boost::system::error_code&> >((* & std::declval<boost::shared_ptr<PreciseGeneratorImpl>&>()), (* & std::declval<std::tuple<const boost::system::error_code&>&>()))’ (type ‘boost::shared_ptr<PreciseGeneratorImpl>’) 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<PreciseGeneratorImpl>, false, false>().std::_Mu<_Arg, false, false>::operator()<boost::shared_ptr<PreciseGeneratorImpl>&, std::tuple<const boost::system::error_code&> >((* & std::declval<boost::shared_ptr<PreciseGeneratorImpl>&>()), (* & std::declval<std::tuple<const boost::system::error_code&>&>()))’ (type ‘boost::shared_ptr<PreciseGeneratorImpl>’) 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<PreciseGeneratorImpl>’ 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<PreciseGeneratorImpl>, 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<PreciseGeneratorImpl>&, 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<PreciseGeneratorImpl>, false, false>().std::_Mu<_Arg, false, false>::operator()<const boost::shared_ptr<PreciseGeneratorImpl>&, std::tuple<const boost::system::error_code&> >((* & std::declval<const boost::shared_ptr<PreciseGeneratorImpl>&>()), (* & std::declval<std::tuple<const boost::system::error_code&>&>()))’ (type ‘const boost::shared_ptr<PreciseGeneratorImpl>’) 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<PreciseGeneratorImpl>, false, false>().std::_Mu<_Arg, false, false>::operator()<const boost::shared_ptr<PreciseGeneratorImpl>&, std::tuple<const boost::system::error_code&> >((* & std::declval<const boost::shared_ptr<PreciseGeneratorImpl>&>()), (* & std::declval<std::tuple<const boost::system::error_code&>&>()))’ (type ‘const boost::shared_ptr<PreciseGeneratorImpl>’) 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<PreciseGeneratorImpl>, false, false>().std::_Mu<_Arg, false, false>::operator()<const boost::shared_ptr<PreciseGeneratorImpl>&, std::tuple<const boost::system::error_code&> >((* & std::declval<const boost::shared_ptr<PreciseGeneratorImpl>&>()), (* & std::declval<std::tuple<const boost::system::error_code&>&>()))’ (type ‘const boost::shared_ptr<PreciseGeneratorImpl>’) 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<PreciseGeneratorImpl>’ 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<PreciseGeneratorImpl>, 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<PreciseGeneratorImpl>&, 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<PreciseGeneratorImpl>, false, false>().std::_Mu<_Arg, false, false>::operator()<volatile boost::shared_ptr<PreciseGeneratorImpl>&, std::tuple<const boost::system::error_code&> >((* & std::declval<volatile boost::shared_ptr<PreciseGeneratorImpl>&>()), (* & std::declval<std::tuple<const boost::system::error_code&>&>()))’ (type ‘volatile boost::shared_ptr<PreciseGeneratorImpl>’) 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<PreciseGeneratorImpl>, false, false>().std::_Mu<_Arg, false, false>::operator()<volatile boost::shared_ptr<PreciseGeneratorImpl>&, std::tuple<const boost::system::error_code&> >((* & std::declval<volatile boost::shared_ptr<PreciseGeneratorImpl>&>()), (* & std::declval<std::tuple<const boost::system::error_code&>&>()))’ (type ‘volatile boost::shared_ptr<PreciseGeneratorImpl>’) 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<PreciseGeneratorImpl>, false, false>().std::_Mu<_Arg, false, false>::operator()<volatile boost::shared_ptr<PreciseGeneratorImpl>&, std::tuple<const boost::system::error_code&> >((* & std::declval<volatile boost::shared_ptr<PreciseGeneratorImpl>&>()), (* & std::declval<std::tuple<const boost::system::error_code&>&>()))’ (type ‘volatile boost::shared_ptr<PreciseGeneratorImpl>’) 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<PreciseGeneratorImpl>’ 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<PreciseGeneratorImpl>, 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<PreciseGeneratorImpl>&, 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<PreciseGeneratorImpl>, false, false>().std::_Mu<_Arg, false, false>::operator()<const volatile boost::shared_ptr<PreciseGeneratorImpl>&, std::tuple<const boost::system::error_code&> >((* & std::declval<const volatile boost::shared_ptr<PreciseGeneratorImpl>&>()), (* & std::declval<std::tuple<const boost::system::error_code&>&>()))’ (type ‘const volatile boost::shared_ptr<PreciseGeneratorImpl>’) 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<PreciseGeneratorImpl>, false, false>().std::_Mu<_Arg, false, false>::operator()<const volatile boost::shared_ptr<PreciseGeneratorImpl>&, std::tuple<const boost::system::error_code&> >((* & std::declval<const volatile boost::shared_ptr<PreciseGeneratorImpl>&>()), (* & std::declval<std::tuple<const boost::system::error_code&>&>()))’ (type ‘const volatile boost::shared_ptr<PreciseGeneratorImpl>’) 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<PreciseGeneratorImpl>, false, false>().std::_Mu<_Arg, false, false>::operator()<const volatile boost::shared_ptr<PreciseGeneratorImpl>&, std::tuple<const boost::system::error_code&> >((* & std::declval<const volatile boost::shared_ptr<PreciseGeneratorImpl>&>()), (* & std::declval<std::tuple<const boost::system::error_code&>&>()))’ (type ‘const volatile boost::shared_ptr<PreciseGeneratorImpl>’) 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<PreciseGeneratorImpl>’ is not derived from ‘std::reference_wrapper<_Tp>’
typename add_cv<_Functor>::type&>::type>()(
^
Makefile:14740: recipe for target 'client/src/ndnrtc_client-precise-generator.o' failed
make: *** [client/src/ndnrtc_client-precise-generator.o] Error 1
Note: I have installed libconfig9, libconfig++9v5, libconfig-dev, libconfig++-dev, and libconfig-doc.
Thanks!
kajiguchi97
Metadata
Metadata
Assignees
Labels
No labels