Skip to content

Instantly share code, notes, and snippets.

@tfoote
Last active December 11, 2015 18:24
Show Gist options
  • Save tfoote/17222805a01e7c05c3f1 to your computer and use it in GitHub Desktop.
Save tfoote/17222805a01e7c05c3f1 to your computer and use it in GitHub Desktop.
compiler error for registering a method as a callback https://github.com/ros2/rclcpp/issues/173
In file included from /home/tfoote/work/ros2/tf3/install/include/rclcpp/client.hpp:26:0,
from /home/tfoote/work/ros2/tf3/install/include/rclcpp/callback_group.hpp:22,
from /home/tfoote/work/ros2/tf3/install/include/rclcpp/node.hpp:30,
from /home/tfoote/work/ros2/tf3/install/include/rclcpp/any_executable.hpp:21,
from /home/tfoote/work/ros2/tf3/install/include/rclcpp/executor.hpp:26,
from /home/tfoote/work/ros2/tf3/install/include/rclcpp/executors/multi_threaded_executor.hpp:22,
from /home/tfoote/work/ros2/tf3/install/include/rclcpp/executors.hpp:20,
from /home/tfoote/work/ros2/tf3/install/include/rclcpp/rclcpp.hpp:21,
from /home/tfoote/work/ros2/tf3/src/ros2/examples/rclcpp_examples/src/topics/listener_class.cpp:18:
/home/tfoote/work/ros2/tf3/install/include/rclcpp/function_traits.hpp: In instantiation of ‘struct rclcpp::function_traits::function_traits<std::_Bind<std::_Mem_fn<void (Chatter::*)(std::shared_ptr<std_msgs::msg::String_<std::allocator<void> > >)>(Chatter*, std::_Placeholder<1>)> >’:
/home/tfoote/work/ros2/tf3/install/include/rclcpp/function_traits.hpp:110:8: required from ‘struct rclcpp::function_traits::same_arguments<std::_Bind<std::_Mem_fn<void (Chatter::*)(std::shared_ptr<std_msgs::msg::String_<std::allocator<void> > >)>(Chatter*, std::_Placeholder<1>)>, std::function<void(std::unique_ptr<std_msgs::msg::String_<std::allocator<void> >, std::default_delete<std_msgs::msg::String_<std::allocator<void> > > >, const rmw_message_info_t&)> >’
/home/tfoote/work/ros2/tf3/install/include/rclcpp/any_subscription_callback.hpp:149:17: required from ‘typename rclcpp::subscription::Subscription<MessageT, Alloc>::SharedPtr rclcpp::node::Node::create_subscription(const string&, CallbackT&&, const rmw_qos_profile_t&, rclcpp::callback_group::CallbackGroup::SharedPtr, bool, typename rclcpp::message_memory_strategy::MessageMemoryStrategy<MessageT, Alloc>::SharedPtr, std::shared_ptr<Alloc>) [with MessageT = std_msgs::msg::String_<std::allocator<void> >; CallbackT = std::_Bind<std::_Mem_fn<void (Chatter::*)(std::shared_ptr<std_msgs::msg::String_<std::allocator<void> > >)>(Chatter*, std::_Placeholder<1>)>; Alloc = std::allocator<void>; typename rclcpp::subscription::Subscription<MessageT, Alloc>::SharedPtr = std::shared_ptr<rclcpp::subscription::Subscription<std_msgs::msg::String_<std::allocator<void> >, std::allocator<void> > >; std::string = std::basic_string<char>; rmw_qos_profile_t = rmw_qos_profile_t; rclcpp::callback_group::CallbackGroup::SharedPtr = std::shared_ptr<rclcpp::callback_group::CallbackGroup>; typename rclcpp::message_memory_strategy::MessageMemoryStrategy<MessageT, Alloc>::SharedPtr = std::shared_ptr<rclcpp::message_memory_strategy::MessageMemoryStrategy<std_msgs::msg::String_<std::allocator<void> >, std::allocator<void> > >]’
/home/tfoote/work/ros2/tf3/src/ros2/examples/rclcpp_examples/src/topics/listener_class.cpp:38:110: required from here
/home/tfoote/work/ros2/tf3/install/include/rclcpp/function_traits.hpp:51:85: error: decltype cannot resolve address of overloaded function
typename function_traits<decltype( & FunctionT::operator())>::arguments>::type;
^
/home/tfoote/work/ros2/tf3/install/include/rclcpp/function_traits.hpp:56:72: error: decltype cannot resolve address of overloaded function
using argument_type = typename std::tuple_element<N, arguments>::type;
^
/home/tfoote/work/ros2/tf3/install/include/rclcpp/function_traits.hpp:58:96: error: decltype cannot resolve address of overloaded function
using return_type = typename function_traits<decltype( & FunctionT::operator())>::return_type;
^
In file included from /home/tfoote/work/ros2/tf3/install/include/rclcpp/node.hpp:290:0,
from /home/tfoote/work/ros2/tf3/install/include/rclcpp/any_executable.hpp:21,
from /home/tfoote/work/ros2/tf3/install/include/rclcpp/executor.hpp:26,
from /home/tfoote/work/ros2/tf3/install/include/rclcpp/executors/multi_threaded_executor.hpp:22,
from /home/tfoote/work/ros2/tf3/install/include/rclcpp/executors.hpp:20,
from /home/tfoote/work/ros2/tf3/install/include/rclcpp/rclcpp.hpp:21,
from /home/tfoote/work/ros2/tf3/src/ros2/examples/rclcpp_examples/src/topics/listener_class.cpp:18:
/home/tfoote/work/ros2/tf3/install/include/rclcpp/node_impl.hpp: In instantiation of ‘typename rclcpp::subscription::Subscription<MessageT, Alloc>::SharedPtr rclcpp::node::Node::create_subscription(const string&, CallbackT&&, const rmw_qos_profile_t&, rclcpp::callback_group::CallbackGroup::SharedPtr, bool, typename rclcpp::message_memory_strategy::MessageMemoryStrategy<MessageT, Alloc>::SharedPtr, std::shared_ptr<Alloc>) [with MessageT = std_msgs::msg::String_<std::allocator<void> >; CallbackT = std::_Bind<std::_Mem_fn<void (Chatter::*)(std::shared_ptr<std_msgs::msg::String_<std::allocator<void> > >)>(Chatter*, std::_Placeholder<1>)>; Alloc = std::allocator<void>; typename rclcpp::subscription::Subscription<MessageT, Alloc>::SharedPtr = std::shared_ptr<rclcpp::subscription::Subscription<std_msgs::msg::String_<std::allocator<void> >, std::allocator<void> > >; std::string = std::basic_string<char>; rmw_qos_profile_t = rmw_qos_profile_t; rclcpp::callback_group::CallbackGroup::SharedPtr = std::shared_ptr<rclcpp::callback_group::CallbackGroup>; typename rclcpp::message_memory_strategy::MessageMemoryStrategy<MessageT, Alloc>::SharedPtr = std::shared_ptr<rclcpp::message_memory_strategy::MessageMemoryStrategy<std_msgs::msg::String_<std::allocator<void> >, std::allocator<void> > >]’:
/home/tfoote/work/ros2/tf3/src/ros2/examples/rclcpp_examples/src/topics/listener_class.cpp:38:110: required from here
/home/tfoote/work/ros2/tf3/install/include/rclcpp/node_impl.hpp:158:3: error: no matching function for call to ‘rclcpp::any_subscription_callback::AnySubscriptionCallback<std_msgs::msg::String_<std::allocator<void> >, std::allocator<void> >::set(std::_Bind<std::_Mem_fn<void (Chatter::*)(std::shared_ptr<std_msgs::msg::String_<std::allocator<void> > >)>(Chatter*, std::_Placeholder<1>)>)’
any_subscription_callback.set(std::forward<CallbackT>(callback));
^
/home/tfoote/work/ros2/tf3/install/include/rclcpp/node_impl.hpp:158:3: note: candidates are:
In file included from /home/tfoote/work/ros2/tf3/install/include/rclcpp/subscription.hpp:31:0,
from /home/tfoote/work/ros2/tf3/install/include/rclcpp/callback_group.hpp:24,
from /home/tfoote/work/ros2/tf3/install/include/rclcpp/node.hpp:30,
from /home/tfoote/work/ros2/tf3/install/include/rclcpp/any_executable.hpp:21,
from /home/tfoote/work/ros2/tf3/install/include/rclcpp/executor.hpp:26,
from /home/tfoote/work/ros2/tf3/install/include/rclcpp/executors/multi_threaded_executor.hpp:22,
from /home/tfoote/work/ros2/tf3/install/include/rclcpp/executors.hpp:20,
from /home/tfoote/work/ros2/tf3/install/include/rclcpp/rclcpp.hpp:21,
from /home/tfoote/work/ros2/tf3/src/ros2/examples/rclcpp_examples/src/topics/listener_class.cpp:18:
/home/tfoote/work/ros2/tf3/install/include/rclcpp/any_subscription_callback.hpp:81:8: note: template<class CallbackT, typename std::enable_if<rclcpp::function_traits::same_arguments<CallbackT, std::function<void(std::shared_ptr<std_msgs::msg::String_<std::allocator<void> > >)> >::value, void>::type* <anonymous> > void rclcpp::any_subscription_callback::AnySubscriptionCallback<MessageT, Alloc>::set(CallbackT) [with CallbackT = CallbackT; typename std::enable_if<rclcpp::function_traits::same_arguments<CallbackT, std::function<void(std::shared_ptr<_Tp1>)> >::value>::type* <anonymous> = <enumerator>; MessageT = std_msgs::msg::String_<std::allocator<void> >; Alloc = std::allocator<void>]
void set(CallbackT callback)
^
/home/tfoote/work/ros2/tf3/install/include/rclcpp/any_subscription_callback.hpp:81:8: note: template argument deduction/substitution failed:
/home/tfoote/work/ros2/tf3/install/include/rclcpp/any_subscription_callback.hpp:79:17: error: ‘value’ is not a member of ‘rclcpp::function_traits::same_arguments<std::_Bind<std::_Mem_fn<void (Chatter::*)(std::shared_ptr<std_msgs::msg::String_<std::allocator<void> > >)>(Chatter*, std::_Placeholder<1>)>, std::function<void(std::shared_ptr<std_msgs::msg::String_<std::allocator<void> > >)> >’
>::type * = nullptr
^
/home/tfoote/work/ros2/tf3/install/include/rclcpp/any_subscription_callback.hpp:79:17: note: invalid template non-type parameter
/home/tfoote/work/ros2/tf3/install/include/rclcpp/any_subscription_callback.hpp:95:8: note: template<class CallbackT, typename std::enable_if<rclcpp::function_traits::same_arguments<CallbackT, std::function<void(std::shared_ptr<std_msgs::msg::String_<std::allocator<void> > >, const rmw_message_info_t&)> >::value, void>::type* <anonymous> > void rclcpp::any_subscription_callback::AnySubscriptionCallback<MessageT, Alloc>::set(CallbackT) [with CallbackT = CallbackT; typename std::enable_if<rclcpp::function_traits::same_arguments<CallbackT, std::function<void(std::shared_ptr<_Tp1>, const rmw_message_info_t&)> >::value>::type* <anonymous> = <enumerator>; MessageT = std_msgs::msg::String_<std::allocator<void> >; Alloc = std::allocator<void>]
void set(CallbackT callback)
^
/home/tfoote/work/ros2/tf3/install/include/rclcpp/any_subscription_callback.hpp:95:8: note: template argument deduction/substitution failed:
/home/tfoote/work/ros2/tf3/install/include/rclcpp/any_subscription_callback.hpp:93:17: error: ‘value’ is not a member of ‘rclcpp::function_traits::same_arguments<std::_Bind<std::_Mem_fn<void (Chatter::*)(std::shared_ptr<std_msgs::msg::String_<std::allocator<void> > >)>(Chatter*, std::_Placeholder<1>)>, std::function<void(std::shared_ptr<std_msgs::msg::String_<std::allocator<void> > >, const rmw_message_info_t&)> >’
>::type * = nullptr
^
/home/tfoote/work/ros2/tf3/install/include/rclcpp/any_subscription_callback.hpp:93:17: note: invalid template non-type parameter
/home/tfoote/work/ros2/tf3/install/include/rclcpp/any_subscription_callback.hpp:109:8: note: template<class CallbackT, typename std::enable_if<rclcpp::function_traits::same_arguments<CallbackT, std::function<void(std::shared_ptr<const std_msgs::msg::String_<std::allocator<void> > >)> >::value, void>::type* <anonymous> > void rclcpp::any_subscription_callback::AnySubscriptionCallback<MessageT, Alloc>::set(CallbackT) [with CallbackT = CallbackT; typename std::enable_if<rclcpp::function_traits::same_arguments<CallbackT, std::function<void(std::shared_ptr<const _Tp>)> >::value>::type* <anonymous> = <enumerator>; MessageT = std_msgs::msg::String_<std::allocator<void> >; Alloc = std::allocator<void>]
void set(CallbackT callback)
^
/home/tfoote/work/ros2/tf3/install/include/rclcpp/any_subscription_callback.hpp:109:8: note: template argument deduction/substitution failed:
/home/tfoote/work/ros2/tf3/install/include/rclcpp/any_subscription_callback.hpp:107:17: error: ‘value’ is not a member of ‘rclcpp::function_traits::same_arguments<std::_Bind<std::_Mem_fn<void (Chatter::*)(std::shared_ptr<std_msgs::msg::String_<std::allocator<void> > >)>(Chatter*, std::_Placeholder<1>)>, std::function<void(std::shared_ptr<const std_msgs::msg::String_<std::allocator<void> > >)> >’
>::type * = nullptr
^
/home/tfoote/work/ros2/tf3/install/include/rclcpp/any_subscription_callback.hpp:107:17: note: invalid template non-type parameter
/home/tfoote/work/ros2/tf3/install/include/rclcpp/any_subscription_callback.hpp:123:8: note: template<class CallbackT, typename std::enable_if<rclcpp::function_traits::same_arguments<CallbackT, std::function<void(std::shared_ptr<const std_msgs::msg::String_<std::allocator<void> > >, const rmw_message_info_t&)> >::value, void>::type* <anonymous> > void rclcpp::any_subscription_callback::AnySubscriptionCallback<MessageT, Alloc>::set(CallbackT) [with CallbackT = CallbackT; typename std::enable_if<rclcpp::function_traits::same_arguments<CallbackT, std::function<void(std::shared_ptr<const _Tp>, const rmw_message_info_t&)> >::value>::type* <anonymous> = <enumerator>; MessageT = std_msgs::msg::String_<std::allocator<void> >; Alloc = std::allocator<void>]
void set(CallbackT callback)
^
/home/tfoote/work/ros2/tf3/install/include/rclcpp/any_subscription_callback.hpp:123:8: note: template argument deduction/substitution failed:
/home/tfoote/work/ros2/tf3/install/include/rclcpp/any_subscription_callback.hpp:121:17: error: ‘value’ is not a member of ‘rclcpp::function_traits::same_arguments<std::_Bind<std::_Mem_fn<void (Chatter::*)(std::shared_ptr<std_msgs::msg::String_<std::allocator<void> > >)>(Chatter*, std::_Placeholder<1>)>, std::function<void(std::shared_ptr<const std_msgs::msg::String_<std::allocator<void> > >, const rmw_message_info_t&)> >’
>::type * = nullptr
^
/home/tfoote/work/ros2/tf3/install/include/rclcpp/any_subscription_callback.hpp:121:17: note: invalid template non-type parameter
/home/tfoote/work/ros2/tf3/install/include/rclcpp/any_subscription_callback.hpp:137:8: note: template<class CallbackT, typename std::enable_if<rclcpp::function_traits::same_arguments<CallbackT, std::function<void(std::unique_ptr<std_msgs::msg::String_<std::allocator<void> >, std::default_delete<std_msgs::msg::String_<std::allocator<void> > > >)> >::value, void>::type* <anonymous> > void rclcpp::any_subscription_callback::AnySubscriptionCallback<MessageT, Alloc>::set(CallbackT) [with CallbackT = CallbackT; typename std::enable_if<rclcpp::function_traits::same_arguments<CallbackT, std::function<void(std::unique_ptr<MessageT, typename std::conditional<std::is_same<typename std::allocator_traits<typename std::allocator_traits<_Alloc>::rebind_traits<MessageT>::allocator_type>::rebind_alloc<MessageT>, typename std::allocator<void>::rebind<_Tp1>::other>::value, std::default_delete<_Tp>, rclcpp::allocator::AllocatorDeleter<typename std::allocator_traits<_Alloc>::rebind_traits<MessageT>::allocator_type> >::type>)> >::value>::type* <anonymous> = <enumerator>; MessageT = std_msgs::msg::String_<std::allocator<void> >; Alloc = std::allocator<void>]
void set(CallbackT callback)
^
/home/tfoote/work/ros2/tf3/install/include/rclcpp/any_subscription_callback.hpp:137:8: note: template argument deduction/substitution failed:
/home/tfoote/work/ros2/tf3/install/include/rclcpp/any_subscription_callback.hpp:135:17: error: ‘value’ is not a member of ‘rclcpp::function_traits::same_arguments<std::_Bind<std::_Mem_fn<void (Chatter::*)(std::shared_ptr<std_msgs::msg::String_<std::allocator<void> > >)>(Chatter*, std::_Placeholder<1>)>, std::function<void(std::unique_ptr<std_msgs::msg::String_<std::allocator<void> >, std::default_delete<std_msgs::msg::String_<std::allocator<void> > > >)> >’
>::type * = nullptr
^
/home/tfoote/work/ros2/tf3/install/include/rclcpp/any_subscription_callback.hpp:135:17: note: invalid template non-type parameter
/home/tfoote/work/ros2/tf3/install/include/rclcpp/any_subscription_callback.hpp:151:8: note: template<class CallbackT, typename std::enable_if<rclcpp::function_traits::same_arguments<CallbackT, std::function<void(std::unique_ptr<std_msgs::msg::String_<std::allocator<void> >, std::default_delete<std_msgs::msg::String_<std::allocator<void> > > >, const rmw_message_info_t&)> >::value, void>::type* <anonymous> > void rclcpp::any_subscription_callback::AnySubscriptionCallback<MessageT, Alloc>::set(CallbackT) [with CallbackT = CallbackT; typename std::enable_if<rclcpp::function_traits::same_arguments<CallbackT, std::function<void(std::unique_ptr<MessageT, typename std::conditional<std::is_same<typename std::allocator_traits<typename std::allocator_traits<_Alloc>::rebind_traits<MessageT>::allocator_type>::rebind_alloc<MessageT>, typename std::allocator<void>::rebind<_Tp1>::other>::value, std::default_delete<_Tp>, rclcpp::allocator::AllocatorDeleter<typename std::allocator_traits<_Alloc>::rebind_traits<MessageT>::allocator_type> >::type>, const rmw_message_info_t&)> >::value>::type* <anonymous> = <enumerator>; MessageT = std_msgs::msg::String_<std::allocator<void> >; Alloc = std::allocator<void>]
void set(CallbackT callback)
^
/home/tfoote/work/ros2/tf3/install/include/rclcpp/any_subscription_callback.hpp:151:8: note: substitution of deduced template arguments resulted in errors seen above
In file included from /usr/include/c++/4.8/memory:79:0,
from /home/tfoote/work/ros2/tf3/src/ros2/examples/rclcpp_examples/src/topics/listener_class.cpp:16:
/usr/include/c++/4.8/functional: In substitution of ‘template<class _Res, class ... _ArgTypes> template<class _Functor> using _Invoke = decltype (std::__callable_functor(declval<_Functor&>())((declval<_ArgTypes>)()...)) [with _Functor = rclcpp::node::Node::create_subscription(const string&, CallbackT&&, const rmw_qos_profile_t&, rclcpp::callback_group::CallbackGroup::SharedPtr, bool, typename rclcpp::message_memory_strategy::MessageMemoryStrategy<MessageT, Alloc>::SharedPtr, std::shared_ptr<Alloc>) [with MessageT = std_msgs::msg::String_<std::allocator<void> >; CallbackT = std::_Bind<std::_Mem_fn<void (Chatter::*)(std::shared_ptr<std_msgs::msg::String_<std::allocator<void> > >)>(Chatter*, std::_Placeholder<1>)>; Alloc = std::allocator<void>; typename rclcpp::subscription::Subscription<MessageT, Alloc>::SharedPtr = std::shared_ptr<rclcpp::subscription::Subscription<std_msgs::msg::String_<std::allocator<void> >, std::allocator<void> > >; std::string = std::basic_string<char>; rmw_qos_profile_t = rmw_qos_profile_t; rclcpp::callback_group::CallbackGroup::SharedPtr = std::shared_ptr<rclcpp::callback_group::CallbackGroup>; typename rclcpp::message_memory_strategy::MessageMemoryStrategy<MessageT, Alloc>::SharedPtr = std::shared_ptr<rclcpp::message_memory_strategy::MessageMemoryStrategy<std_msgs::msg::String_<std::allocator<void> >, std::allocator<void> > >]::__lambda9; _Res = void; _ArgTypes = {long unsigned int, long unsigned int, long unsigned int, std::unique_ptr<std_msgs::msg::String_<std::allocator<void> >, std::default_delete<std_msgs::msg::String_<std::allocator<void> > > >&}]’:
/usr/include/c++/4.8/functional:2257:9: required from ‘typename rclcpp::subscription::Subscription<MessageT, Alloc>::SharedPtr rclcpp::node::Node::create_subscription(const string&, CallbackT&&, const rmw_qos_profile_t&, rclcpp::callback_group::CallbackGroup::SharedPtr, bool, typename rclcpp::message_memory_strategy::MessageMemoryStrategy<MessageT, Alloc>::SharedPtr, std::shared_ptr<Alloc>) [with MessageT = std_msgs::msg::String_<std::allocator<void> >; CallbackT = std::_Bind<std::_Mem_fn<void (Chatter::*)(std::shared_ptr<std_msgs::msg::String_<std::allocator<void> > >)>(Chatter*, std::_Placeholder<1>)>; Alloc = std::allocator<void>; typename rclcpp::subscription::Subscription<MessageT, Alloc>::SharedPtr = std::shared_ptr<rclcpp::subscription::Subscription<std_msgs::msg::String_<std::allocator<void> >, std::allocator<void> > >; std::string = std::basic_string<char>; rmw_qos_profile_t = rmw_qos_profile_t; rclcpp::callback_group::CallbackGroup::SharedPtr = std::shared_ptr<rclcpp::callback_group::CallbackGroup>; typename rclcpp::message_memory_strategy::MessageMemoryStrategy<MessageT, Alloc>::SharedPtr = std::shared_ptr<rclcpp::message_memory_strategy::MessageMemoryStrategy<std_msgs::msg::String_<std::allocator<void> >, std::allocator<void> > >]’
/home/tfoote/work/ros2/tf3/src/ros2/examples/rclcpp_examples/src/topics/listener_class.cpp:38:110: required from here
/usr/include/c++/4.8/functional:2181:71: error: use of ‘rclcpp::node::Node::create_subscription(const string&, CallbackT&&, const rmw_qos_profile_t&, rclcpp::callback_group::CallbackGroup::SharedPtr, bool, typename rclcpp::message_memory_strategy::MessageMemoryStrategy<MessageT, Alloc>::SharedPtr, std::shared_ptr<Alloc>) [with MessageT = std_msgs::msg::String_<std::allocator<void> >; CallbackT = std::_Bind<std::_Mem_fn<void (Chatter::*)(std::shared_ptr<std_msgs::msg::String_<std::allocator<void> > >)>(Chatter*, std::_Placeholder<1>)>; Alloc = std::allocator<void>; typename rclcpp::subscription::Subscription<MessageT, Alloc>::SharedPtr = std::shared_ptr<rclcpp::subscription::Subscription<std_msgs::msg::String_<std::allocator<void> >, std::allocator<void> > >; std::string = std::basic_string<char>; rmw_qos_profile_t = rmw_qos_profile_t; rclcpp::callback_group::CallbackGroup::SharedPtr = std::shared_ptr<rclcpp::callback_group::CallbackGroup>; typename rclcpp::message_memory_strategy::MessageMemoryStrategy<MessageT, Alloc>::SharedPtr = std::shared_ptr<rclcpp::message_memory_strategy::MessageMemoryStrategy<std_msgs::msg::String_<std::allocator<void> >, std::allocator<void> > >]::__lambda9’ before deduction of ‘auto’
using _Invoke = decltype(__callable_functor(std::declval<_Functor&>())
^
/usr/include/c++/4.8/functional:2257: confused by earlier errors, bailing out
Preprocessed source stored into /tmp/ccpWk998.out file, please attach this to your bugreport.
ERROR: Cannot create report: [Errno 17] File exists: '/var/crash/_usr_lib_gcc_x86_64-linux-gnu_4.8_cc1plus.1000.crash'
make[2]: *** [CMakeFiles/listener_class__rmw_opensplice_cpp.dir/src/topics/listener_class.cpp.o] Error 1
make[1]: *** [CMakeFiles/listener_class__rmw_opensplice_cpp.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
In file included from /home/tfoote/work/ros2/tf3/install/include/rclcpp/client.hpp:26:0,
from /home/tfoote/work/ros2/tf3/install/include/rclcpp/callback_group.hpp:22,
from /home/tfoote/work/ros2/tf3/install/include/rclcpp/node.hpp:30,
from /home/tfoote/work/ros2/tf3/install/include/rclcpp/any_executable.hpp:21,
from /home/tfoote/work/ros2/tf3/install/include/rclcpp/executor.hpp:26,
from /home/tfoote/work/ros2/tf3/install/include/rclcpp/executors/multi_threaded_executor.hpp:22,
from /home/tfoote/work/ros2/tf3/install/include/rclcpp/executors.hpp:20,
from /home/tfoote/work/ros2/tf3/install/include/rclcpp/rclcpp.hpp:21,
from /home/tfoote/work/ros2/tf3/src/ros2/examples/rclcpp_examples/src/topics/listener_class.cpp:18:
/home/tfoote/work/ros2/tf3/install/include/rclcpp/function_traits.hpp: In instantiation of ‘struct rclcpp::function_traits::function_traits<std::_Bind<std::_Mem_fn<void (Chatter::*)(std::shared_ptr<std_msgs::msg::String_<std::allocator<void> > >)>(Chatter*, std::_Placeholder<1>)> >’:
/home/tfoote/work/ros2/tf3/install/include/rclcpp/function_traits.hpp:110:8: required from ‘struct rclcpp::function_traits::same_arguments<std::_Bind<std::_Mem_fn<void (Chatter::*)(std::shared_ptr<std_msgs::msg::String_<std::allocator<void> > >)>(Chatter*, std::_Placeholder<1>)>, std::function<void(std::unique_ptr<std_msgs::msg::String_<std::allocator<void> >, std::default_delete<std_msgs::msg::String_<std::allocator<void> > > >, const rmw_message_info_t&)> >’
/home/tfoote/work/ros2/tf3/install/include/rclcpp/any_subscription_callback.hpp:149:17: required from ‘typename rclcpp::subscription::Subscription<MessageT, Alloc>::SharedPtr rclcpp::node::Node::create_subscription(const string&, CallbackT&&, const rmw_qos_profile_t&, rclcpp::callback_group::CallbackGroup::SharedPtr, bool, typename rclcpp::message_memory_strategy::MessageMemoryStrategy<MessageT, Alloc>::SharedPtr, std::shared_ptr<Alloc>) [with MessageT = std_msgs::msg::String_<std::allocator<void> >; CallbackT = std::_Bind<std::_Mem_fn<void (Chatter::*)(std::shared_ptr<std_msgs::msg::String_<std::allocator<void> > >)>(Chatter*, std::_Placeholder<1>)>; Alloc = std::allocator<void>; typename rclcpp::subscription::Subscription<MessageT, Alloc>::SharedPtr = std::shared_ptr<rclcpp::subscription::Subscription<std_msgs::msg::String_<std::allocator<void> >, std::allocator<void> > >; std::string = std::basic_string<char>; rmw_qos_profile_t = rmw_qos_profile_t; rclcpp::callback_group::CallbackGroup::SharedPtr = std::shared_ptr<rclcpp::callback_group::CallbackGroup>; typename rclcpp::message_memory_strategy::MessageMemoryStrategy<MessageT, Alloc>::SharedPtr = std::shared_ptr<rclcpp::message_memory_strategy::MessageMemoryStrategy<std_msgs::msg::String_<std::allocator<void> >, std::allocator<void> > >]’
/home/tfoote/work/ros2/tf3/src/ros2/examples/rclcpp_examples/src/topics/listener_class.cpp:38:110: required from here
/home/tfoote/work/ros2/tf3/install/include/rclcpp/function_traits.hpp:51:85: error: decltype cannot resolve address of overloaded function
typename function_traits<decltype( & FunctionT::operator())>::arguments>::type;
^
/home/tfoote/work/ros2/tf3/install/include/rclcpp/function_traits.hpp:56:72: error: decltype cannot resolve address of overloaded function
using argument_type = typename std::tuple_element<N, arguments>::type;
^
/home/tfoote/work/ros2/tf3/install/include/rclcpp/function_traits.hpp:58:96: error: decltype cannot resolve address of overloaded function
using return_type = typename function_traits<decltype( & FunctionT::operator())>::return_type;
^
In file included from /home/tfoote/work/ros2/tf3/install/include/rclcpp/node.hpp:290:0,
from /home/tfoote/work/ros2/tf3/install/include/rclcpp/any_executable.hpp:21,
from /home/tfoote/work/ros2/tf3/install/include/rclcpp/executor.hpp:26,
from /home/tfoote/work/ros2/tf3/install/include/rclcpp/executors/multi_threaded_executor.hpp:22,
from /home/tfoote/work/ros2/tf3/install/include/rclcpp/executors.hpp:20,
from /home/tfoote/work/ros2/tf3/install/include/rclcpp/rclcpp.hpp:21,
from /home/tfoote/work/ros2/tf3/src/ros2/examples/rclcpp_examples/src/topics/listener_class.cpp:18:
/home/tfoote/work/ros2/tf3/install/include/rclcpp/node_impl.hpp: In instantiation of ‘typename rclcpp::subscription::Subscription<MessageT, Alloc>::SharedPtr rclcpp::node::Node::create_subscription(const string&, CallbackT&&, const rmw_qos_profile_t&, rclcpp::callback_group::CallbackGroup::SharedPtr, bool, typename rclcpp::message_memory_strategy::MessageMemoryStrategy<MessageT, Alloc>::SharedPtr, std::shared_ptr<Alloc>) [with MessageT = std_msgs::msg::String_<std::allocator<void> >; CallbackT = std::_Bind<std::_Mem_fn<void (Chatter::*)(std::shared_ptr<std_msgs::msg::String_<std::allocator<void> > >)>(Chatter*, std::_Placeholder<1>)>; Alloc = std::allocator<void>; typename rclcpp::subscription::Subscription<MessageT, Alloc>::SharedPtr = std::shared_ptr<rclcpp::subscription::Subscription<std_msgs::msg::String_<std::allocator<void> >, std::allocator<void> > >; std::string = std::basic_string<char>; rmw_qos_profile_t = rmw_qos_profile_t; rclcpp::callback_group::CallbackGroup::SharedPtr = std::shared_ptr<rclcpp::callback_group::CallbackGroup>; typename rclcpp::message_memory_strategy::MessageMemoryStrategy<MessageT, Alloc>::SharedPtr = std::shared_ptr<rclcpp::message_memory_strategy::MessageMemoryStrategy<std_msgs::msg::String_<std::allocator<void> >, std::allocator<void> > >]’:
/home/tfoote/work/ros2/tf3/src/ros2/examples/rclcpp_examples/src/topics/listener_class.cpp:38:110: required from here
/home/tfoote/work/ros2/tf3/install/include/rclcpp/node_impl.hpp:158:3: error: no matching function for call to ‘rclcpp::any_subscription_callback::AnySubscriptionCallback<std_msgs::msg::String_<std::allocator<void> >, std::allocator<void> >::set(std::_Bind<std::_Mem_fn<void (Chatter::*)(std::shared_ptr<std_msgs::msg::String_<std::allocator<void> > >)>(Chatter*, std::_Placeholder<1>)>)’
any_subscription_callback.set(std::forward<CallbackT>(callback));
^
/home/tfoote/work/ros2/tf3/install/include/rclcpp/node_impl.hpp:158:3: note: candidates are:
In file included from /home/tfoote/work/ros2/tf3/install/include/rclcpp/subscription.hpp:31:0,
from /home/tfoote/work/ros2/tf3/install/include/rclcpp/callback_group.hpp:24,
from /home/tfoote/work/ros2/tf3/install/include/rclcpp/node.hpp:30,
from /home/tfoote/work/ros2/tf3/install/include/rclcpp/any_executable.hpp:21,
from /home/tfoote/work/ros2/tf3/install/include/rclcpp/executor.hpp:26,
from /home/tfoote/work/ros2/tf3/install/include/rclcpp/executors/multi_threaded_executor.hpp:22,
from /home/tfoote/work/ros2/tf3/install/include/rclcpp/executors.hpp:20,
from /home/tfoote/work/ros2/tf3/install/include/rclcpp/rclcpp.hpp:21,
from /home/tfoote/work/ros2/tf3/src/ros2/examples/rclcpp_examples/src/topics/listener_class.cpp:18:
/home/tfoote/work/ros2/tf3/install/include/rclcpp/any_subscription_callback.hpp:81:8: note: template<class CallbackT, typename std::enable_if<rclcpp::function_traits::same_arguments<CallbackT, std::function<void(std::shared_ptr<std_msgs::msg::String_<std::allocator<void> > >)> >::value, void>::type* <anonymous> > void rclcpp::any_subscription_callback::AnySubscriptionCallback<MessageT, Alloc>::set(CallbackT) [with CallbackT = CallbackT; typename std::enable_if<rclcpp::function_traits::same_arguments<CallbackT, std::function<void(std::shared_ptr<_Tp1>)> >::value>::type* <anonymous> = <enumerator>; MessageT = std_msgs::msg::String_<std::allocator<void> >; Alloc = std::allocator<void>]
void set(CallbackT callback)
^
/home/tfoote/work/ros2/tf3/install/include/rclcpp/any_subscription_callback.hpp:81:8: note: template argument deduction/substitution failed:
/home/tfoote/work/ros2/tf3/install/include/rclcpp/any_subscription_callback.hpp:79:17: error: ‘value’ is not a member of ‘rclcpp::function_traits::same_arguments<std::_Bind<std::_Mem_fn<void (Chatter::*)(std::shared_ptr<std_msgs::msg::String_<std::allocator<void> > >)>(Chatter*, std::_Placeholder<1>)>, std::function<void(std::shared_ptr<std_msgs::msg::String_<std::allocator<void> > >)> >’
>::type * = nullptr
^
/home/tfoote/work/ros2/tf3/install/include/rclcpp/any_subscription_callback.hpp:79:17: note: invalid template non-type parameter
/home/tfoote/work/ros2/tf3/install/include/rclcpp/any_subscription_callback.hpp:95:8: note: template<class CallbackT, typename std::enable_if<rclcpp::function_traits::same_arguments<CallbackT, std::function<void(std::shared_ptr<std_msgs::msg::String_<std::allocator<void> > >, const rmw_message_info_t&)> >::value, void>::type* <anonymous> > void rclcpp::any_subscription_callback::AnySubscriptionCallback<MessageT, Alloc>::set(CallbackT) [with CallbackT = CallbackT; typename std::enable_if<rclcpp::function_traits::same_arguments<CallbackT, std::function<void(std::shared_ptr<_Tp1>, const rmw_message_info_t&)> >::value>::type* <anonymous> = <enumerator>; MessageT = std_msgs::msg::String_<std::allocator<void> >; Alloc = std::allocator<void>]
void set(CallbackT callback)
^
/home/tfoote/work/ros2/tf3/install/include/rclcpp/any_subscription_callback.hpp:95:8: note: template argument deduction/substitution failed:
/home/tfoote/work/ros2/tf3/install/include/rclcpp/any_subscription_callback.hpp:93:17: error: ‘value’ is not a member of ‘rclcpp::function_traits::same_arguments<std::_Bind<std::_Mem_fn<void (Chatter::*)(std::shared_ptr<std_msgs::msg::String_<std::allocator<void> > >)>(Chatter*, std::_Placeholder<1>)>, std::function<void(std::shared_ptr<std_msgs::msg::String_<std::allocator<void> > >, const rmw_message_info_t&)> >’
>::type * = nullptr
^
/home/tfoote/work/ros2/tf3/install/include/rclcpp/any_subscription_callback.hpp:93:17: note: invalid template non-type parameter
/home/tfoote/work/ros2/tf3/install/include/rclcpp/any_subscription_callback.hpp:109:8: note: template<class CallbackT, typename std::enable_if<rclcpp::function_traits::same_arguments<CallbackT, std::function<void(std::shared_ptr<const std_msgs::msg::String_<std::allocator<void> > >)> >::value, void>::type* <anonymous> > void rclcpp::any_subscription_callback::AnySubscriptionCallback<MessageT, Alloc>::set(CallbackT) [with CallbackT = CallbackT; typename std::enable_if<rclcpp::function_traits::same_arguments<CallbackT, std::function<void(std::shared_ptr<const _Tp>)> >::value>::type* <anonymous> = <enumerator>; MessageT = std_msgs::msg::String_<std::allocator<void> >; Alloc = std::allocator<void>]
void set(CallbackT callback)
^
/home/tfoote/work/ros2/tf3/install/include/rclcpp/any_subscription_callback.hpp:109:8: note: template argument deduction/substitution failed:
/home/tfoote/work/ros2/tf3/install/include/rclcpp/any_subscription_callback.hpp:107:17: error: ‘value’ is not a member of ‘rclcpp::function_traits::same_arguments<std::_Bind<std::_Mem_fn<void (Chatter::*)(std::shared_ptr<std_msgs::msg::String_<std::allocator<void> > >)>(Chatter*, std::_Placeholder<1>)>, std::function<void(std::shared_ptr<const std_msgs::msg::String_<std::allocator<void> > >)> >’
>::type * = nullptr
^
/home/tfoote/work/ros2/tf3/install/include/rclcpp/any_subscription_callback.hpp:107:17: note: invalid template non-type parameter
/home/tfoote/work/ros2/tf3/install/include/rclcpp/any_subscription_callback.hpp:123:8: note: template<class CallbackT, typename std::enable_if<rclcpp::function_traits::same_arguments<CallbackT, std::function<void(std::shared_ptr<const std_msgs::msg::String_<std::allocator<void> > >, const rmw_message_info_t&)> >::value, void>::type* <anonymous> > void rclcpp::any_subscription_callback::AnySubscriptionCallback<MessageT, Alloc>::set(CallbackT) [with CallbackT = CallbackT; typename std::enable_if<rclcpp::function_traits::same_arguments<CallbackT, std::function<void(std::shared_ptr<const _Tp>, const rmw_message_info_t&)> >::value>::type* <anonymous> = <enumerator>; MessageT = std_msgs::msg::String_<std::allocator<void> >; Alloc = std::allocator<void>]
void set(CallbackT callback)
^
/home/tfoote/work/ros2/tf3/install/include/rclcpp/any_subscription_callback.hpp:123:8: note: template argument deduction/substitution failed:
/home/tfoote/work/ros2/tf3/install/include/rclcpp/any_subscription_callback.hpp:121:17: error: ‘value’ is not a member of ‘rclcpp::function_traits::same_arguments<std::_Bind<std::_Mem_fn<void (Chatter::*)(std::shared_ptr<std_msgs::msg::String_<std::allocator<void> > >)>(Chatter*, std::_Placeholder<1>)>, std::function<void(std::shared_ptr<const std_msgs::msg::String_<std::allocator<void> > >, const rmw_message_info_t&)> >’
>::type * = nullptr
^
/home/tfoote/work/ros2/tf3/install/include/rclcpp/any_subscription_callback.hpp:121:17: note: invalid template non-type parameter
/home/tfoote/work/ros2/tf3/install/include/rclcpp/any_subscription_callback.hpp:137:8: note: template<class CallbackT, typename std::enable_if<rclcpp::function_traits::same_arguments<CallbackT, std::function<void(std::unique_ptr<std_msgs::msg::String_<std::allocator<void> >, std::default_delete<std_msgs::msg::String_<std::allocator<void> > > >)> >::value, void>::type* <anonymous> > void rclcpp::any_subscription_callback::AnySubscriptionCallback<MessageT, Alloc>::set(CallbackT) [with CallbackT = CallbackT; typename std::enable_if<rclcpp::function_traits::same_arguments<CallbackT, std::function<void(std::unique_ptr<MessageT, typename std::conditional<std::is_same<typename std::allocator_traits<typename std::allocator_traits<_Alloc>::rebind_traits<MessageT>::allocator_type>::rebind_alloc<MessageT>, typename std::allocator<void>::rebind<_Tp1>::other>::value, std::default_delete<_Tp>, rclcpp::allocator::AllocatorDeleter<typename std::allocator_traits<_Alloc>::rebind_traits<MessageT>::allocator_type> >::type>)> >::value>::type* <anonymous> = <enumerator>; MessageT = std_msgs::msg::String_<std::allocator<void> >; Alloc = std::allocator<void>]
void set(CallbackT callback)
^
/home/tfoote/work/ros2/tf3/install/include/rclcpp/any_subscription_callback.hpp:137:8: note: template argument deduction/substitution failed:
/home/tfoote/work/ros2/tf3/install/include/rclcpp/any_subscription_callback.hpp:135:17: error: ‘value’ is not a member of ‘rclcpp::function_traits::same_arguments<std::_Bind<std::_Mem_fn<void (Chatter::*)(std::shared_ptr<std_msgs::msg::String_<std::allocator<void> > >)>(Chatter*, std::_Placeholder<1>)>, std::function<void(std::unique_ptr<std_msgs::msg::String_<std::allocator<void> >, std::default_delete<std_msgs::msg::String_<std::allocator<void> > > >)> >’
>::type * = nullptr
^
/home/tfoote/work/ros2/tf3/install/include/rclcpp/any_subscription_callback.hpp:135:17: note: invalid template non-type parameter
/home/tfoote/work/ros2/tf3/install/include/rclcpp/any_subscription_callback.hpp:151:8: note: template<class CallbackT, typename std::enable_if<rclcpp::function_traits::same_arguments<CallbackT, std::function<void(std::unique_ptr<std_msgs::msg::String_<std::allocator<void> >, std::default_delete<std_msgs::msg::String_<std::allocator<void> > > >, const rmw_message_info_t&)> >::value, void>::type* <anonymous> > void rclcpp::any_subscription_callback::AnySubscriptionCallback<MessageT, Alloc>::set(CallbackT) [with CallbackT = CallbackT; typename std::enable_if<rclcpp::function_traits::same_arguments<CallbackT, std::function<void(std::unique_ptr<MessageT, typename std::conditional<std::is_same<typename std::allocator_traits<typename std::allocator_traits<_Alloc>::rebind_traits<MessageT>::allocator_type>::rebind_alloc<MessageT>, typename std::allocator<void>::rebind<_Tp1>::other>::value, std::default_delete<_Tp>, rclcpp::allocator::AllocatorDeleter<typename std::allocator_traits<_Alloc>::rebind_traits<MessageT>::allocator_type> >::type>, const rmw_message_info_t&)> >::value>::type* <anonymous> = <enumerator>; MessageT = std_msgs::msg::String_<std::allocator<void> >; Alloc = std::allocator<void>]
void set(CallbackT callback)
^
/home/tfoote/work/ros2/tf3/install/include/rclcpp/any_subscription_callback.hpp:151:8: note: substitution of deduced template arguments resulted in errors seen above
In file included from /usr/include/c++/4.8/memory:79:0,
from /home/tfoote/work/ros2/tf3/src/ros2/examples/rclcpp_examples/src/topics/listener_class.cpp:16:
/usr/include/c++/4.8/functional: In substitution of ‘template<class _Res, class ... _ArgTypes> template<class _Functor> using _Invoke = decltype (std::__callable_functor(declval<_Functor&>())((declval<_ArgTypes>)()...)) [with _Functor = rclcpp::node::Node::create_subscription(const string&, CallbackT&&, const rmw_qos_profile_t&, rclcpp::callback_group::CallbackGroup::SharedPtr, bool, typename rclcpp::message_memory_strategy::MessageMemoryStrategy<MessageT, Alloc>::SharedPtr, std::shared_ptr<Alloc>) [with MessageT = std_msgs::msg::String_<std::allocator<void> >; CallbackT = std::_Bind<std::_Mem_fn<void (Chatter::*)(std::shared_ptr<std_msgs::msg::String_<std::allocator<void> > >)>(Chatter*, std::_Placeholder<1>)>; Alloc = std::allocator<void>; typename rclcpp::subscription::Subscription<MessageT, Alloc>::SharedPtr = std::shared_ptr<rclcpp::subscription::Subscription<std_msgs::msg::String_<std::allocator<void> >, std::allocator<void> > >; std::string = std::basic_string<char>; rmw_qos_profile_t = rmw_qos_profile_t; rclcpp::callback_group::CallbackGroup::SharedPtr = std::shared_ptr<rclcpp::callback_group::CallbackGroup>; typename rclcpp::message_memory_strategy::MessageMemoryStrategy<MessageT, Alloc>::SharedPtr = std::shared_ptr<rclcpp::message_memory_strategy::MessageMemoryStrategy<std_msgs::msg::String_<std::allocator<void> >, std::allocator<void> > >]::__lambda9; _Res = void; _ArgTypes = {long unsigned int, long unsigned int, long unsigned int, std::unique_ptr<std_msgs::msg::String_<std::allocator<void> >, std::default_delete<std_msgs::msg::String_<std::allocator<void> > > >&}]’:
/usr/include/c++/4.8/functional:2257:9: required from ‘typename rclcpp::subscription::Subscription<MessageT, Alloc>::SharedPtr rclcpp::node::Node::create_subscription(const string&, CallbackT&&, const rmw_qos_profile_t&, rclcpp::callback_group::CallbackGroup::SharedPtr, bool, typename rclcpp::message_memory_strategy::MessageMemoryStrategy<MessageT, Alloc>::SharedPtr, std::shared_ptr<Alloc>) [with MessageT = std_msgs::msg::String_<std::allocator<void> >; CallbackT = std::_Bind<std::_Mem_fn<void (Chatter::*)(std::shared_ptr<std_msgs::msg::String_<std::allocator<void> > >)>(Chatter*, std::_Placeholder<1>)>; Alloc = std::allocator<void>; typename rclcpp::subscription::Subscription<MessageT, Alloc>::SharedPtr = std::shared_ptr<rclcpp::subscription::Subscription<std_msgs::msg::String_<std::allocator<void> >, std::allocator<void> > >; std::string = std::basic_string<char>; rmw_qos_profile_t = rmw_qos_profile_t; rclcpp::callback_group::CallbackGroup::SharedPtr = std::shared_ptr<rclcpp::callback_group::CallbackGroup>; typename rclcpp::message_memory_strategy::MessageMemoryStrategy<MessageT, Alloc>::SharedPtr = std::shared_ptr<rclcpp::message_memory_strategy::MessageMemoryStrategy<std_msgs::msg::String_<std::allocator<void> >, std::allocator<void> > >]’
/home/tfoote/work/ros2/tf3/src/ros2/examples/rclcpp_examples/src/topics/listener_class.cpp:38:110: required from here
/usr/include/c++/4.8/functional:2181:71: error: use of ‘rclcpp::node::Node::create_subscription(const string&, CallbackT&&, const rmw_qos_profile_t&, rclcpp::callback_group::CallbackGroup::SharedPtr, bool, typename rclcpp::message_memory_strategy::MessageMemoryStrategy<MessageT, Alloc>::SharedPtr, std::shared_ptr<Alloc>) [with MessageT = std_msgs::msg::String_<std::allocator<void> >; CallbackT = std::_Bind<std::_Mem_fn<void (Chatter::*)(std::shared_ptr<std_msgs::msg::String_<std::allocator<void> > >)>(Chatter*, std::_Placeholder<1>)>; Alloc = std::allocator<void>; typename rclcpp::subscription::Subscription<MessageT, Alloc>::SharedPtr = std::shared_ptr<rclcpp::subscription::Subscription<std_msgs::msg::String_<std::allocator<void> >, std::allocator<void> > >; std::string = std::basic_string<char>; rmw_qos_profile_t = rmw_qos_profile_t; rclcpp::callback_group::CallbackGroup::SharedPtr = std::shared_ptr<rclcpp::callback_group::CallbackGroup>; typename rclcpp::message_memory_strategy::MessageMemoryStrategy<MessageT, Alloc>::SharedPtr = std::shared_ptr<rclcpp::message_memory_strategy::MessageMemoryStrategy<std_msgs::msg::String_<std::allocator<void> >, std::allocator<void> > >]::__lambda9’ before deduction of ‘auto’
using _Invoke = decltype(__callable_functor(std::declval<_Functor&>())
^
/usr/include/c++/4.8/functional:2257: confused by earlier errors, bailing out
Preprocessed source stored into /tmp/ccIjxEo9.out file, please attach this to your bugreport.
ERROR: Cannot create report: [Errno 17] File exists: '/var/crash/_usr_lib_gcc_x86_64-linux-gnu_4.8_cc1plus.1000.crash'
make[2]: *** [CMakeFiles/listener_class__rmw_connext_dynamic_cpp.dir/src/topics/listener_class.cpp.o] Error 1
make[1]: *** [CMakeFiles/listener_class__rmw_connext_dynamic_cpp.dir/all] Error 2
In file included from /home/tfoote/work/ros2/tf3/install/include/rclcpp/client.hpp:26:0,
from /home/tfoote/work/ros2/tf3/install/include/rclcpp/callback_group.hpp:22,
from /home/tfoote/work/ros2/tf3/install/include/rclcpp/node.hpp:30,
from /home/tfoote/work/ros2/tf3/install/include/rclcpp/any_executable.hpp:21,
from /home/tfoote/work/ros2/tf3/install/include/rclcpp/executor.hpp:26,
from /home/tfoote/work/ros2/tf3/install/include/rclcpp/executors/multi_threaded_executor.hpp:22,
from /home/tfoote/work/ros2/tf3/install/include/rclcpp/executors.hpp:20,
from /home/tfoote/work/ros2/tf3/install/include/rclcpp/rclcpp.hpp:21,
from /home/tfoote/work/ros2/tf3/src/ros2/examples/rclcpp_examples/src/topics/listener_class.cpp:18:
/home/tfoote/work/ros2/tf3/install/include/rclcpp/function_traits.hpp: In instantiation of ‘struct rclcpp::function_traits::function_traits<std::_Bind<std::_Mem_fn<void (Chatter::*)(std::shared_ptr<std_msgs::msg::String_<std::allocator<void> > >)>(Chatter*, std::_Placeholder<1>)> >’:
/home/tfoote/work/ros2/tf3/install/include/rclcpp/function_traits.hpp:110:8: required from ‘struct rclcpp::function_traits::same_arguments<std::_Bind<std::_Mem_fn<void (Chatter::*)(std::shared_ptr<std_msgs::msg::String_<std::allocator<void> > >)>(Chatter*, std::_Placeholder<1>)>, std::function<void(std::unique_ptr<std_msgs::msg::String_<std::allocator<void> >, std::default_delete<std_msgs::msg::String_<std::allocator<void> > > >, const rmw_message_info_t&)> >’
/home/tfoote/work/ros2/tf3/install/include/rclcpp/any_subscription_callback.hpp:149:17: required from ‘typename rclcpp::subscription::Subscription<MessageT, Alloc>::SharedPtr rclcpp::node::Node::create_subscription(const string&, CallbackT&&, const rmw_qos_profile_t&, rclcpp::callback_group::CallbackGroup::SharedPtr, bool, typename rclcpp::message_memory_strategy::MessageMemoryStrategy<MessageT, Alloc>::SharedPtr, std::shared_ptr<Alloc>) [with MessageT = std_msgs::msg::String_<std::allocator<void> >; CallbackT = std::_Bind<std::_Mem_fn<void (Chatter::*)(std::shared_ptr<std_msgs::msg::String_<std::allocator<void> > >)>(Chatter*, std::_Placeholder<1>)>; Alloc = std::allocator<void>; typename rclcpp::subscription::Subscription<MessageT, Alloc>::SharedPtr = std::shared_ptr<rclcpp::subscription::Subscription<std_msgs::msg::String_<std::allocator<void> >, std::allocator<void> > >; std::string = std::basic_string<char>; rmw_qos_profile_t = rmw_qos_profile_t; rclcpp::callback_group::CallbackGroup::SharedPtr = std::shared_ptr<rclcpp::callback_group::CallbackGroup>; typename rclcpp::message_memory_strategy::MessageMemoryStrategy<MessageT, Alloc>::SharedPtr = std::shared_ptr<rclcpp::message_memory_strategy::MessageMemoryStrategy<std_msgs::msg::String_<std::allocator<void> >, std::allocator<void> > >]’
/home/tfoote/work/ros2/tf3/src/ros2/examples/rclcpp_examples/src/topics/listener_class.cpp:38:110: required from here
/home/tfoote/work/ros2/tf3/install/include/rclcpp/function_traits.hpp:51:85: error: decltype cannot resolve address of overloaded function
typename function_traits<decltype( & FunctionT::operator())>::arguments>::type;
^
/home/tfoote/work/ros2/tf3/install/include/rclcpp/function_traits.hpp:56:72: error: decltype cannot resolve address of overloaded function
using argument_type = typename std::tuple_element<N, arguments>::type;
^
/home/tfoote/work/ros2/tf3/install/include/rclcpp/function_traits.hpp:58:96: error: decltype cannot resolve address of overloaded function
using return_type = typename function_traits<decltype( & FunctionT::operator())>::return_type;
^
In file included from /home/tfoote/work/ros2/tf3/install/include/rclcpp/node.hpp:290:0,
from /home/tfoote/work/ros2/tf3/install/include/rclcpp/any_executable.hpp:21,
from /home/tfoote/work/ros2/tf3/install/include/rclcpp/executor.hpp:26,
from /home/tfoote/work/ros2/tf3/install/include/rclcpp/executors/multi_threaded_executor.hpp:22,
from /home/tfoote/work/ros2/tf3/install/include/rclcpp/executors.hpp:20,
from /home/tfoote/work/ros2/tf3/install/include/rclcpp/rclcpp.hpp:21,
from /home/tfoote/work/ros2/tf3/src/ros2/examples/rclcpp_examples/src/topics/listener_class.cpp:18:
/home/tfoote/work/ros2/tf3/install/include/rclcpp/node_impl.hpp: In instantiation of ‘typename rclcpp::subscription::Subscription<MessageT, Alloc>::SharedPtr rclcpp::node::Node::create_subscription(const string&, CallbackT&&, const rmw_qos_profile_t&, rclcpp::callback_group::CallbackGroup::SharedPtr, bool, typename rclcpp::message_memory_strategy::MessageMemoryStrategy<MessageT, Alloc>::SharedPtr, std::shared_ptr<Alloc>) [with MessageT = std_msgs::msg::String_<std::allocator<void> >; CallbackT = std::_Bind<std::_Mem_fn<void (Chatter::*)(std::shared_ptr<std_msgs::msg::String_<std::allocator<void> > >)>(Chatter*, std::_Placeholder<1>)>; Alloc = std::allocator<void>; typename rclcpp::subscription::Subscription<MessageT, Alloc>::SharedPtr = std::shared_ptr<rclcpp::subscription::Subscription<std_msgs::msg::String_<std::allocator<void> >, std::allocator<void> > >; std::string = std::basic_string<char>; rmw_qos_profile_t = rmw_qos_profile_t; rclcpp::callback_group::CallbackGroup::SharedPtr = std::shared_ptr<rclcpp::callback_group::CallbackGroup>; typename rclcpp::message_memory_strategy::MessageMemoryStrategy<MessageT, Alloc>::SharedPtr = std::shared_ptr<rclcpp::message_memory_strategy::MessageMemoryStrategy<std_msgs::msg::String_<std::allocator<void> >, std::allocator<void> > >]’:
/home/tfoote/work/ros2/tf3/src/ros2/examples/rclcpp_examples/src/topics/listener_class.cpp:38:110: required from here
/home/tfoote/work/ros2/tf3/install/include/rclcpp/node_impl.hpp:158:3: error: no matching function for call to ‘rclcpp::any_subscription_callback::AnySubscriptionCallback<std_msgs::msg::String_<std::allocator<void> >, std::allocator<void> >::set(std::_Bind<std::_Mem_fn<void (Chatter::*)(std::shared_ptr<std_msgs::msg::String_<std::allocator<void> > >)>(Chatter*, std::_Placeholder<1>)>)’
any_subscription_callback.set(std::forward<CallbackT>(callback));
^
/home/tfoote/work/ros2/tf3/install/include/rclcpp/node_impl.hpp:158:3: note: candidates are:
In file included from /home/tfoote/work/ros2/tf3/install/include/rclcpp/subscription.hpp:31:0,
from /home/tfoote/work/ros2/tf3/install/include/rclcpp/callback_group.hpp:24,
from /home/tfoote/work/ros2/tf3/install/include/rclcpp/node.hpp:30,
from /home/tfoote/work/ros2/tf3/install/include/rclcpp/any_executable.hpp:21,
from /home/tfoote/work/ros2/tf3/install/include/rclcpp/executor.hpp:26,
from /home/tfoote/work/ros2/tf3/install/include/rclcpp/executors/multi_threaded_executor.hpp:22,
from /home/tfoote/work/ros2/tf3/install/include/rclcpp/executors.hpp:20,
from /home/tfoote/work/ros2/tf3/install/include/rclcpp/rclcpp.hpp:21,
from /home/tfoote/work/ros2/tf3/src/ros2/examples/rclcpp_examples/src/topics/listener_class.cpp:18:
/home/tfoote/work/ros2/tf3/install/include/rclcpp/any_subscription_callback.hpp:81:8: note: template<class CallbackT, typename std::enable_if<rclcpp::function_traits::same_arguments<CallbackT, std::function<void(std::shared_ptr<std_msgs::msg::String_<std::allocator<void> > >)> >::value, void>::type* <anonymous> > void rclcpp::any_subscription_callback::AnySubscriptionCallback<MessageT, Alloc>::set(CallbackT) [with CallbackT = CallbackT; typename std::enable_if<rclcpp::function_traits::same_arguments<CallbackT, std::function<void(std::shared_ptr<_Tp1>)> >::value>::type* <anonymous> = <enumerator>; MessageT = std_msgs::msg::String_<std::allocator<void> >; Alloc = std::allocator<void>]
void set(CallbackT callback)
^
/home/tfoote/work/ros2/tf3/install/include/rclcpp/any_subscription_callback.hpp:81:8: note: template argument deduction/substitution failed:
/home/tfoote/work/ros2/tf3/install/include/rclcpp/any_subscription_callback.hpp:79:17: error: ‘value’ is not a member of ‘rclcpp::function_traits::same_arguments<std::_Bind<std::_Mem_fn<void (Chatter::*)(std::shared_ptr<std_msgs::msg::String_<std::allocator<void> > >)>(Chatter*, std::_Placeholder<1>)>, std::function<void(std::shared_ptr<std_msgs::msg::String_<std::allocator<void> > >)> >’
>::type * = nullptr
^
/home/tfoote/work/ros2/tf3/install/include/rclcpp/any_subscription_callback.hpp:79:17: note: invalid template non-type parameter
/home/tfoote/work/ros2/tf3/install/include/rclcpp/any_subscription_callback.hpp:95:8: note: template<class CallbackT, typename std::enable_if<rclcpp::function_traits::same_arguments<CallbackT, std::function<void(std::shared_ptr<std_msgs::msg::String_<std::allocator<void> > >, const rmw_message_info_t&)> >::value, void>::type* <anonymous> > void rclcpp::any_subscription_callback::AnySubscriptionCallback<MessageT, Alloc>::set(CallbackT) [with CallbackT = CallbackT; typename std::enable_if<rclcpp::function_traits::same_arguments<CallbackT, std::function<void(std::shared_ptr<_Tp1>, const rmw_message_info_t&)> >::value>::type* <anonymous> = <enumerator>; MessageT = std_msgs::msg::String_<std::allocator<void> >; Alloc = std::allocator<void>]
void set(CallbackT callback)
^
/home/tfoote/work/ros2/tf3/install/include/rclcpp/any_subscription_callback.hpp:95:8: note: template argument deduction/substitution failed:
/home/tfoote/work/ros2/tf3/install/include/rclcpp/any_subscription_callback.hpp:93:17: error: ‘value’ is not a member of ‘rclcpp::function_traits::same_arguments<std::_Bind<std::_Mem_fn<void (Chatter::*)(std::shared_ptr<std_msgs::msg::String_<std::allocator<void> > >)>(Chatter*, std::_Placeholder<1>)>, std::function<void(std::shared_ptr<std_msgs::msg::String_<std::allocator<void> > >, const rmw_message_info_t&)> >’
>::type * = nullptr
^
/home/tfoote/work/ros2/tf3/install/include/rclcpp/any_subscription_callback.hpp:93:17: note: invalid template non-type parameter
/home/tfoote/work/ros2/tf3/install/include/rclcpp/any_subscription_callback.hpp:109:8: note: template<class CallbackT, typename std::enable_if<rclcpp::function_traits::same_arguments<CallbackT, std::function<void(std::shared_ptr<const std_msgs::msg::String_<std::allocator<void> > >)> >::value, void>::type* <anonymous> > void rclcpp::any_subscription_callback::AnySubscriptionCallback<MessageT, Alloc>::set(CallbackT) [with CallbackT = CallbackT; typename std::enable_if<rclcpp::function_traits::same_arguments<CallbackT, std::function<void(std::shared_ptr<const _Tp>)> >::value>::type* <anonymous> = <enumerator>; MessageT = std_msgs::msg::String_<std::allocator<void> >; Alloc = std::allocator<void>]
void set(CallbackT callback)
^
/home/tfoote/work/ros2/tf3/install/include/rclcpp/any_subscription_callback.hpp:109:8: note: template argument deduction/substitution failed:
/home/tfoote/work/ros2/tf3/install/include/rclcpp/any_subscription_callback.hpp:107:17: error: ‘value’ is not a member of ‘rclcpp::function_traits::same_arguments<std::_Bind<std::_Mem_fn<void (Chatter::*)(std::shared_ptr<std_msgs::msg::String_<std::allocator<void> > >)>(Chatter*, std::_Placeholder<1>)>, std::function<void(std::shared_ptr<const std_msgs::msg::String_<std::allocator<void> > >)> >’
>::type * = nullptr
^
/home/tfoote/work/ros2/tf3/install/include/rclcpp/any_subscription_callback.hpp:107:17: note: invalid template non-type parameter
/home/tfoote/work/ros2/tf3/install/include/rclcpp/any_subscription_callback.hpp:123:8: note: template<class CallbackT, typename std::enable_if<rclcpp::function_traits::same_arguments<CallbackT, std::function<void(std::shared_ptr<const std_msgs::msg::String_<std::allocator<void> > >, const rmw_message_info_t&)> >::value, void>::type* <anonymous> > void rclcpp::any_subscription_callback::AnySubscriptionCallback<MessageT, Alloc>::set(CallbackT) [with CallbackT = CallbackT; typename std::enable_if<rclcpp::function_traits::same_arguments<CallbackT, std::function<void(std::shared_ptr<const _Tp>, const rmw_message_info_t&)> >::value>::type* <anonymous> = <enumerator>; MessageT = std_msgs::msg::String_<std::allocator<void> >; Alloc = std::allocator<void>]
void set(CallbackT callback)
^
/home/tfoote/work/ros2/tf3/install/include/rclcpp/any_subscription_callback.hpp:123:8: note: template argument deduction/substitution failed:
/home/tfoote/work/ros2/tf3/install/include/rclcpp/any_subscription_callback.hpp:121:17: error: ‘value’ is not a member of ‘rclcpp::function_traits::same_arguments<std::_Bind<std::_Mem_fn<void (Chatter::*)(std::shared_ptr<std_msgs::msg::String_<std::allocator<void> > >)>(Chatter*, std::_Placeholder<1>)>, std::function<void(std::shared_ptr<const std_msgs::msg::String_<std::allocator<void> > >, const rmw_message_info_t&)> >’
>::type * = nullptr
^
/home/tfoote/work/ros2/tf3/install/include/rclcpp/any_subscription_callback.hpp:121:17: note: invalid template non-type parameter
/home/tfoote/work/ros2/tf3/install/include/rclcpp/any_subscription_callback.hpp:137:8: note: template<class CallbackT, typename std::enable_if<rclcpp::function_traits::same_arguments<CallbackT, std::function<void(std::unique_ptr<std_msgs::msg::String_<std::allocator<void> >, std::default_delete<std_msgs::msg::String_<std::allocator<void> > > >)> >::value, void>::type* <anonymous> > void rclcpp::any_subscription_callback::AnySubscriptionCallback<MessageT, Alloc>::set(CallbackT) [with CallbackT = CallbackT; typename std::enable_if<rclcpp::function_traits::same_arguments<CallbackT, std::function<void(std::unique_ptr<MessageT, typename std::conditional<std::is_same<typename std::allocator_traits<typename std::allocator_traits<_Alloc>::rebind_traits<MessageT>::allocator_type>::rebind_alloc<MessageT>, typename std::allocator<void>::rebind<_Tp1>::other>::value, std::default_delete<_Tp>, rclcpp::allocator::AllocatorDeleter<typename std::allocator_traits<_Alloc>::rebind_traits<MessageT>::allocator_type> >::type>)> >::value>::type* <anonymous> = <enumerator>; MessageT = std_msgs::msg::String_<std::allocator<void> >; Alloc = std::allocator<void>]
void set(CallbackT callback)
^
/home/tfoote/work/ros2/tf3/install/include/rclcpp/any_subscription_callback.hpp:137:8: note: template argument deduction/substitution failed:
/home/tfoote/work/ros2/tf3/install/include/rclcpp/any_subscription_callback.hpp:135:17: error: ‘value’ is not a member of ‘rclcpp::function_traits::same_arguments<std::_Bind<std::_Mem_fn<void (Chatter::*)(std::shared_ptr<std_msgs::msg::String_<std::allocator<void> > >)>(Chatter*, std::_Placeholder<1>)>, std::function<void(std::unique_ptr<std_msgs::msg::String_<std::allocator<void> >, std::default_delete<std_msgs::msg::String_<std::allocator<void> > > >)> >’
>::type * = nullptr
^
/home/tfoote/work/ros2/tf3/install/include/rclcpp/any_subscription_callback.hpp:135:17: note: invalid template non-type parameter
/home/tfoote/work/ros2/tf3/install/include/rclcpp/any_subscription_callback.hpp:151:8: note: template<class CallbackT, typename std::enable_if<rclcpp::function_traits::same_arguments<CallbackT, std::function<void(std::unique_ptr<std_msgs::msg::String_<std::allocator<void> >, std::default_delete<std_msgs::msg::String_<std::allocator<void> > > >, const rmw_message_info_t&)> >::value, void>::type* <anonymous> > void rclcpp::any_subscription_callback::AnySubscriptionCallback<MessageT, Alloc>::set(CallbackT) [with CallbackT = CallbackT; typename std::enable_if<rclcpp::function_traits::same_arguments<CallbackT, std::function<void(std::unique_ptr<MessageT, typename std::conditional<std::is_same<typename std::allocator_traits<typename std::allocator_traits<_Alloc>::rebind_traits<MessageT>::allocator_type>::rebind_alloc<MessageT>, typename std::allocator<void>::rebind<_Tp1>::other>::value, std::default_delete<_Tp>, rclcpp::allocator::AllocatorDeleter<typename std::allocator_traits<_Alloc>::rebind_traits<MessageT>::allocator_type> >::type>, const rmw_message_info_t&)> >::value>::type* <anonymous> = <enumerator>; MessageT = std_msgs::msg::String_<std::allocator<void> >; Alloc = std::allocator<void>]
void set(CallbackT callback)
^
/home/tfoote/work/ros2/tf3/install/include/rclcpp/any_subscription_callback.hpp:151:8: note: substitution of deduced template arguments resulted in errors seen above
In file included from /usr/include/c++/4.8/memory:79:0,
from /home/tfoote/work/ros2/tf3/src/ros2/examples/rclcpp_examples/src/topics/listener_class.cpp:16:
/usr/include/c++/4.8/functional: In substitution of ‘template<class _Res, class ... _ArgTypes> template<class _Functor> using _Invoke = decltype (std::__callable_functor(declval<_Functor&>())((declval<_ArgTypes>)()...)) [with _Functor = rclcpp::node::Node::create_subscription(const string&, CallbackT&&, const rmw_qos_profile_t&, rclcpp::callback_group::CallbackGroup::SharedPtr, bool, typename rclcpp::message_memory_strategy::MessageMemoryStrategy<MessageT, Alloc>::SharedPtr, std::shared_ptr<Alloc>) [with MessageT = std_msgs::msg::String_<std::allocator<void> >; CallbackT = std::_Bind<std::_Mem_fn<void (Chatter::*)(std::shared_ptr<std_msgs::msg::String_<std::allocator<void> > >)>(Chatter*, std::_Placeholder<1>)>; Alloc = std::allocator<void>; typename rclcpp::subscription::Subscription<MessageT, Alloc>::SharedPtr = std::shared_ptr<rclcpp::subscription::Subscription<std_msgs::msg::String_<std::allocator<void> >, std::allocator<void> > >; std::string = std::basic_string<char>; rmw_qos_profile_t = rmw_qos_profile_t; rclcpp::callback_group::CallbackGroup::SharedPtr = std::shared_ptr<rclcpp::callback_group::CallbackGroup>; typename rclcpp::message_memory_strategy::MessageMemoryStrategy<MessageT, Alloc>::SharedPtr = std::shared_ptr<rclcpp::message_memory_strategy::MessageMemoryStrategy<std_msgs::msg::String_<std::allocator<void> >, std::allocator<void> > >]::__lambda9; _Res = void; _ArgTypes = {long unsigned int, long unsigned int, long unsigned int, std::unique_ptr<std_msgs::msg::String_<std::allocator<void> >, std::default_delete<std_msgs::msg::String_<std::allocator<void> > > >&}]’:
/usr/include/c++/4.8/functional:2257:9: required from ‘typename rclcpp::subscription::Subscription<MessageT, Alloc>::SharedPtr rclcpp::node::Node::create_subscription(const string&, CallbackT&&, const rmw_qos_profile_t&, rclcpp::callback_group::CallbackGroup::SharedPtr, bool, typename rclcpp::message_memory_strategy::MessageMemoryStrategy<MessageT, Alloc>::SharedPtr, std::shared_ptr<Alloc>) [with MessageT = std_msgs::msg::String_<std::allocator<void> >; CallbackT = std::_Bind<std::_Mem_fn<void (Chatter::*)(std::shared_ptr<std_msgs::msg::String_<std::allocator<void> > >)>(Chatter*, std::_Placeholder<1>)>; Alloc = std::allocator<void>; typename rclcpp::subscription::Subscription<MessageT, Alloc>::SharedPtr = std::shared_ptr<rclcpp::subscription::Subscription<std_msgs::msg::String_<std::allocator<void> >, std::allocator<void> > >; std::string = std::basic_string<char>; rmw_qos_profile_t = rmw_qos_profile_t; rclcpp::callback_group::CallbackGroup::SharedPtr = std::shared_ptr<rclcpp::callback_group::CallbackGroup>; typename rclcpp::message_memory_strategy::MessageMemoryStrategy<MessageT, Alloc>::SharedPtr = std::shared_ptr<rclcpp::message_memory_strategy::MessageMemoryStrategy<std_msgs::msg::String_<std::allocator<void> >, std::allocator<void> > >]’
/home/tfoote/work/ros2/tf3/src/ros2/examples/rclcpp_examples/src/topics/listener_class.cpp:38:110: required from here
/usr/include/c++/4.8/functional:2181:71: error: use of ‘rclcpp::node::Node::create_subscription(const string&, CallbackT&&, const rmw_qos_profile_t&, rclcpp::callback_group::CallbackGroup::SharedPtr, bool, typename rclcpp::message_memory_strategy::MessageMemoryStrategy<MessageT, Alloc>::SharedPtr, std::shared_ptr<Alloc>) [with MessageT = std_msgs::msg::String_<std::allocator<void> >; CallbackT = std::_Bind<std::_Mem_fn<void (Chatter::*)(std::shared_ptr<std_msgs::msg::String_<std::allocator<void> > >)>(Chatter*, std::_Placeholder<1>)>; Alloc = std::allocator<void>; typename rclcpp::subscription::Subscription<MessageT, Alloc>::SharedPtr = std::shared_ptr<rclcpp::subscription::Subscription<std_msgs::msg::String_<std::allocator<void> >, std::allocator<void> > >; std::string = std::basic_string<char>; rmw_qos_profile_t = rmw_qos_profile_t; rclcpp::callback_group::CallbackGroup::SharedPtr = std::shared_ptr<rclcpp::callback_group::CallbackGroup>; typename rclcpp::message_memory_strategy::MessageMemoryStrategy<MessageT, Alloc>::SharedPtr = std::shared_ptr<rclcpp::message_memory_strategy::MessageMemoryStrategy<std_msgs::msg::String_<std::allocator<void> >, std::allocator<void> > >]::__lambda9’ before deduction of ‘auto’
using _Invoke = decltype(__callable_functor(std::declval<_Functor&>())
^
/usr/include/c++/4.8/functional:2257: confused by earlier errors, bailing out
Preprocessed source stored into /tmp/ccfewiJ9.out file, please attach this to your bugreport.
ERROR: Cannot create report: [Errno 17] File exists: '/var/crash/_usr_lib_gcc_x86_64-linux-gnu_4.8_cc1plus.1000.crash'
make[2]: *** [CMakeFiles/listener_class.dir/src/topics/listener_class.cpp.o] Error 1
make[1]: *** [CMakeFiles/listener_class.dir/all] Error 2
In file included from /home/tfoote/work/ros2/tf3/install/include/rclcpp/client.hpp:26:0,
from /home/tfoote/work/ros2/tf3/install/include/rclcpp/callback_group.hpp:22,
from /home/tfoote/work/ros2/tf3/install/include/rclcpp/node.hpp:30,
from /home/tfoote/work/ros2/tf3/install/include/rclcpp/any_executable.hpp:21,
from /home/tfoote/work/ros2/tf3/install/include/rclcpp/executor.hpp:26,
from /home/tfoote/work/ros2/tf3/install/include/rclcpp/executors/multi_threaded_executor.hpp:22,
from /home/tfoote/work/ros2/tf3/install/include/rclcpp/executors.hpp:20,
from /home/tfoote/work/ros2/tf3/install/include/rclcpp/rclcpp.hpp:21,
from /home/tfoote/work/ros2/tf3/src/ros2/examples/rclcpp_examples/src/topics/listener_class.cpp:18:
/home/tfoote/work/ros2/tf3/install/include/rclcpp/function_traits.hpp: In instantiation of ‘struct rclcpp::function_traits::function_traits<std::_Bind<std::_Mem_fn<void (Chatter::*)(std::shared_ptr<std_msgs::msg::String_<std::allocator<void> > >)>(Chatter*, std::_Placeholder<1>)> >’:
/home/tfoote/work/ros2/tf3/install/include/rclcpp/function_traits.hpp:110:8: required from ‘struct rclcpp::function_traits::same_arguments<std::_Bind<std::_Mem_fn<void (Chatter::*)(std::shared_ptr<std_msgs::msg::String_<std::allocator<void> > >)>(Chatter*, std::_Placeholder<1>)>, std::function<void(std::unique_ptr<std_msgs::msg::String_<std::allocator<void> >, std::default_delete<std_msgs::msg::String_<std::allocator<void> > > >, const rmw_message_info_t&)> >’
/home/tfoote/work/ros2/tf3/install/include/rclcpp/any_subscription_callback.hpp:149:17: required from ‘typename rclcpp::subscription::Subscription<MessageT, Alloc>::SharedPtr rclcpp::node::Node::create_subscription(const string&, CallbackT&&, const rmw_qos_profile_t&, rclcpp::callback_group::CallbackGroup::SharedPtr, bool, typename rclcpp::message_memory_strategy::MessageMemoryStrategy<MessageT, Alloc>::SharedPtr, std::shared_ptr<Alloc>) [with MessageT = std_msgs::msg::String_<std::allocator<void> >; CallbackT = std::_Bind<std::_Mem_fn<void (Chatter::*)(std::shared_ptr<std_msgs::msg::String_<std::allocator<void> > >)>(Chatter*, std::_Placeholder<1>)>; Alloc = std::allocator<void>; typename rclcpp::subscription::Subscription<MessageT, Alloc>::SharedPtr = std::shared_ptr<rclcpp::subscription::Subscription<std_msgs::msg::String_<std::allocator<void> >, std::allocator<void> > >; std::string = std::basic_string<char>; rmw_qos_profile_t = rmw_qos_profile_t; rclcpp::callback_group::CallbackGroup::SharedPtr = std::shared_ptr<rclcpp::callback_group::CallbackGroup>; typename rclcpp::message_memory_strategy::MessageMemoryStrategy<MessageT, Alloc>::SharedPtr = std::shared_ptr<rclcpp::message_memory_strategy::MessageMemoryStrategy<std_msgs::msg::String_<std::allocator<void> >, std::allocator<void> > >]’
/home/tfoote/work/ros2/tf3/src/ros2/examples/rclcpp_examples/src/topics/listener_class.cpp:38:110: required from here
/home/tfoote/work/ros2/tf3/install/include/rclcpp/function_traits.hpp:51:85: error: decltype cannot resolve address of overloaded function
typename function_traits<decltype( & FunctionT::operator())>::arguments>::type;
^
/home/tfoote/work/ros2/tf3/install/include/rclcpp/function_traits.hpp:56:72: error: decltype cannot resolve address of overloaded function
using argument_type = typename std::tuple_element<N, arguments>::type;
^
/home/tfoote/work/ros2/tf3/install/include/rclcpp/function_traits.hpp:58:96: error: decltype cannot resolve address of overloaded function
using return_type = typename function_traits<decltype( & FunctionT::operator())>::return_type;
^
In file included from /home/tfoote/work/ros2/tf3/install/include/rclcpp/node.hpp:290:0,
from /home/tfoote/work/ros2/tf3/install/include/rclcpp/any_executable.hpp:21,
from /home/tfoote/work/ros2/tf3/install/include/rclcpp/executor.hpp:26,
from /home/tfoote/work/ros2/tf3/install/include/rclcpp/executors/multi_threaded_executor.hpp:22,
from /home/tfoote/work/ros2/tf3/install/include/rclcpp/executors.hpp:20,
from /home/tfoote/work/ros2/tf3/install/include/rclcpp/rclcpp.hpp:21,
from /home/tfoote/work/ros2/tf3/src/ros2/examples/rclcpp_examples/src/topics/listener_class.cpp:18:
/home/tfoote/work/ros2/tf3/install/include/rclcpp/node_impl.hpp: In instantiation of ‘typename rclcpp::subscription::Subscription<MessageT, Alloc>::SharedPtr rclcpp::node::Node::create_subscription(const string&, CallbackT&&, const rmw_qos_profile_t&, rclcpp::callback_group::CallbackGroup::SharedPtr, bool, typename rclcpp::message_memory_strategy::MessageMemoryStrategy<MessageT, Alloc>::SharedPtr, std::shared_ptr<Alloc>) [with MessageT = std_msgs::msg::String_<std::allocator<void> >; CallbackT = std::_Bind<std::_Mem_fn<void (Chatter::*)(std::shared_ptr<std_msgs::msg::String_<std::allocator<void> > >)>(Chatter*, std::_Placeholder<1>)>; Alloc = std::allocator<void>; typename rclcpp::subscription::Subscription<MessageT, Alloc>::SharedPtr = std::shared_ptr<rclcpp::subscription::Subscription<std_msgs::msg::String_<std::allocator<void> >, std::allocator<void> > >; std::string = std::basic_string<char>; rmw_qos_profile_t = rmw_qos_profile_t; rclcpp::callback_group::CallbackGroup::SharedPtr = std::shared_ptr<rclcpp::callback_group::CallbackGroup>; typename rclcpp::message_memory_strategy::MessageMemoryStrategy<MessageT, Alloc>::SharedPtr = std::shared_ptr<rclcpp::message_memory_strategy::MessageMemoryStrategy<std_msgs::msg::String_<std::allocator<void> >, std::allocator<void> > >]’:
/home/tfoote/work/ros2/tf3/src/ros2/examples/rclcpp_examples/src/topics/listener_class.cpp:38:110: required from here
/home/tfoote/work/ros2/tf3/install/include/rclcpp/node_impl.hpp:158:3: error: no matching function for call to ‘rclcpp::any_subscription_callback::AnySubscriptionCallback<std_msgs::msg::String_<std::allocator<void> >, std::allocator<void> >::set(std::_Bind<std::_Mem_fn<void (Chatter::*)(std::shared_ptr<std_msgs::msg::String_<std::allocator<void> > >)>(Chatter*, std::_Placeholder<1>)>)’
any_subscription_callback.set(std::forward<CallbackT>(callback));
^
/home/tfoote/work/ros2/tf3/install/include/rclcpp/node_impl.hpp:158:3: note: candidates are:
In file included from /home/tfoote/work/ros2/tf3/install/include/rclcpp/subscription.hpp:31:0,
from /home/tfoote/work/ros2/tf3/install/include/rclcpp/callback_group.hpp:24,
from /home/tfoote/work/ros2/tf3/install/include/rclcpp/node.hpp:30,
from /home/tfoote/work/ros2/tf3/install/include/rclcpp/any_executable.hpp:21,
from /home/tfoote/work/ros2/tf3/install/include/rclcpp/executor.hpp:26,
from /home/tfoote/work/ros2/tf3/install/include/rclcpp/executors/multi_threaded_executor.hpp:22,
from /home/tfoote/work/ros2/tf3/install/include/rclcpp/executors.hpp:20,
from /home/tfoote/work/ros2/tf3/install/include/rclcpp/rclcpp.hpp:21,
from /home/tfoote/work/ros2/tf3/src/ros2/examples/rclcpp_examples/src/topics/listener_class.cpp:18:
/home/tfoote/work/ros2/tf3/install/include/rclcpp/any_subscription_callback.hpp:81:8: note: template<class CallbackT, typename std::enable_if<rclcpp::function_traits::same_arguments<CallbackT, std::function<void(std::shared_ptr<std_msgs::msg::String_<std::allocator<void> > >)> >::value, void>::type* <anonymous> > void rclcpp::any_subscription_callback::AnySubscriptionCallback<MessageT, Alloc>::set(CallbackT) [with CallbackT = CallbackT; typename std::enable_if<rclcpp::function_traits::same_arguments<CallbackT, std::function<void(std::shared_ptr<_Tp1>)> >::value>::type* <anonymous> = <enumerator>; MessageT = std_msgs::msg::String_<std::allocator<void> >; Alloc = std::allocator<void>]
void set(CallbackT callback)
^
/home/tfoote/work/ros2/tf3/install/include/rclcpp/any_subscription_callback.hpp:81:8: note: template argument deduction/substitution failed:
/home/tfoote/work/ros2/tf3/install/include/rclcpp/any_subscription_callback.hpp:79:17: error: ‘value’ is not a member of ‘rclcpp::function_traits::same_arguments<std::_Bind<std::_Mem_fn<void (Chatter::*)(std::shared_ptr<std_msgs::msg::String_<std::allocator<void> > >)>(Chatter*, std::_Placeholder<1>)>, std::function<void(std::shared_ptr<std_msgs::msg::String_<std::allocator<void> > >)> >’
>::type * = nullptr
^
/home/tfoote/work/ros2/tf3/install/include/rclcpp/any_subscription_callback.hpp:79:17: note: invalid template non-type parameter
/home/tfoote/work/ros2/tf3/install/include/rclcpp/any_subscription_callback.hpp:95:8: note: template<class CallbackT, typename std::enable_if<rclcpp::function_traits::same_arguments<CallbackT, std::function<void(std::shared_ptr<std_msgs::msg::String_<std::allocator<void> > >, const rmw_message_info_t&)> >::value, void>::type* <anonymous> > void rclcpp::any_subscription_callback::AnySubscriptionCallback<MessageT, Alloc>::set(CallbackT) [with CallbackT = CallbackT; typename std::enable_if<rclcpp::function_traits::same_arguments<CallbackT, std::function<void(std::shared_ptr<_Tp1>, const rmw_message_info_t&)> >::value>::type* <anonymous> = <enumerator>; MessageT = std_msgs::msg::String_<std::allocator<void> >; Alloc = std::allocator<void>]
void set(CallbackT callback)
^
/home/tfoote/work/ros2/tf3/install/include/rclcpp/any_subscription_callback.hpp:95:8: note: template argument deduction/substitution failed:
/home/tfoote/work/ros2/tf3/install/include/rclcpp/any_subscription_callback.hpp:93:17: error: ‘value’ is not a member of ‘rclcpp::function_traits::same_arguments<std::_Bind<std::_Mem_fn<void (Chatter::*)(std::shared_ptr<std_msgs::msg::String_<std::allocator<void> > >)>(Chatter*, std::_Placeholder<1>)>, std::function<void(std::shared_ptr<std_msgs::msg::String_<std::allocator<void> > >, const rmw_message_info_t&)> >’
>::type * = nullptr
^
/home/tfoote/work/ros2/tf3/install/include/rclcpp/any_subscription_callback.hpp:93:17: note: invalid template non-type parameter
/home/tfoote/work/ros2/tf3/install/include/rclcpp/any_subscription_callback.hpp:109:8: note: template<class CallbackT, typename std::enable_if<rclcpp::function_traits::same_arguments<CallbackT, std::function<void(std::shared_ptr<const std_msgs::msg::String_<std::allocator<void> > >)> >::value, void>::type* <anonymous> > void rclcpp::any_subscription_callback::AnySubscriptionCallback<MessageT, Alloc>::set(CallbackT) [with CallbackT = CallbackT; typename std::enable_if<rclcpp::function_traits::same_arguments<CallbackT, std::function<void(std::shared_ptr<const _Tp>)> >::value>::type* <anonymous> = <enumerator>; MessageT = std_msgs::msg::String_<std::allocator<void> >; Alloc = std::allocator<void>]
void set(CallbackT callback)
^
/home/tfoote/work/ros2/tf3/install/include/rclcpp/any_subscription_callback.hpp:109:8: note: template argument deduction/substitution failed:
/home/tfoote/work/ros2/tf3/install/include/rclcpp/any_subscription_callback.hpp:107:17: error: ‘value’ is not a member of ‘rclcpp::function_traits::same_arguments<std::_Bind<std::_Mem_fn<void (Chatter::*)(std::shared_ptr<std_msgs::msg::String_<std::allocator<void> > >)>(Chatter*, std::_Placeholder<1>)>, std::function<void(std::shared_ptr<const std_msgs::msg::String_<std::allocator<void> > >)> >’
>::type * = nullptr
^
/home/tfoote/work/ros2/tf3/install/include/rclcpp/any_subscription_callback.hpp:107:17: note: invalid template non-type parameter
/home/tfoote/work/ros2/tf3/install/include/rclcpp/any_subscription_callback.hpp:123:8: note: template<class CallbackT, typename std::enable_if<rclcpp::function_traits::same_arguments<CallbackT, std::function<void(std::shared_ptr<const std_msgs::msg::String_<std::allocator<void> > >, const rmw_message_info_t&)> >::value, void>::type* <anonymous> > void rclcpp::any_subscription_callback::AnySubscriptionCallback<MessageT, Alloc>::set(CallbackT) [with CallbackT = CallbackT; typename std::enable_if<rclcpp::function_traits::same_arguments<CallbackT, std::function<void(std::shared_ptr<const _Tp>, const rmw_message_info_t&)> >::value>::type* <anonymous> = <enumerator>; MessageT = std_msgs::msg::String_<std::allocator<void> >; Alloc = std::allocator<void>]
void set(CallbackT callback)
^
/home/tfoote/work/ros2/tf3/install/include/rclcpp/any_subscription_callback.hpp:123:8: note: template argument deduction/substitution failed:
/home/tfoote/work/ros2/tf3/install/include/rclcpp/any_subscription_callback.hpp:121:17: error: ‘value’ is not a member of ‘rclcpp::function_traits::same_arguments<std::_Bind<std::_Mem_fn<void (Chatter::*)(std::shared_ptr<std_msgs::msg::String_<std::allocator<void> > >)>(Chatter*, std::_Placeholder<1>)>, std::function<void(std::shared_ptr<const std_msgs::msg::String_<std::allocator<void> > >, const rmw_message_info_t&)> >’
>::type * = nullptr
^
/home/tfoote/work/ros2/tf3/install/include/rclcpp/any_subscription_callback.hpp:121:17: note: invalid template non-type parameter
/home/tfoote/work/ros2/tf3/install/include/rclcpp/any_subscription_callback.hpp:137:8: note: template<class CallbackT, typename std::enable_if<rclcpp::function_traits::same_arguments<CallbackT, std::function<void(std::unique_ptr<std_msgs::msg::String_<std::allocator<void> >, std::default_delete<std_msgs::msg::String_<std::allocator<void> > > >)> >::value, void>::type* <anonymous> > void rclcpp::any_subscription_callback::AnySubscriptionCallback<MessageT, Alloc>::set(CallbackT) [with CallbackT = CallbackT; typename std::enable_if<rclcpp::function_traits::same_arguments<CallbackT, std::function<void(std::unique_ptr<MessageT, typename std::conditional<std::is_same<typename std::allocator_traits<typename std::allocator_traits<_Alloc>::rebind_traits<MessageT>::allocator_type>::rebind_alloc<MessageT>, typename std::allocator<void>::rebind<_Tp1>::other>::value, std::default_delete<_Tp>, rclcpp::allocator::AllocatorDeleter<typename std::allocator_traits<_Alloc>::rebind_traits<MessageT>::allocator_type> >::type>)> >::value>::type* <anonymous> = <enumerator>; MessageT = std_msgs::msg::String_<std::allocator<void> >; Alloc = std::allocator<void>]
void set(CallbackT callback)
^
/home/tfoote/work/ros2/tf3/install/include/rclcpp/any_subscription_callback.hpp:137:8: note: template argument deduction/substitution failed:
/home/tfoote/work/ros2/tf3/install/include/rclcpp/any_subscription_callback.hpp:135:17: error: ‘value’ is not a member of ‘rclcpp::function_traits::same_arguments<std::_Bind<std::_Mem_fn<void (Chatter::*)(std::shared_ptr<std_msgs::msg::String_<std::allocator<void> > >)>(Chatter*, std::_Placeholder<1>)>, std::function<void(std::unique_ptr<std_msgs::msg::String_<std::allocator<void> >, std::default_delete<std_msgs::msg::String_<std::allocator<void> > > >)> >’
>::type * = nullptr
^
/home/tfoote/work/ros2/tf3/install/include/rclcpp/any_subscription_callback.hpp:135:17: note: invalid template non-type parameter
/home/tfoote/work/ros2/tf3/install/include/rclcpp/any_subscription_callback.hpp:151:8: note: template<class CallbackT, typename std::enable_if<rclcpp::function_traits::same_arguments<CallbackT, std::function<void(std::unique_ptr<std_msgs::msg::String_<std::allocator<void> >, std::default_delete<std_msgs::msg::String_<std::allocator<void> > > >, const rmw_message_info_t&)> >::value, void>::type* <anonymous> > void rclcpp::any_subscription_callback::AnySubscriptionCallback<MessageT, Alloc>::set(CallbackT) [with CallbackT = CallbackT; typename std::enable_if<rclcpp::function_traits::same_arguments<CallbackT, std::function<void(std::unique_ptr<MessageT, typename std::conditional<std::is_same<typename std::allocator_traits<typename std::allocator_traits<_Alloc>::rebind_traits<MessageT>::allocator_type>::rebind_alloc<MessageT>, typename std::allocator<void>::rebind<_Tp1>::other>::value, std::default_delete<_Tp>, rclcpp::allocator::AllocatorDeleter<typename std::allocator_traits<_Alloc>::rebind_traits<MessageT>::allocator_type> >::type>, const rmw_message_info_t&)> >::value>::type* <anonymous> = <enumerator>; MessageT = std_msgs::msg::String_<std::allocator<void> >; Alloc = std::allocator<void>]
void set(CallbackT callback)
^
/home/tfoote/work/ros2/tf3/install/include/rclcpp/any_subscription_callback.hpp:151:8: note: substitution of deduced template arguments resulted in errors seen above
In file included from /usr/include/c++/4.8/memory:79:0,
from /home/tfoote/work/ros2/tf3/src/ros2/examples/rclcpp_examples/src/topics/listener_class.cpp:16:
/usr/include/c++/4.8/functional: In substitution of ‘template<class _Res, class ... _ArgTypes> template<class _Functor> using _Invoke = decltype (std::__callable_functor(declval<_Functor&>())((declval<_ArgTypes>)()...)) [with _Functor = rclcpp::node::Node::create_subscription(const string&, CallbackT&&, const rmw_qos_profile_t&, rclcpp::callback_group::CallbackGroup::SharedPtr, bool, typename rclcpp::message_memory_strategy::MessageMemoryStrategy<MessageT, Alloc>::SharedPtr, std::shared_ptr<Alloc>) [with MessageT = std_msgs::msg::String_<std::allocator<void> >; CallbackT = std::_Bind<std::_Mem_fn<void (Chatter::*)(std::shared_ptr<std_msgs::msg::String_<std::allocator<void> > >)>(Chatter*, std::_Placeholder<1>)>; Alloc = std::allocator<void>; typename rclcpp::subscription::Subscription<MessageT, Alloc>::SharedPtr = std::shared_ptr<rclcpp::subscription::Subscription<std_msgs::msg::String_<std::allocator<void> >, std::allocator<void> > >; std::string = std::basic_string<char>; rmw_qos_profile_t = rmw_qos_profile_t; rclcpp::callback_group::CallbackGroup::SharedPtr = std::shared_ptr<rclcpp::callback_group::CallbackGroup>; typename rclcpp::message_memory_strategy::MessageMemoryStrategy<MessageT, Alloc>::SharedPtr = std::shared_ptr<rclcpp::message_memory_strategy::MessageMemoryStrategy<std_msgs::msg::String_<std::allocator<void> >, std::allocator<void> > >]::__lambda9; _Res = void; _ArgTypes = {long unsigned int, long unsigned int, long unsigned int, std::unique_ptr<std_msgs::msg::String_<std::allocator<void> >, std::default_delete<std_msgs::msg::String_<std::allocator<void> > > >&}]’:
/usr/include/c++/4.8/functional:2257:9: required from ‘typename rclcpp::subscription::Subscription<MessageT, Alloc>::SharedPtr rclcpp::node::Node::create_subscription(const string&, CallbackT&&, const rmw_qos_profile_t&, rclcpp::callback_group::CallbackGroup::SharedPtr, bool, typename rclcpp::message_memory_strategy::MessageMemoryStrategy<MessageT, Alloc>::SharedPtr, std::shared_ptr<Alloc>) [with MessageT = std_msgs::msg::String_<std::allocator<void> >; CallbackT = std::_Bind<std::_Mem_fn<void (Chatter::*)(std::shared_ptr<std_msgs::msg::String_<std::allocator<void> > >)>(Chatter*, std::_Placeholder<1>)>; Alloc = std::allocator<void>; typename rclcpp::subscription::Subscription<MessageT, Alloc>::SharedPtr = std::shared_ptr<rclcpp::subscription::Subscription<std_msgs::msg::String_<std::allocator<void> >, std::allocator<void> > >; std::string = std::basic_string<char>; rmw_qos_profile_t = rmw_qos_profile_t; rclcpp::callback_group::CallbackGroup::SharedPtr = std::shared_ptr<rclcpp::callback_group::CallbackGroup>; typename rclcpp::message_memory_strategy::MessageMemoryStrategy<MessageT, Alloc>::SharedPtr = std::shared_ptr<rclcpp::message_memory_strategy::MessageMemoryStrategy<std_msgs::msg::String_<std::allocator<void> >, std::allocator<void> > >]’
/home/tfoote/work/ros2/tf3/src/ros2/examples/rclcpp_examples/src/topics/listener_class.cpp:38:110: required from here
/usr/include/c++/4.8/functional:2181:71: error: use of ‘rclcpp::node::Node::create_subscription(const string&, CallbackT&&, const rmw_qos_profile_t&, rclcpp::callback_group::CallbackGroup::SharedPtr, bool, typename rclcpp::message_memory_strategy::MessageMemoryStrategy<MessageT, Alloc>::SharedPtr, std::shared_ptr<Alloc>) [with MessageT = std_msgs::msg::String_<std::allocator<void> >; CallbackT = std::_Bind<std::_Mem_fn<void (Chatter::*)(std::shared_ptr<std_msgs::msg::String_<std::allocator<void> > >)>(Chatter*, std::_Placeholder<1>)>; Alloc = std::allocator<void>; typename rclcpp::subscription::Subscription<MessageT, Alloc>::SharedPtr = std::shared_ptr<rclcpp::subscription::Subscription<std_msgs::msg::String_<std::allocator<void> >, std::allocator<void> > >; std::string = std::basic_string<char>; rmw_qos_profile_t = rmw_qos_profile_t; rclcpp::callback_group::CallbackGroup::SharedPtr = std::shared_ptr<rclcpp::callback_group::CallbackGroup>; typename rclcpp::message_memory_strategy::MessageMemoryStrategy<MessageT, Alloc>::SharedPtr = std::shared_ptr<rclcpp::message_memory_strategy::MessageMemoryStrategy<std_msgs::msg::String_<std::allocator<void> >, std::allocator<void> > >]::__lambda9’ before deduction of ‘auto’
using _Invoke = decltype(__callable_functor(std::declval<_Functor&>())
^
/usr/include/c++/4.8/functional:2257: confused by earlier errors, bailing out
Preprocessed source stored into /tmp/ccqGTko9.out file, please attach this to your bugreport.
ERROR: Cannot create report: [Errno 17] File exists: '/var/crash/_usr_lib_gcc_x86_64-linux-gnu_4.8_cc1plus.1000.crash'
make[2]: *** [CMakeFiles/listener_class__rmw_connext_cpp.dir/src/topics/listener_class.cpp.o] Error 1
make[1]: *** [CMakeFiles/listener_class__rmw_connext_cpp.dir/all] Error 2
make: *** [all] Error 2
<== Command '. /home/tfoote/work/ros2/tf3/build/rclcpp_examples/cmake__build.sh && /usr/bin/make -j8 -l8' failed with exit code '2'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment