ICube-Robotics/iiwa_ros2

Building package failed (Ubuntu mate 20.04 / Galactic)

Nils-Holgerson opened this issue · 1 comments

Great project. Unfortunately I cant build the package anymore since 2 weeks. I use ubuntu mate 20.04 and ROS2 galactic.

holger@holger-VirtualBox:~/galactic_workspace$ colcon build --cmake-args -DCMAKE_BUILD_TYPE=Release --symlink-install
Starting >>> iiwa_description
Finished <<< iiwa_description [2.53s]                  
Starting >>> iiwa_bringup
Finished <<< iiwa_bringup [4.85s]                  
Starting >>> external_torque_sensor_broadcaster
--- stderr: external_torque_sensor_broadcaster                                
/home/holger/galactic_workspace/src/iiwa_ros2/iiwa_controllers/external_torque_sensor_broadcaster/src/external_torque_sensor_broadcaster.cpp: In member function ‘virtual controller_interface::return_type external_torque_sensor_broadcaster::ExternalTorqueSensorBroadcaster::update(const rclcpp::Time&, const rclcpp::Duration&)’:
/home/holger/galactic_workspace/src/iiwa_ros2/iiwa_controllers/external_torque_sensor_broadcaster/src/external_torque_sensor_broadcaster.cpp:146:96: warning: unused parameter ‘time’ [-Wunused-parameter]
  146 | ExternalTorqueSensorBroadcaster::update(const rclcpp::Time & time, const rclcpp::Duration & period)
      |                                         ~~~~~~~~~~~~~~~~~~~~~^~~~

/home/holger/galactic_workspace/src/iiwa_ros2/iiwa_controllers/external_torque_sensor_broadcaster/src/external_torque_sensor_broadcaster.cpp:146:127: warning: unused parameter ‘period’ [-Wunused-parameter]
  146 | ::update(const rclcpp::Time & time, const rclcpp::Duration & period)
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~

---
Finished <<< external_torque_sensor_broadcaster [17.7s]
Starting >>> iiwa_moveit2
[Processing: iiwa_moveit2]                             
[Processing: iiwa_moveit2]                                      
[Processing: iiwa_moveit2]                                       
Finished <<< iiwa_moveit2 [1min 46s]                              
Starting >>> impedance_controller
--- stderr: impedance_controller                                     
/home/holger/galactic_workspace/src/iiwa_ros2/iiwa_controllers/impedance_controller/src/impedance_controller.cpp: In member function ‘virtual controller_interface::return_type impedance_controller::ImpedanceController::update(const rclcpp::Time&, const rclcpp::Duration&)’:
/home/holger/galactic_workspace/src/iiwa_ros2/iiwa_controllers/impedance_controller/src/impedance_controller.cpp:186:84: warning: unused parameter ‘time’ [-Wunused-parameter]
  186 | return_type ImpedanceController::update(const rclcpp::Time & time, const rclcpp::Duration & period)
      |                                         ~~~~~~~~~~~~~~~~~~~~~^~~~

/home/holger/galactic_workspace/src/iiwa_ros2/iiwa_controllers/impedance_controller/src/impedance_controller.cpp:186:115: warning: unused parameter ‘period’ [-Wunused-parameter]
  186 | ::update(const rclcpp::Time & time, const rclcpp::Duration & period)
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~

---
Finished <<< impedance_controller [24.6s]
Starting >>> iiwa_hardware
--- stderr: iiwa_hardware                                   
In file included from /home/holger/galactic_workspace/src/iiwa_ros2/iiwa_hardware/src/iiwa_HI_DS.cpp:16:
/home/holger/galactic_workspace/src/iiwa_ros2/iiwa_hardware/include/iiwa_hardware/iiwa_HI_DS.hpp:67:46: error: ‘rclcpp’ does not name a type
   67 |   hardware_interface::return_type read(const rclcpp::Time & time, const rclcpp::Duration & period) override;
      |                                              ^~~~~~
/home/holger/galactic_workspace/src/iiwa_ros2/iiwa_hardware/include/iiwa_hardware/iiwa_HI_DS.hpp:67:59: error: expected unqualified-id before ‘&’ token
   67 |   hardware_interface::return_type read(const rclcpp::Time & time, const rclcpp::Duration & period) override;
      |                                                           ^
