Skip to content

Build Errors with Jazzy #16

@ndmmdn

Description

@ndmmdn

Upon trying to build this package in ROS2 Jazzy, the following errors Result:

#16 21.53 /home/angsa/underlay_ws/src/rosbag2_snapshot/rosbag2_snapshot/src/snapshotter.cpp: In member function ‘bool rosbag2_snapshot::Snapshotter::writeTopic(rosbag2_cpp::Writer&, rosbag2_snapshot::MessageQueue&, const rosbag2_snapshot::TopicDetails&, const rosbag2_snapshot_msgs::srv::TriggerSnapshot_Request_<std::allocator<void> >::SharedPtr&, const rosbag2_snapshot_msgs::srv::TriggerSnapshot_Response_<std::allocator<void> >::SharedPtr&)’:
#16 21.53 /home/angsa/underlay_ws/src/rosbag2_snapshot/rosbag2_snapshot/src/snapshotter.cpp:469:54: error: ‘using std::__shared_ptr_access<rosbag2_storage::SerializedBagMessage, __gnu_cxx::_S_atomic, false, false>::element_type = struct rosbag2_storage::SerializedBagMessage’ {aka ‘struct rosbag2_storage::SerializedBagMessage’} has no member named ‘time_stamp’
#16 21.53   469 |     auto ret = rcutils_system_time_now(&bag_message->time_stamp);
#16 21.53       |                                                      ^~~~~~~~~~
#16 21.53 /home/angsa/underlay_ws/src/rosbag2_snapshot/rosbag2_snapshot/src/snapshotter.cpp:476:18: error: ‘using std::__shared_ptr_access<rosbag2_storage::SerializedBagMessage, __gnu_cxx::_S_atomic, false, false>::element_type = struct rosbag2_storage::SerializedBagMessage’ {aka ‘struct rosbag2_storage::SerializedBagMessage’} has no member named ‘time_stamp’
#16 21.53   476 |     bag_message->time_stamp = msg_it->time.nanoseconds();
#16 21.53       |                  ^~~~~~~~~~
#16 21.53 /home/angsa/underlay_ws/src/rosbag2_snapshot/rosbag2_snapshot/src/snapshotter.cpp: In member function ‘void rosbag2_snapshot::Snapshotter::triggerSnapshotCb(std::shared_ptr<rmw_request_id_s>, rosbag2_snapshot_msgs::srv::TriggerSnapshot_Request_<std::allocator<void> >::SharedPtr, rosbag2_snapshot_msgs::srv::TriggerSnapshot_Response_<std::allocator<void> >::SharedPtr)’:
#16 21.53 /home/angsa/underlay_ws/src/rosbag2_snapshot/rosbag2_snapshot/src/snapshotter.cpp:524:41: error: expected primary-expression before ‘write_lock’
#16 21.53   524 |     std::unique_lock<std::shared_mutex> write_lock(state_lock_);
#16 21.53       |                                         ^~~~~~~~~~
#16 21.53 /home/angsa/underlay_ws/src/rosbag2_snapshot/rosbag2_snapshot/src/snapshotter.cpp:530:3: error: expected primary-expression before ‘)’ token
#16 21.53   530 |   );
#16 21.53       |   ^
#16 21.53 In file included from /opt/ros/jazzy/include/rclcpp/rclcpp/subscription_base.hpp:32,
#16 21.53                  from /opt/ros/jazzy/include/rclcpp/rclcpp/callback_group.hpp:29,
#16 21.53                  from /opt/ros/jazzy/include/rclcpp/rclcpp/any_executable.hpp:20,
#16 21.53                  from /opt/ros/jazzy/include/rclcpp/rclcpp/memory_strategy.hpp:25,
#16 21.53                  from /opt/ros/jazzy/include/rclcpp/rclcpp/memory_strategies.hpp:18,
#16 21.53                  from /opt/ros/jazzy/include/rclcpp/rclcpp/executor_options.hpp:22,
#16 21.53                  from /opt/ros/jazzy/include/rclcpp/rclcpp/executor.hpp:38,
#16 21.53                  from /opt/ros/jazzy/include/rclcpp/rclcpp/executors/multi_threaded_executor.hpp:25,
#16 21.53                  from /opt/ros/jazzy/include/rclcpp/rclcpp/executors.hpp:21,
#16 21.53                  from /opt/ros/jazzy/include/rclcpp/rclcpp/rclcpp.hpp:172,
#16 21.53                  from /home/angsa/underlay_ws/src/rosbag2_snapshot/rosbag2_snapshot/src/snapshotter.cpp:30:
#16 21.53 /opt/ros/jazzy/include/rclcpp/rclcpp/any_subscription_callback.hpp: In instantiation of ‘rclcpp::AnySubscriptionCallback<MessageT, AllocatorT> rclcpp::AnySubscriptionCallback<MessageT, AllocatorT>::set(CallbackT) [with CallbackT = std::_Bind<void (rosbag2_snapshot::Snapshotter::*(rosbag2_snapshot::Snapshotter*, std::_Placeholder<1>, std::shared_ptr<rosbag2_snapshot::MessageQueue>))(std::shared_ptr<const rclcpp::SerializedMessage>, std::shared_ptr<rosbag2_snapshot::MessageQueue>)>; MessageT = rclcpp::SerializedMessage; AllocatorT = std::allocator<void>]’:
#16 21.53 /opt/ros/jazzy/include/rclcpp/rclcpp/create_generic_subscription.hpp:70:32:   required from ‘std::shared_ptr<rclcpp::GenericSubscription> rclcpp::create_generic_subscription(node_interfaces::NodeTopicsInterface::SharedPtr, const std::string&, const std::string&, const QoS&, CallbackT&&, const SubscriptionOptionsWithAllocator<AllocatorT>&) [with CallbackT = std::_Bind<void (rosbag2_snapshot::Snapshotter::*(rosbag2_snapshot::Snapshotter*, std::_Placeholder<1>, std::shared_ptr<rosbag2_snapshot::MessageQueue>))(std::shared_ptr<const SerializedMessage>, std::shared_ptr<rosbag2_snapshot::MessageQueue>)>; AllocatorT = std::allocator<void>; node_interfaces::NodeTopicsInterface::SharedPtr = std::shared_ptr<node_interfaces::NodeTopicsInterface>; std::string = std::__cxx11::basic_string<char>]’
#16 21.53 /opt/ros/jazzy/include/rclcpp/rclcpp/node_impl.hpp:233:45:   required from ‘std::shared_ptr<rclcpp::GenericSubscription> rclcpp::Node::create_generic_subscription(const std::string&, const std::string&, const rclcpp::QoS&, CallbackT&&, const rclcpp::SubscriptionOptionsWithAllocator<AllocatorT>&) [with CallbackT = std::_Bind<void (rosbag2_snapshot::Snapshotter::*(rosbag2_snapshot::Snapshotter*, std::_Placeholder<1>, std::shared_ptr<rosbag2_snapshot::MessageQueue>))(std::shared_ptr<const rclcpp::SerializedMessage>, std::shared_ptr<rosbag2_snapshot::MessageQueue>)>; AllocatorT = std::allocator<void>; std::string = std::__cxx11::basic_string<char>]’
#16 21.53 /home/angsa/underlay_ws/src/rosbag2_snapshot/rosbag2_snapshot/src/snapshotter.cpp:436:41:   required from here
#16 21.53 /opt/ros/jazzy/include/rclcpp/rclcpp/any_subscription_callback.hpp:396:23: error: no match for ‘operator=’ (operand types are ‘rclcpp::detail::AnySubscriptionCallbackHelper<rclcpp::SerializedMessage, std::allocator<void>, false, true>::variant_type’ {aka ‘std::variant<std::function<void(const rclcpp::SerializedMessage&)>, std::function<void(const rclcpp::SerializedMessage&, const rclcpp::MessageInfo&)>, std::function<void(std::unique_ptr<rclcpp::SerializedMessage, std::default_delete<rclcpp::SerializedMessage> >)>, std::function<void(std::unique_ptr<rclcpp::SerializedMessage, std::default_delete<rclcpp::SerializedMessage> >, const rclcpp::MessageInfo&)>, std::function<void(std::shared_ptr<const rclcpp::SerializedMessage>)>, std::function<void(std::shared_ptr<const rclcpp::SerializedMessage>, const rclcpp::MessageInfo&)>, std::function<void(const std::shared_ptr<const rclcpp::SerializedMessage>&)>, std::function<void(const std::shared_ptr<const rclcpp::SerializedMessage>&, const rclcpp::MessageInfo&)>, std::function<void(std::shared_ptr<rclcpp::SerializedMessage>)>, std::function<void(std::shared_ptr<rclcpp::SerializedMessage>, const rclcpp::MessageInfo&)> >’} and ‘rclcpp::detail::SubscriptionCallbackTypeHelper<rclcpp::SerializedMessage, std::_Bind<void (rosbag2_snapshot::Snapshotter::*(rosbag2_snapshot::Snapshotter*, std::_Placeholder<1>, std::shared_ptr<rosbag2_snapshot::MessageQueue>))(std::shared_ptr<const rclcpp::SerializedMessage>, std::shared_ptr<rosbag2_snapshot::MessageQueue>)>, void>::callback_type’ {aka ‘std::function<void(std::shared_ptr<const rclcpp::SerializedMessage>, std::shared_ptr<rosbag2_snapshot::MessageQueue>)>’})
#16 21.53   396 |     callback_variant_ = static_cast<typename scbth::callback_type>(callback);
#16 21.53       |     ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#16 21.53 In file included from /opt/ros/jazzy/include/rclcpp/rclcpp/client.hpp:29,
#16 21.53                  from /opt/ros/jazzy/include/rclcpp/rclcpp/callback_group.hpp:24:
#16 21.53 /usr/include/c++/13/variant:1494:9: note: candidate: ‘template<class _Tp> std::enable_if_t<((__exactly_once<std::variant<_Types>::__accepted_type<_Tp&&, typename std::enable_if<__not_self<_Tp&&>, void>::type> > && is_constructible_v<std::variant<_Types>::__accepted_type<_Tp&&, typename std::enable_if<__not_self<_Tp&&>, void>::type>, _Tp>) && is_assignable_v<std::variant<_Types>::__accepted_type<_Tp&&, typename std::enable_if<__not_self<_Tp&&>, void>::type>&, _Tp>), std::variant<_Types>&> std::variant<_Types>::operator=(_Tp&&) [with _Types = {std::function<void(const rclcpp::SerializedMessage&)>, std::function<void(const rclcpp::SerializedMessage&, const rclcpp::MessageInfo&)>, std::function<void(std::unique_ptr<rclcpp::SerializedMessage, std::default_delete<rclcpp::SerializedMessage> >)>, std::function<void(std::unique_ptr<rclcpp::SerializedMessage, std::default_delete<rclcpp::SerializedMessage> >, const rclcpp::MessageInfo&)>, std::function<void(std::shared_ptr<const rclcpp::SerializedMessage>)>, std::function<void(std::shared_ptr<const rclcpp::SerializedMessage>, const rclcpp::MessageInfo&)>, std::function<void(const std::shared_ptr<const rclcpp::SerializedMessage>&)>, std::function<void(const std::shared_ptr<const rclcpp::SerializedMessage>&, const rclcpp::MessageInfo&)>, std::function<void(std::shared_ptr<rclcpp::SerializedMessage>)>, std::function<void(std::shared_ptr<rclcpp::SerializedMessage>, const rclcpp::MessageInfo&)>}]’
#16 21.53  1494 |         operator=(_Tp&& __rhs)
#16 21.53       |         ^~~~~~~~
#16 21.53 /usr/include/c++/13/variant:1494:9: note:   template argument deduction/substitution failed:
#16 21.53 /usr/include/c++/13/variant: In substitution of ‘template<class ... _Types> template<class _Tp, class> using std::variant<_Types>::__accepted_type = std::variant<_Types>::__to_type<__accepted_index<_Tp> > [with _Tp = std::function<void(std::shared_ptr<const rclcpp::SerializedMessage>, std::shared_ptr<rosbag2_snapshot::MessageQueue>)>&&; <template-parameter-2-2> = void; _Types = {std::function<void(const rclcpp::SerializedMessage&)>, std::function<void(const rclcpp::SerializedMessage&, const rclcpp::MessageInfo&)>, std::function<void(std::unique_ptr<rclcpp::SerializedMessage, std::default_delete<rclcpp::SerializedMessage> >)>, std::function<void(std::unique_ptr<rclcpp::SerializedMessage, std::default_delete<rclcpp::SerializedMessage> >, const rclcpp::MessageInfo&)>, std::function<void(std::shared_ptr<const rclcpp::SerializedMessage>)>, std::function<void(std::shared_ptr<const rclcpp::SerializedMessage>, const rclcpp::MessageInfo&)>, std::function<void(const std::shared_ptr<const rclcpp::SerializedMessage>&)>, std::function<void(const std::shared_ptr<const rclcpp::SerializedMessage>&, const rclcpp::MessageInfo&)>, std::function<void(std::shared_ptr<rclcpp::SerializedMessage>)>, std::function<void(std::shared_ptr<rclcpp::SerializedMessage>, const rclcpp::MessageInfo&)>}]’:
#16 21.53 /usr/include/c++/13/variant:1490:14:   required by substitution of ‘template<class _Tp> std::enable_if_t<((__exactly_once<std::variant<std::function<void(const rclcpp::SerializedMessage&)>, std::function<void(const rclcpp::SerializedMessage&, const rclcpp::MessageInfo&)>, std::function<void(std::unique_ptr<rclcpp::SerializedMessage, std::default_delete<rclcpp::SerializedMessage> >)>, std::function<void(std::unique_ptr<rclcpp::SerializedMessage, std::default_delete<rclcpp::SerializedMessage> >, const rclcpp::MessageInfo&)>, std::function<void(std::shared_ptr<const rclcpp::SerializedMessage>)>, std::function<void(std::shared_ptr<const rclcpp::SerializedMessage>, const rclcpp::MessageInfo&)>, std::function<void(const std::shared_ptr<const rclcpp::SerializedMessage>&)>, std::function<void(const std::shared_ptr<const rclcpp::SerializedMessage>&, const rclcpp::MessageInfo&)>, std::function<void(std::shared_ptr<rclcpp::SerializedMessage>)>, std::function<void(std::shared_ptr<rclcpp::SerializedMessage>, const rclcpp::MessageInfo&)> >::__accepted_type<_Tp&&, typename std::enable_if<__not_self<_Tp&&>, void>::type> > && is_constructible_v<std::variant<std::function<void(const rclcpp::SerializedMessage&)>, std::function<void(const rclcpp::SerializedMessage&, const rclcpp::MessageInfo&)>, std::function<void(std::unique_ptr<rclcpp::SerializedMessage, std::default_delete<rclcpp::SerializedMessage> >)>, std::function<void(std::unique_ptr<rclcpp::SerializedMessage, std::default_delete<rclcpp::SerializedMessage> >, const rclcpp::MessageInfo&)>, std::function<void(std::shared_ptr<const rclcpp::SerializedMessage>)>, std::function<void(std::shared_ptr<const rclcpp::SerializedMessage>, const rclcpp::MessageInfo&)>, std::function<void(const std::shared_ptr<const rclcpp::SerializedMessage>&)>, std::function<void(const std::shared_ptr<const rclcpp::SerializedMessage>&, const rclcpp::MessageInfo&)>, std::function<void(std::shared_ptr<rclcpp::SerializedMessage>)>, std::function<void(std::shared_ptr<rclcpp::SerializedMessage>, const rclcpp::MessageInfo&)> >::__accepted_type<_Tp&&, typename std::enable_if<__not_self<_Tp&&>, void>::type>, _Tp>) && is_assignable_v<std::variant<std::function<void(const rclcpp::SerializedMessage&)>, std::function<void(const rclcpp::SerializedMessage&, const rclcpp::MessageInfo&)>, std::function<void(std::unique_ptr<rclcpp::SerializedMessage, std::default_delete<rclcpp::SerializedMessage> >)>, std::function<void(std::unique_ptr<rclcpp::SerializedMessage, std::default_delete<rclcpp::SerializedMessage> >, const rclcpp::MessageInfo&)>, std::function<void(std::shared_ptr<const rclcpp::SerializedMessage>)>, std::function<void(std::shared_ptr<const rclcpp::SerializedMessage>, const rclcpp::MessageInfo&)>, std::function<void(const std::shared_ptr<const rclcpp::SerializedMessage>&)>, std::function<void(const std::shared_ptr<const rclcpp::SerializedMessage>&, const rclcpp::MessageInfo&)>, std::function<void(std::shared_ptr<rclcpp::SerializedMessage>)>, std::function<void(std::shared_ptr<rclcpp::SerializedMessage>, const rclcpp::MessageInfo&)> >::__accepted_type<_Tp&&, typename std::enable_if<__not_self<_Tp&&>, void>::type>&, _Tp>), std::variant<std::function<void(const rclcpp::SerializedMessage&)>, std::function<void(const rclcpp::SerializedMessage&, const rclcpp::MessageInfo&)>, std::function<void(std::unique_ptr<rclcpp::SerializedMessage, std::default_delete<rclcpp::SerializedMessage> >)>, std::function<void(std::unique_ptr<rclcpp::SerializedMessage, std::default_delete<rclcpp::SerializedMessage> >, const rclcpp::MessageInfo&)>, std::function<void(std::shared_ptr<const rclcpp::SerializedMessage>)>, std::function<void(std::shared_ptr<const rclcpp::SerializedMessage>, const rclcpp::MessageInfo&)>, std::function<void(const std::shared_ptr<const rclcpp::SerializedMessage>&)>, std::function<void(const std::shared_ptr<const rclcpp::SerializedMessage>&, const rclcpp::MessageInfo&)>, std::function<void(std::shared_ptr<rclcpp::SerializedMessage>)>, std::function<void(std::shared_ptr<rclcpp::SerializedMessage>, const rclcpp::MessageInfo&)> >&> std::variant<std::function<void(const rclcpp::SerializedMessage&)>, std::function<void(const rclcpp::SerializedMessage&, const rclcpp::MessageInfo&)>, std::function<void(std::unique_ptr<rclcpp::SerializedMessage, std::default_delete<rclcpp::SerializedMessage> >)>, std::function<void(std::unique_ptr<rclcpp::SerializedMessage, std::default_delete<rclcpp::SerializedMessage> >, const rclcpp::MessageInfo&)>, std::function<void(std::shared_ptr<const rclcpp::SerializedMessage>)>, std::function<void(std::shared_ptr<const rclcpp::SerializedMessage>, const rclcpp::MessageInfo&)>, std::function<void(const std::shared_ptr<const rclcpp::SerializedMessage>&)>, std::function<void(const std::shared_ptr<const rclcpp::SerializedMessage>&, const rclcpp::MessageInfo&)>, std::function<void(std::shared_ptr<rclcpp::SerializedMessage>)>, std::function<void(std::shared_ptr<rclcpp::SerializedMessage>, const rclcpp::MessageInfo&)> >::operator=(_Tp&&) [with _Tp = std::function<void(std::shared_ptr<const rclcpp::SerializedMessage>, std::shared_ptr<rosbag2_snapshot::MessageQueue>)>]’
#16 21.53 /opt/ros/jazzy/include/rclcpp/rclcpp/any_subscription_callback.hpp:396:23:   required from ‘rclcpp::AnySubscriptionCallback<MessageT, AllocatorT> rclcpp::AnySubscriptionCallback<MessageT, AllocatorT>::set(CallbackT) [with CallbackT = std::_Bind<void (rosbag2_snapshot::Snapshotter::*(rosbag2_snapshot::Snapshotter*, std::_Placeholder<1>, std::shared_ptr<rosbag2_snapshot::MessageQueue>))(std::shared_ptr<const rclcpp::SerializedMessage>, std::shared_ptr<rosbag2_snapshot::MessageQueue>)>; MessageT = rclcpp::SerializedMessage; AllocatorT = std::allocator<void>]’
#16 21.53 /opt/ros/jazzy/include/rclcpp/rclcpp/create_generic_subscription.hpp:70:32:   required from ‘std::shared_ptr<rclcpp::GenericSubscription> rclcpp::create_generic_subscription(node_interfaces::NodeTopicsInterface::SharedPtr, const std::string&, const std::string&, const QoS&, CallbackT&&, const SubscriptionOptionsWithAllocator<AllocatorT>&) [with CallbackT = std::_Bind<void (rosbag2_snapshot::Snapshotter::*(rosbag2_snapshot::Snapshotter*, std::_Placeholder<1>, std::shared_ptr<rosbag2_snapshot::MessageQueue>))(std::shared_ptr<const SerializedMessage>, std::shared_ptr<rosbag2_snapshot::MessageQueue>)>; AllocatorT = std::allocator<void>; node_interfaces::NodeTopicsInterface::SharedPtr = std::shared_ptr<node_interfaces::NodeTopicsInterface>; std::string = std::__cxx11::basic_string<char>]’
#16 21.53 /opt/ros/jazzy/include/rclcpp/rclcpp/node_impl.hpp:233:45:   required from ‘std::shared_ptr<rclcpp::GenericSubscription> rclcpp::Node::create_generic_subscription(const std::string&, const std::string&, const rclcpp::QoS&, CallbackT&&, const rclcpp::SubscriptionOptionsWithAllocator<AllocatorT>&) [with CallbackT = std::_Bind<void (rosbag2_snapshot::Snapshotter::*(rosbag2_snapshot::Snapshotter*, std::_Placeholder<1>, std::shared_ptr<rosbag2_snapshot::MessageQueue>))(std::shared_ptr<const rclcpp::SerializedMessage>, std::shared_ptr<rosbag2_snapshot::MessageQueue>)>; AllocatorT = std::allocator<void>; std::string = std::__cxx11::basic_string<char>]’
#16 21.53 /home/angsa/underlay_ws/src/rosbag2_snapshot/rosbag2_snapshot/src/snapshotter.cpp:436:41:   required from here
#16 21.53 /usr/include/c++/13/variant:1407:15: error: no type named ‘type’ in ‘struct std::enable_if<false, void>’
#16 21.53  1407 |         using __accepted_type = __to_type<__accepted_index<_Tp>>;
#16 21.53       |               ^~~~~~~~~~~~~~~
#16 21.53 /opt/ros/jazzy/include/rclcpp/rclcpp/any_subscription_callback.hpp: In instantiation of ‘rclcpp::AnySubscriptionCallback<MessageT, AllocatorT> rclcpp::AnySubscriptionCallback<MessageT, AllocatorT>::set(CallbackT) [with CallbackT = std::_Bind<void (rosbag2_snapshot::Snapshotter::*(rosbag2_snapshot::Snapshotter*, std::_Placeholder<1>, std::shared_ptr<rosbag2_snapshot::MessageQueue>))(std::shared_ptr<const rclcpp::SerializedMessage>, std::shared_ptr<rosbag2_snapshot::MessageQueue>)>; MessageT = rclcpp::SerializedMessage; AllocatorT = std::allocator<void>]’:
#16 21.53 /opt/ros/jazzy/include/rclcpp/rclcpp/create_generic_subscription.hpp:70:32:   required from ‘std::shared_ptr<rclcpp::GenericSubscription> rclcpp::create_generic_subscription(node_interfaces::NodeTopicsInterface::SharedPtr, const std::string&, const std::string&, const QoS&, CallbackT&&, const SubscriptionOptionsWithAllocator<AllocatorT>&) [with CallbackT = std::_Bind<void (rosbag2_snapshot::Snapshotter::*(rosbag2_snapshot::Snapshotter*, std::_Placeholder<1>, std::shared_ptr<rosbag2_snapshot::MessageQueue>))(std::shared_ptr<const SerializedMessage>, std::shared_ptr<rosbag2_snapshot::MessageQueue>)>; AllocatorT = std::allocator<void>; node_interfaces::NodeTopicsInterface::SharedPtr = std::shared_ptr<node_interfaces::NodeTopicsInterface>; std::string = std::__cxx11::basic_string<char>]’
#16 21.53 /opt/ros/jazzy/include/rclcpp/rclcpp/node_impl.hpp:233:45:   required from ‘std::shared_ptr<rclcpp::GenericSubscription> rclcpp::Node::create_generic_subscription(const std::string&, const std::string&, const rclcpp::QoS&, CallbackT&&, const rclcpp::SubscriptionOptionsWithAllocator<AllocatorT>&) [with CallbackT = std::_Bind<void (rosbag2_snapshot::Snapshotter::*(rosbag2_snapshot::Snapshotter*, std::_Placeholder<1>, std::shared_ptr<rosbag2_snapshot::MessageQueue>))(std::shared_ptr<const rclcpp::SerializedMessage>, std::shared_ptr<rosbag2_snapshot::MessageQueue>)>; AllocatorT = std::allocator<void>; std::string = std::__cxx11::basic_string<char>]’
#16 21.53 /home/angsa/underlay_ws/src/rosbag2_snapshot/rosbag2_snapshot/src/snapshotter.cpp:436:41:   required from here
#16 21.53 /usr/include/c++/13/variant:1430:16: note: candidate: ‘std::variant<_Types>& std::variant<_Types>::operator=(const std::variant<_Types>&) [with _Types = {std::function<void(const rclcpp::SerializedMessage&)>, std::function<void(const rclcpp::SerializedMessage&, const rclcpp::MessageInfo&)>, std::function<void(std::unique_ptr<rclcpp::SerializedMessage, std::default_delete<rclcpp::SerializedMessage> >)>, std::function<void(std::unique_ptr<rclcpp::SerializedMessage, std::default_delete<rclcpp::SerializedMessage> >, const rclcpp::MessageInfo&)>, std::function<void(std::shared_ptr<const rclcpp::SerializedMessage>)>, std::function<void(std::shared_ptr<const rclcpp::SerializedMessage>, const rclcpp::MessageInfo&)>, std::function<void(const std::shared_ptr<const rclcpp::SerializedMessage>&)>, std::function<void(const std::shared_ptr<const rclcpp::SerializedMessage>&, const rclcpp::MessageInfo&)>, std::function<void(std::shared_ptr<rclcpp::SerializedMessage>)>, std::function<void(std::shared_ptr<rclcpp::SerializedMessage>, const rclcpp::MessageInfo&)>}]’
#16 21.53  1430 |       variant& operator=(const variant&) = default;
#16 21.53       |                ^~~~~~~~
#16 21.53 /usr/include/c++/13/variant:1430:26: note:   no known conversion for argument 1 from ‘rclcpp::detail::SubscriptionCallbackTypeHelper<rclcpp::SerializedMessage, std::_Bind<void (rosbag2_snapshot::Snapshotter::*(rosbag2_snapshot::Snapshotter*, std::_Placeholder<1>, std::shared_ptr<rosbag2_snapshot::MessageQueue>))(std::shared_ptr<const rclcpp::SerializedMessage>, std::shared_ptr<rosbag2_snapshot::MessageQueue>)>, void>::callback_type’ {aka ‘std::function<void(std::shared_ptr<const rclcpp::SerializedMessage>, std::shared_ptr<rosbag2_snapshot::MessageQueue>)>’} to ‘const std::variant<std::function<void(const rclcpp::SerializedMessage&)>, std::function<void(const rclcpp::SerializedMessage&, const rclcpp::MessageInfo&)>, std::function<void(std::unique_ptr<rclcpp::SerializedMessage, std::default_delete<rclcpp::SerializedMessage> >)>, std::function<void(std::unique_ptr<rclcpp::SerializedMessage, std::default_delete<rclcpp::SerializedMessage> >, const rclcpp::MessageInfo&)>, std::function<void(std::shared_ptr<const rclcpp::SerializedMessage>)>, std::function<void(std::shared_ptr<const rclcpp::SerializedMessage>, const rclcpp::MessageInfo&)>, std::function<void(const std::shared_ptr<const rclcpp::SerializedMessage>&)>, std::function<void(const std::shared_ptr<const rclcpp::SerializedMessage>&, const rclcpp::MessageInfo&)>, std::function<void(std::shared_ptr<rclcpp::SerializedMessage>)>, std::function<void(std::shared_ptr<rclcpp::SerializedMessage>, const rclcpp::MessageInfo&)> >&’
#16 21.53  1430 |       variant& operator=(const variant&) = default;
#16 21.53       |                          ^~~~~~~~~~~~~~
#16 21.53 /usr/include/c++/13/variant:1431:16: note: candidate: ‘std::variant<_Types>& std::variant<_Types>::operator=(std::variant<_Types>&&) [with _Types = {std::function<void(const rclcpp::SerializedMessage&)>, std::function<void(const rclcpp::SerializedMessage&, const rclcpp::MessageInfo&)>, std::function<void(std::unique_ptr<rclcpp::SerializedMessage, std::default_delete<rclcpp::SerializedMessage> >)>, std::function<void(std::unique_ptr<rclcpp::SerializedMessage, std::default_delete<rclcpp::SerializedMessage> >, const rclcpp::MessageInfo&)>, std::function<void(std::shared_ptr<const rclcpp::SerializedMessage>)>, std::function<void(std::shared_ptr<const rclcpp::SerializedMessage>, const rclcpp::MessageInfo&)>, std::function<void(const std::shared_ptr<const rclcpp::SerializedMessage>&)>, std::function<void(const std::shared_ptr<const rclcpp::SerializedMessage>&, const rclcpp::MessageInfo&)>, std::function<void(std::shared_ptr<rclcpp::SerializedMessage>)>, std::function<void(std::shared_ptr<rclcpp::SerializedMessage>, const rclcpp::MessageInfo&)>}]’
#16 21.53  1431 |       variant& operator=(variant&&) = default;
#16 21.53       |                ^~~~~~~~
#16 21.53 /usr/include/c++/13/variant:1431:26: note:   no known conversion for argument 1 from ‘rclcpp::detail::SubscriptionCallbackTypeHelper<rclcpp::SerializedMessage, std::_Bind<void (rosbag2_snapshot::Snapshotter::*(rosbag2_snapshot::Snapshotter*, std::_Placeholder<1>, std::shared_ptr<rosbag2_snapshot::MessageQueue>))(std::shared_ptr<const rclcpp::SerializedMessage>, std::shared_ptr<rosbag2_snapshot::MessageQueue>)>, void>::callback_type’ {aka ‘std::function<void(std::shared_ptr<const rclcpp::SerializedMessage>, std::shared_ptr<rosbag2_snapshot::MessageQueue>)>’} to ‘std::variant<std::function<void(const rclcpp::SerializedMessage&)>, std::function<void(const rclcpp::SerializedMessage&, const rclcpp::MessageInfo&)>, std::function<void(std::unique_ptr<rclcpp::SerializedMessage, std::default_delete<rclcpp::SerializedMessage> >)>, std::function<void(std::unique_ptr<rclcpp::SerializedMessage, std::default_delete<rclcpp::SerializedMessage> >, const rclcpp::MessageInfo&)>, std::function<void(std::shared_ptr<const rclcpp::SerializedMessage>)>, std::function<void(std::shared_ptr<const rclcpp::SerializedMessage>, const rclcpp::MessageInfo&)>, std::function<void(const std::shared_ptr<const rclcpp::SerializedMessage>&)>, std::function<void(const std::shared_ptr<const rclcpp::SerializedMessage>&, const rclcpp::MessageInfo&)>, std::function<void(std::shared_ptr<rclcpp::SerializedMessage>)>, std::function<void(std::shared_ptr<rclcpp::SerializedMessage>, const rclcpp::MessageInfo&)> >&&’
#16 21.53  1431 |       variant& operator=(variant&&) = default;
#16 21.53       |                          ^~~~~~~~~
#16 21.53 gmake[2]: *** [CMakeFiles/rosbag2_snapshot.dir/build.make:76: CMakeFiles/rosbag2_snapshot.dir/src/snapshotter.cpp.o] Error 1
#16 21.53 gmake[1]: *** [CMakeFiles/Makefile2:141: CMakeFiles/rosbag2_snapshot.dir/all] Error 2
#16 21.53 gmake: *** [Makefile:146: all] Error 2
#16 21.53 ---```

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions