ROS 2 from source fails on rclcpp during colcon build

asked 2022-07-05 20:44:43 -0500

Simeon Adebola gravatar image

I am working on a development setup.

I am installing ros2 rolling on a Jetson Nano with Ubuntu 20.04 (focal) using a Dockerfile.

I am installing ROS2 from source following the instructions here: from Source and maintaining source checkout

During colcon build, the build fails on rclcpp with this error:

In file included from /opt/ros/rolling/src/ros2/rclcpp/rclcpp/include/rclcpp/callback_group.hpp:23:0,
             from /opt/ros/rolling/src/ros2/rclcpp/rclcpp/include/rclcpp/any_executable.hpp:20,
             from /opt/ros/rolling/src/ros2/rclcpp/rclcpp/include/rclcpp/memory_strategy.hpp:25,
             from /opt/ros/rolling/src/ros2/rclcpp/rclcpp/include/rclcpp/memory_strategies.hpp:18,
             from /opt/ros/rolling/src/ros2/rclcpp/rclcpp/include/rclcpp/executor_options.hpp:20,
             from /opt/ros/rolling/src/ros2/rclcpp/rclcpp/include/rclcpp/executor.hpp:37,
             from /opt/ros/rolling/src/ros2/rclcpp/rclcpp/include/rclcpp/executors/multi_threaded_executor.hpp:25,
             from /opt/ros/rolling/src/ros2/rclcpp/rclcpp/include/rclcpp/executors.hpp:21,
             from /opt/ros/rolling/src/ros2/rclcpp/rclcpp/include/rclcpp/parameter_client.hpp:36,
             from /opt/ros/rolling/src/ros2/rclcpp/rclcpp/src/rclcpp/parameter_client.cpp:15:                                    /opt/ros/rolling/src/ros2/rclcpp/rclcpp/include/rclcpp/client.hpp: In instantiation of ‘std::optional<std::variant<std::promise<typename ServiceT::Response::SharedPtr>, std::tuple<std::function<void(std::shared_future<typename ServiceT::Response::SharedPtr>)>, std::shared_future<typename ServiceT::Response::SharedPtr>, std::promise<typename ServiceT::Response::SharedPtr> >, std::tuple<std::function<void(std::shared_future<std::pair<typename ServiceT::Request::SharedPtr, typename ServiceT::Response::SharedPtr> >)>, typename ServiceT::Request::SharedPtr, std::shared_future<std::pair<typename ServiceT::Request::SharedPtr, typename ServiceT::Response::SharedPtr> >, std::promise<std::pair<typename ServiceT::Request::SharedPtr, typename ServiceT::Response::SharedPtr> > > > > rclcpp::Client<ServiceT>::get_and_erase_pending_request(int64_t) [with ServiceT = rcl_interfaces::srv::DescribeParameters; typename ServiceT::Response::SharedPtr = std::shared_ptr<rcl_interfaces::srv::DescribeParameters_Response_<std::allocator<void> > >; typename ServiceT::Request::SharedPtr = std::shared_ptr<rcl_interfaces::srv::DescribeParameters_Request_<std::allocator<void> > >; int64_t = long int]’:                                                                                                                                                      /opt/ros/rolling/src/ros2/rclcpp/rclcpp/include/rclcpp/client.hpp:551:38:   required from ‘void rclcpp::Client<ServiceT>::handle_response(std::shared_ptr<rmw_request_id_s>, std::shared_ptr<void>) [with ServiceT = rcl_interfaces::srv::DescribeParameters]’                                                                                                                     /opt/ros/rolling/src/ros2/rclcpp/rclcpp/src/rclcpp/parameter_client.cpp:545:1:   required from here                         /opt/ros/rolling/src/ros2/rclcpp/rclcpp/include/rclcpp/client.hpp:821:12: error: could not convert ‘value’ from ‘std::variant<std::promise<std::shared_ptr<rcl_interfaces::srv::DescribeParameters_Response_<std::allocator<void> > > >, std::tuple<std::function<void(std::shared_future<std::shared_ptr<rcl_interfaces::srv::DescribeParameters_Response_<std::allocator<void> > > >)>, std::shared_future<std::shared_ptr<rcl_interfaces::srv::DescribeParameters_Response_<std::allocator<void> > > >, std::promise<std::shared_ptr<rcl_interfaces::srv::DescribeParameters_Response_<std::allocator<void> > > > >, std::tuple<std::function<void(std::shared_future<std::pair<std::shared_ptr<rcl_interfaces::srv::DescribeParameters_Request_<std::allocator<void> > >, std::shared_ptr<rcl_interfaces::srv::DescribeParameters_Response_<std::allocator<void> > > > >)>, std::shared_ptr<rcl_interfaces::srv::DescribeParameters_Request_<std::allocator<void> > >, std::shared_future<std::pair<std::shared_ptr<rcl_interfaces::srv::DescribeParameters_Request_<std::allocator<void> > >, std::shared_ptr<rcl_interfaces::srv::DescribeParameters_Response_<std::allocator<void> > > > >, std::promise<std::pair<std::shared_ptr<rcl_interfaces::srv::DescribeParameters_Request_<std::allocator<void> > >, std::shared_ptr<rcl_interfaces::srv::DescribeParameters_Response_<std::allocator<void> > > > > > >’ to ‘std::optional<std::variant<std::promise<std::shared_ptr<rcl_interfaces::srv::DescribeParameters_Response_<std::allocator<void> > > >, std::tuple<std::function<void(std::shared_future<std::shared_ptr<rcl_interfaces::srv::DescribeParameters_Response_<std::allocator<void> > > ...
(more)
edit retag flag offensive close merge delete