/home/holger/galactic_workspace/src/iiwa_ros2/iiwa_hardware/include/iiwa_hardware/iiwa_HI_DS.hpp:67:58: error: expected ‘)’ before ‘&’ token
   67 |   hardware_interface::return_type read(const rclcpp::Time & time, const rclcpp::Duration & period) override;
      |                                       ~                  ^~
      |                                                          )
/home/holger/galactic_workspace/src/iiwa_ros2/iiwa_hardware/include/iiwa_hardware/iiwa_HI_DS.hpp:67:59: error: expected ‘;’ at end of member declaration
   67 |   hardware_interface::return_type read(const rclcpp::Time & time, const rclcpp::Duration & period) override;
      |                                                           ^
      |                                                            ;
/home/holger/galactic_workspace/src/iiwa_ros2/iiwa_hardware/include/iiwa_hardware/iiwa_HI_DS.hpp:67:61: error: ‘time’ does not name a type
   67 |   hardware_interface::return_type read(const rclcpp::Time & time, const rclcpp::Duration & period) override;
      |                                                             ^~~~
/home/holger/galactic_workspace/src/iiwa_ros2/iiwa_hardware/include/iiwa_hardware/iiwa_HI_DS.hpp:70:47: error: ‘rclcpp’ does not name a type
   70 |   hardware_interface::return_type write(const rclcpp::Time & time, const rclcpp::Duration & period) override;
      |                                               ^~~~~~
/home/holger/galactic_workspace/src/iiwa_ros2/iiwa_hardware/include/iiwa_hardware/iiwa_HI_DS.hpp:70:60: error: expected unqualified-id before ‘&’ token
   70 |   hardware_interface::return_type write(const rclcpp::Time & time, const rclcpp::Duration & period) override;
      |                                                            ^
/home/holger/galactic_workspace/src/iiwa_ros2/iiwa_hardware/include/iiwa_hardware/iiwa_HI_DS.hpp:70:59: error: expected ‘)’ before ‘&’ token
   70 |   hardware_interface::return_type write(const rclcpp::Time & time, const rclcpp::Duration & period) override;
      |                                        ~                  ^~
      |                                                           )
/home/holger/galactic_workspace/src/iiwa_ros2/iiwa_hardware/include/iiwa_hardware/iiwa_HI_DS.hpp:70:60: error: expected ‘;’ at end of member declaration
   70 |   hardware_interface::return_type write(const rclcpp::Time & time, const rclcpp::Duration & period) override;
      |                                                            ^
      |                                                             ;
/home/holger/galactic_workspace/src/iiwa_ros2/iiwa_hardware/include/iiwa_hardware/iiwa_HI_DS.hpp:70:62: error: ‘time’ does not name a type
   70 |   hardware_interface::return_type write(const rclcpp::Time & time, const rclcpp::Duration & period) override;
      |                                                              ^~~~
In file included from /opt/ros/galactic/include/rclcpp/client.hpp:40,
                 from /opt/ros/galactic/include/rclcpp/callback_group.hpp:23,
                 from /opt/ros/galactic/include/rclcpp/any_executable.hpp:20,
                 from /opt/ros/galactic/include/rclcpp/memory_strategy.hpp:25,
                 from /opt/ros/galactic/include/rclcpp/memory_strategies.hpp:18,
                 from /opt/ros/galactic/include/rclcpp/executor_options.hpp:20,
                 from /opt/ros/galactic/include/rclcpp/executor.hpp:36,
                 from /opt/ros/galactic/include/rclcpp/executors/multi_threaded_executor.hpp:26,
                 from /opt/ros/galactic/include/rclcpp/executors.hpp:21,
                 from /opt/ros/galactic/include/rclcpp/rclcpp.hpp:156,
                 from /home/holger/galactic_workspace/src/iiwa_ros2/iiwa_hardware/src/iiwa_HI_DS.cpp:31:
