rt-net / crane_plus

CRANE+ V2 ROS 2 Packages
Apache License 2.0
42 stars 8 forks source link

ROS 2 Humbleでcolconビルドエラー #51

Closed shu-13 closed 1 year ago

shu-13 commented 2 years ago

Describe the bug

feature/support_galacticROS 2 Humbleでビルドをしたところ、crane_plus_controlパッケージで以下のエラーが発生しました。

Starting >>> crane_plus_control
--- stderr: crane_plus_control                              
In file included from /home/appuser/ros2_ws/src/crane_plus/crane_plus_control/src/crane_plus_hardware.cpp:21:
/home/appuser/ros2_ws/src/crane_plus/crane_plus_control/include/crane_plus_control/crane_plus_hardware.hpp:62:15: error: ‘hardware_interface::return_type crane_plus_control::CranePlusHardware::read()’ marked ‘override’, but does not override
   62 |   return_type read() override;
      |               ^~~~
/home/appuser/ros2_ws/src/crane_plus/crane_plus_control/include/crane_plus_control/crane_plus_hardware.hpp:65:15: error: ‘hardware_interface::return_type crane_plus_control::CranePlusHardware::write()’ marked ‘override’, but does not override
   65 |   return_type write() override;
      |               ^~~~~
/home/appuser/ros2_ws/src/crane_plus/crane_plus_control/src/crane_plus_hardware.cpp:34:1: error: ‘CallbackReturn’ does not name a type
   34 | CallbackReturn CranePlusHardware::on_init(
      | ^~~~~~~~~~~~~~
/home/appuser/ros2_ws/src/crane_plus/crane_plus_control/src/crane_plus_hardware.cpp:163:1: error: ‘CallbackReturn’ does not name a type
  163 | CallbackReturn CranePlusHardware::on_activate(const rclcpp_lifecycle::State & previous_state)
      | ^~~~~~~~~~~~~~
/home/appuser/ros2_ws/src/crane_plus/crane_plus_control/src/crane_plus_hardware.cpp:184:1: error: ‘CallbackReturn’ does not name a type
  184 | CallbackReturn CranePlusHardware::on_deactivate(const rclcpp_lifecycle::State & previous_state)
      | ^~~~~~~~~~~~~~
In file included from /opt/ros/humble/include/class_loader/class_loader/class_loader_core.hpp:57,
                 from /opt/ros/humble/include/class_loader/class_loader/class_loader.hpp:55,
                 from /opt/ros/humble/include/pluginlib/pluginlib/class_list_macros.hpp:40,
                 from /home/appuser/ros2_ws/src/crane_plus/crane_plus_control/src/crane_plus_hardware.cpp:290:
/opt/ros/humble/include/class_loader/class_loader/meta_object.hpp: In instantiation of ‘B* class_loader::impl::MetaObject<C, B>::create() const [with C = crane_plus_control::CranePlusHardware; B = hardware_interface::SystemInterface]’:
/opt/ros/humble/include/class_loader/class_loader/meta_object.hpp:216:7:   required from here
/opt/ros/humble/include/class_loader/class_loader/meta_object.hpp:218:12: error: invalid new-expression of abstract class type ‘crane_plus_control::CranePlusHardware’
  218 |     return new C;
      |            ^~~~~
In file included from /home/appuser/ros2_ws/src/crane_plus/crane_plus_control/src/crane_plus_hardware.cpp:21:
/home/appuser/ros2_ws/src/crane_plus/crane_plus_control/include/crane_plus_control/crane_plus_hardware.hpp:37:7: note:   because the following virtual functions are pure within ‘crane_plus_control::CranePlusHardware’:
   37 | class CranePlusHardware : public
      |       ^~~~~~~~~~~~~~~~~
In file included from /home/appuser/ros2_ws/src/crane_plus/crane_plus_control/include/crane_plus_control/crane_plus_hardware.hpp:27,
                 from /home/appuser/ros2_ws/src/crane_plus/crane_plus_control/src/crane_plus_hardware.cpp:21:
/home/appuser/ros2_ws/install/hardware_interface/include/hardware_interface/system_interface.hpp:173:23: note:     ‘virtual hardware_interface::return_type hardware_interface::SystemInterface::read(const rclcpp::Time&, const rclcpp::Duration&)’
  173 |   virtual return_type read(const rclcpp::Time & time, const rclcpp::Duration & period) = 0;
      |                       ^~~~
/home/appuser/ros2_ws/install/hardware_interface/include/hardware_interface/system_interface.hpp:184:23: note:     ‘virtual hardware_interface::return_type hardware_interface::SystemInterface::write(const rclcpp::Time&, const rclcpp::Duration&)’
  184 |   virtual return_type write(const rclcpp::Time & time, const rclcpp::Duration & period) = 0;
      |                       ^~~~~
gmake[2]: *** [CMakeFiles/crane_plus_hardware.dir/build.make:76: CMakeFiles/crane_plus_hardware.dir/src/crane_plus_hardware.cpp.o] Error 1
gmake[1]: *** [CMakeFiles/Makefile2:137: CMakeFiles/crane_plus_hardware.dir/all] Error 2
gmake: *** [Makefile:146: all] Error 2
---
Failed   <<< crane_plus_control [7.47s, exited with code 2]

Summary: 8 packages finished [10.5s]
  1 package failed: crane_plus_control

Environments

To Reproduce

  1. Run colcon build --symlink-install

Expected behavior

A clean build.

YusukeKato commented 1 year ago

Humble版をサポートしたためcloseします。