ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question
0

ROS2: issues building some packages found in ros2/demos and ros2/examples

asked 2021-10-28 05:15:27 -0500

jon.aztiria gravatar image

updated 2021-11-03 02:39:04 -0500

I am using ROS2 version dashing on Ubuntu 18.04.3 LTS. I installed following the instructions Installing ROS2 via Debian Packages: https://index.ros.org/doc/ros2/Instal....

I am failing to build the ros2 examples and demos found at: https://github.com/ros2/examples/tree... and https://github.com/ros2/demos/tree/da...

I was trying to follow this exercise: https://industrial-training-master.re....

The first error while compiling demos folder is in "demo_nodes_cpp" package:

--- stderr: demo_nodes_cpp                                                     
/home/ros/ros2_ws/src/demos/demo_nodes_cpp/src/parameters/parameter_event_handler.cpp: In function ‘int main(int, char**)’:
/home/ros/ros2_ws/src/demos/demo_nodes_cpp/src/parameters/parameter_event_handler.cpp:79:52: error: ‘ParameterEventHandler’ is not a member of ‘rclcpp’
   auto param_subscriber = std::make_shared<rclcpp::ParameterEventHandler>(node);
                                                    ^~~~~~~~~~~~~~~~~~~~~
/home/ros/ros2_ws/src/demos/demo_nodes_cpp/src/parameters/parameter_event_handler.cpp:79:52: note: suggested alternative: ‘ParameterEventsQoS’
   auto param_subscriber = std::make_shared<rclcpp::ParameterEventHandler>(node);
                                                    ^~~~~~~~~~~~~~~~~~~~~
                                                    ParameterEventsQoS
/home/ros/ros2_ws/src/demos/demo_nodes_cpp/src/parameters/parameter_event_handler.cpp:79:52: error: ‘ParameterEventHandler’ is not a member of ‘rclcpp’
/home/ros/ros2_ws/src/demos/demo_nodes_cpp/src/parameters/parameter_event_handler.cpp:79:52: note: suggested alternative: ‘ParameterEventsQoS’
   auto param_subscriber = std::make_shared<rclcpp::ParameterEventHandler>(node);
                                                    ^~~~~~~~~~~~~~~~~~~~~
                                                    ParameterEventsQoS
/home/ros/ros2_ws/src/demos/demo_nodes_cpp/src/parameters/parameter_event_handler.cpp:79:79: error: no matching function for call to ‘make_shared<<expression error> >(std::shared_ptr<rclcpp::Node>&)’
  auto param_subscriber = std::make_shared<rclcpp::ParameterEventHandler>(node);
                                                                              ^
In file included from /usr/include/c++/7/memory:81:0,
                 from /home/ros/ros2_ws/src/demos/demo_nodes_cpp/src/parameters/parameter_event_handler.cpp:17:
/usr/include/c++/7/bits/shared_ptr.h:703:5: note: candidate: template<class _Tp, class ... _Args> std::shared_ptr<_Tp> std::make_shared(_Args&& ...)
     make_shared(_Args&&... __args)
     ^~~~~~~~~~~
/usr/include/c++/7/bits/shared_ptr.h:703:5: note:   template argument deduction/substitution failed:
/home/ros/ros2_ws/src/demos/demo_nodes_cpp/src/parameters/parameter_event_handler.cpp:79:79: error: template argument 1 is invalid
  auto param_subscriber = std::make_shared<rclcpp::ParameterEventHandler>(node);
                                                                              ^
/home/ros/ros2_ws/src/demos/demo_nodes_cpp/src/parameters/parameter_event_handler.cpp: In lambda function:
/home/ros/ros2_ws/src/demos/demo_nodes_cpp/src/parameters/parameter_event_handler.cpp:116:21: error: ‘rclcpp::ParameterEventHandler’ has not been declared
         if (rclcpp::ParameterEventHandler::get_parameter_from_event(
                     ^~~~~~~~~~~~~~~~~~~~~
/home/ros/ros2_ws/src/demos/demo_nodes_cpp/src/parameters/parameter_event_handler.cpp:129:31: error: ‘rclcpp::ParameterEventHandler’ has not been declared
         auto params = rclcpp::ParameterEventHandler::get_parameters_from_event(event);
                               ^~~~~~~~~~~~~~~~~~~~~
/home/ros/ros2_ws/src/demos/demo_nodes_cpp/src/parameters/parameter_event_handler.cpp:130:25: error: unable to deduce ‘auto&&’ from ‘params’
         for (auto & p : params) {
                         ^~~~~~
make[2]: *** [CMakeFiles/parameter_event_handler.dir/src/parameters/parameter_event_handler.cpp.o] Error 1
make[1]: *** [CMakeFiles/parameter_event_handler.dir/all] Error 2
make: *** [all] Error 2
---
Failed   <<< demo_nodes_cpp [1min 10s, exited with code 2]
Aborted  <<< demo_nodes_cpp_native [24.1s] 

Summary: 5 packages finished [3min 41s]
  1 package failed: demo_nodes_cpp
  1 package aborted: demo_nodes_cpp_native
  2 packages had stderr output: demo_nodes_cpp demo_nodes_cpp_native
  13 packages not processed

The first error while compiling examples folder is in "examples_rclcpp_async_client" package:

--- stderr: examples_rclcpp_async_client
/home/ros/ros2_ws/src/examples/rclcpp/services/async_client/main.cpp: In lambda function:
/home/ros/ros2_ws/src/examples/rclcpp/services/async_client/main.cpp:46:42: error: ‘using element_type = class rclcpp::Client<example_interfaces::srv::AddTwoInts> {aka class rclcpp::Client<example_interfaces ...
(more)
edit retag flag offensive close merge delete

1 Answer

Sort by » oldest newest most voted
0

answered 2021-10-28 15:58:45 -0500

Are you cloning the appropriate branch for your distribution? Try changing to the dashing branch.

edit flag offensive delete link more

Comments

Sorry, I'm new with ROS and I didn't take into account the distribution when cloning the GitHub repo. I've corrected that, but I'm still having errors. I've updated the question with the new errors.

jon.aztiria gravatar image jon.aztiria  ( 2021-11-03 02:39:46 -0500 )edit

Question Tools

2 followers

Stats

Asked: 2021-10-28 05:00:39 -0500

Seen: 132 times

Last updated: Nov 03 '21