/home/holger/galactic_workspace/src/iiwa_ros2/iiwa_hardware/src/iiwa_HI_DS.cpp: In member function ‘virtual CallbackReturn iiwa_hardware::IiwaDirectServoPositionHardwareInterface::on_init(const hardware_interface::HardwareInfo&)’:
/home/holger/galactic_workspace/src/iiwa_ros2/iiwa_hardware/src/iiwa_HI_DS.cpp:55:9: warning: format ‘%d’ expects argument of type ‘int’, but argument 6 has type ‘std::vector<hardware_interface::InterfaceInfo>::size_type’ {aka ‘long unsigned int’} [-Wformat=]
   55 |         "Joint '%s' has %d command interfaces found. 1 expected.", joint.name.c_str(),
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   56 |         joint.command_interfaces.size());
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                                      |
      |                                      std::vector<hardware_interface::InterfaceInfo>::size_type {aka long unsigned int}
/home/holger/galactic_workspace/src/iiwa_ros2/iiwa_hardware/src/iiwa_HI_DS.cpp:55:26: note: format string is defined here
   55 |         "Joint '%s' has %d command interfaces found. 1 expected.", joint.name.c_str(),
      |                         ~^
      |                          |
      |                          int
      |                         %ld
In file included from /opt/ros/galactic/include/rclcpp/client.hpp:40,
                 from /opt/ros/galactic/include/rclcpp/callback_group.hpp:23,
                 from /opt/ros/galactic/include/rclcpp/any_executable.hpp:20,
                 from /opt/ros/galactic/include/rclcpp/memory_strategy.hpp:25,
                 from /opt/ros/galactic/include/rclcpp/memory_strategies.hpp:18,
                 from /opt/ros/galactic/include/rclcpp/executor_options.hpp:20,
                 from /opt/ros/galactic/include/rclcpp/executor.hpp:36,
                 from /opt/ros/galactic/include/rclcpp/executors/multi_threaded_executor.hpp:26,
                 from /opt/ros/galactic/include/rclcpp/executors.hpp:21,
                 from /opt/ros/galactic/include/rclcpp/rclcpp.hpp:156,
                 from /home/holger/galactic_workspace/src/iiwa_ros2/iiwa_hardware/src/iiwa_HI_DS.cpp:31:
/home/holger/galactic_workspace/src/iiwa_ros2/iiwa_hardware/src/iiwa_HI_DS.cpp:73:9: warning: format ‘%d’ expects argument of type ‘int’, but argument 6 has type ‘std::vector<hardware_interface::InterfaceInfo>::size_type’ {aka ‘long unsigned int’} [-Wformat=]
   73 |         "Joint '%s' has %d state interface. 1 expected.", joint.name.c_str(),
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   74 |         joint.state_interfaces.size());
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                                    |
      |                                    std::vector<hardware_interface::InterfaceInfo>::size_type {aka long unsigned int}
/home/holger/galactic_workspace/src/iiwa_ros2/iiwa_hardware/src/iiwa_HI_DS.cpp:73:26: note: format string is defined here
   73 |         "Joint '%s' has %d state interface. 1 expected.", joint.name.c_str(),
      |                         ~^
      |                          |
      |                          int
      |                         %ld
In file included from /opt/ros/galactic/include/rclcpp/client.hpp:40,
                 from /opt/ros/galactic/include/rclcpp/callback_group.hpp:23,
                 from /opt/ros/galactic/include/rclcpp/any_executable.hpp:20,
                 from /opt/ros/galactic/include/rclcpp/memory_strategy.hpp:25,
                 from /opt/ros/galactic/include/rclcpp/memory_strategies.hpp:18,
                 from /opt/ros/galactic/include/rclcpp/executor_options.hpp:20,
                 from /opt/ros/galactic/include/rclcpp/executor.hpp:36,
                 from /opt/ros/galactic/include/rclcpp/executors/multi_threaded_executor.hpp:26,
                 from /opt/ros/galactic/include/rclcpp/executors.hpp:21,
                 from /opt/ros/galactic/include/rclcpp/rclcpp.hpp:156,
                 from /home/holger/galactic_workspace/src/iiwa_ros2/iiwa_hardware/src/iiwa_HI_DS.cpp:31:
/home/holger/galactic_workspace/src/iiwa_ros2/iiwa_hardware/src/iiwa_HI_DS.cpp: In member function ‘virtual CallbackReturn iiwa_hardware::IiwaDirectServoPositionHardwareInterface::on_activate(const rclcpp_lifecycle::State&)’:
/home/holger/galactic_workspace/src/iiwa_ros2/iiwa_hardware/src/iiwa_HI_DS.cpp:126:78: warning: format ‘%s’ expects argument of type ‘char*’, but argument 6 has type ‘std::string’ {aka ‘std::__cxx11::basic_string<char>’} [-Wformat=]
  126 | lcpp::get_logger("IiwaDirectServoPositionHardwareInterface"),"Connecting to port= %i and ip= %s", p_port, p_ip);
      |                                                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

/home/holger/galactic_workspace/src/iiwa_ros2/iiwa_hardware/src/iiwa_HI_DS.cpp:126:111: note: format string is defined here
  126 | PositionHardwareInterface"),"Connecting to port= %i and ip= %s", p_port, p_ip);
      |                                                             ~^
      |                                                              |
      |                                                              char*

/home/holger/galactic_workspace/src/iiwa_ros2/iiwa_hardware/src/iiwa_HI_DS.cpp:181:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::__cxx11::basic_string<char>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
  181 |     if (socket_status_ != msg_data_send.length()) {
      |         ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
/home/holger/galactic_workspace/src/iiwa_ros2/iiwa_hardware/src/iiwa_HI_DS.cpp:202:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector<std::__cxx11::basic_string<char> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
  202 |           for(int i=1;i<state_elements.size();i++) hw_states_[i-1]=atof(state_elements[i].c_str());
      |                       ~^~~~~~~~~~~~~~~~~~~~~~
/home/holger/galactic_workspace/src/iiwa_ros2/iiwa_hardware/src/iiwa_HI_DS.cpp:119:102: warning: unused parameter ‘previous_state’ [-Wunused-parameter]
  119 | nHardwareInterface::on_activate(const rclcpp_lifecycle::State & previous_state)
      |                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~

/home/holger/galactic_workspace/src/iiwa_ros2/iiwa_hardware/src/iiwa_HI_DS.cpp: In member function ‘virtual CallbackReturn iiwa_hardware::IiwaDirectServoPositionHardwareInterface::on_deactivate(const rclcpp_lifecycle::State&)’:
/home/holger/galactic_workspace/src/iiwa_ros2/iiwa_hardware/src/iiwa_HI_DS.cpp:225:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::__cxx11::basic_string<char>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
  225 |   if (socket_status_ != msg_data_send.length()) {
      |       ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
/home/holger/galactic_workspace/src/iiwa_ros2/iiwa_hardware/src/iiwa_HI_DS.cpp:217:104: warning: unused parameter ‘previous_state’ [-Wunused-parameter]
  217 | ardwareInterface::on_deactivate(const rclcpp_lifecycle::State & previous_state)
      |                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~

/home/holger/galactic_workspace/src/iiwa_ros2/iiwa_hardware/src/iiwa_HI_DS.cpp: At global scope:
/home/holger/galactic_workspace/src/iiwa_ros2/iiwa_hardware/src/iiwa_HI_DS.cpp:237:33: error: no declaration matches ‘hardware_interface::return_type iiwa_hardware::IiwaDirectServoPositionHardwareInterface::read(const rclcpp::Time&, const rclcpp::Duration&)’
  237 | hardware_interface::return_type IiwaDirectServoPositionHardwareInterface::read(const rclcpp::Time & /*time*/, const rclcpp::Duration & /*period*/)
      |                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/holger/galactic_workspace/src/iiwa_ros2/iiwa_hardware/src/iiwa_HI_DS.cpp:16:
/home/holger/galactic_workspace/src/iiwa_ros2/iiwa_hardware/include/iiwa_hardware/iiwa_HI_DS.hpp:67:35: note: candidate is: ‘hardware_interface::return_type iiwa_hardware::IiwaDirectServoPositionHardwareInterface::read(...) &’
   67 |   hardware_interface::return_type read(const rclcpp::Time & time, const rclcpp::Duration & period) override;
      |                                   ^~~~
/home/holger/galactic_workspace/src/iiwa_ros2/iiwa_hardware/include/iiwa_hardware/iiwa_HI_DS.hpp:46:7: note: ‘class iiwa_hardware::IiwaDirectServoPositionHardwareInterface’ defined here
   46 | class IiwaDirectServoPositionHardwareInterface : public hardware_interface::SystemInterface
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/holger/galactic_workspace/src/iiwa_ros2/iiwa_hardware/src/iiwa_HI_DS.cpp:259:33: error: no declaration matches ‘hardware_interface::return_type iiwa_hardware::IiwaDirectServoPositionHardwareInterface::write(const rclcpp::Time&, const rclcpp::Duration&)’
  259 | hardware_interface::return_type IiwaDirectServoPositionHardwareInterface::write(const rclcpp::Time & /*time*/, const rclcpp::Duration & /*period*/)
      |                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/holger/galactic_workspace/src/iiwa_ros2/iiwa_hardware/src/iiwa_HI_DS.cpp:16:
/home/holger/galactic_workspace/src/iiwa_ros2/iiwa_hardware/include/iiwa_hardware/iiwa_HI_DS.hpp:70:35: note: candidate is: ‘hardware_interface::return_type iiwa_hardware::IiwaDirectServoPositionHardwareInterface::write(...) &’
   70 |   hardware_interface::return_type write(const rclcpp::Time & time, const rclcpp::Duration & period) override;
      |                                   ^~~~~
/home/holger/galactic_workspace/src/iiwa_ros2/iiwa_hardware/include/iiwa_hardware/iiwa_HI_DS.hpp:46:7: note: ‘class iiwa_hardware::IiwaDirectServoPositionHardwareInterface’ defined here
   46 | class IiwaDirectServoPositionHardwareInterface : public hardware_interface::SystemInterface
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /opt/ros/galactic/include/class_loader/class_loader_core.hpp:57,
                 from /opt/ros/galactic/include/class_loader/class_loader.hpp:55,
                 from /opt/ros/galactic/include/pluginlib/class_list_macros.hpp:40,
                 from /home/holger/galactic_workspace/src/iiwa_ros2/iiwa_hardware/src/iiwa_HI_DS.cpp:287:
/opt/ros/galactic/include/class_loader/meta_object.hpp: In instantiation of ‘B* class_loader::impl::MetaObject<C, B>::create() const [with C = iiwa_hardware::IiwaDirectServoPositionHardwareInterface; B = hardware_interface::SystemInterface]’:
/opt/ros/galactic/include/class_loader/meta_object.hpp:216:7:   required from here
/opt/ros/galactic/include/class_loader/meta_object.hpp:218:12: error: invalid new-expression of abstract class type ‘iiwa_hardware::IiwaDirectServoPositionHardwareInterface’
  218 |     return new C;
      |            ^~~~~
In file included from /home/holger/galactic_workspace/src/iiwa_ros2/iiwa_hardware/src/iiwa_HI_DS.cpp:16:
/home/holger/galactic_workspace/src/iiwa_ros2/iiwa_hardware/include/iiwa_hardware/iiwa_HI_DS.hpp:46:7: note:   because the following virtual functions are pure within ‘iiwa_hardware::IiwaDirectServoPositionHardwareInterface’:
   46 | class IiwaDirectServoPositionHardwareInterface : public hardware_interface::SystemInterface
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/holger/galactic_workspace/src/iiwa_ros2/iiwa_hardware/include/iiwa_hardware/iiwa_HI_DS.hpp:29,
                 from /home/holger/galactic_workspace/src/iiwa_ros2/iiwa_hardware/src/iiwa_HI_DS.cpp:16:
/opt/ros/galactic/include/hardware_interface/system_interface.hpp:168:23: note: ‘virtual hardware_interface::return_type hardware_interface::SystemInterface::read()’
  168 |   virtual return_type read() = 0;
      |                       ^~~~
/opt/ros/galactic/include/hardware_interface/system_interface.hpp:177:23: note: ‘virtual hardware_interface::return_type hardware_interface::SystemInterface::write()’
  177 |   virtual return_type write() = 0;
      |                       ^~~~~
make[2]: *** [CMakeFiles/iiwa_hardware.dir/build.make:63: CMakeFiles/iiwa_hardware.dir/src/iiwa_HI_DS.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:78: CMakeFiles/iiwa_hardware.dir/all] Error 2
make: *** [Makefile:141: all] Error 2
---
Failed   <<< iiwa_hardware [11.5s, exited with code 2]

Summary: 5 packages finished [2min 48s]
  1 package failed: iiwa_hardware
  3 packages had stderr output: external_torque_sensor_broadcaster iiwa_hardware impedance_controller

mcbed commented

You are probably building the main branch with galactic but it was ported to humble. Try building the galactic branch instead.