doosan-robotics / doosan-robot2

ROS 2 for Doosan Robot
BSD 3-Clause "New" or "Revised" License
66 stars 40 forks source link

Error in buildng dsr_controller2 packages using ROS_HUMBLE #71

Closed SakethTecholution closed 2 weeks ago

SakethTecholution commented 2 weeks ago

@song-ms @doosan-robotics Can you please try looking into these issue and help me out . I am trying to build the current humble-devel branch. I am gettng these issue while buildng the pacakges **dsr_controller2**

My current system :- Ubuntu 22.04 , ROS Humble


--- stderr: dsr_hardware2                                       
In file included from /home/hardware_team/ros2_ws/src/doosan-robot2/dsr_hardware2/src/dsr_hw_interface2.cpp:9:
/home/hardware_team/ros2_ws/src/doosan-robot2/dsr_hardware2/include/dsr_hardware2/dsr_hw_interface2.h:220: warning: "_DEBUG_DSR_CTL" redefined
  220 | #define _DEBUG_DSR_CTL      0
      | 
In file included from /home/hardware_team/ros2_ws/src/doosan-robot2/dsr_hardware2/src/dsr_hw_interface2.cpp:9:
/home/hardware_team/ros2_ws/src/doosan-robot2/dsr_hardware2/include/dsr_hardware2/dsr_hw_interface2.h:38: note: this is the location of the previous definition
   38 | #define _DEBUG_DSR_CTL      1
      | 
In file included from /home/hardware_team/ros2_ws/src/doosan-robot2/dsr_hardware2/include/dsr_hardware2/dsr_hw_interface2.h:217,
                 from /home/hardware_team/ros2_ws/src/doosan-robot2/dsr_hardware2/src/dsr_hw_interface2.cpp:9:
/home/hardware_team/ros2_ws/src/doosan-robot2/dsr_hardware2/include/dsr_hardware2/../../../common2/include/DRFLEx.h: In member function ‘bool DRAFramework::CDRFLEx::close_connection()’:
/home/hardware_team/ros2_ws/src/doosan-robot2/dsr_hardware2/include/dsr_hardware2/../../../common2/include/DRFLEx.h:407:64: warning: no return statement in function returning non-void [-Wreturn-type]
  407 |         bool close_connection() { _close_connection(_rbtCtrl); }
      |                                                                ^
/home/hardware_team/ros2_ws/src/doosan-robot2/dsr_hardware2/include/dsr_hardware2/../../../common2/include/DRFLEx.h: In member function ‘bool DRAFramework::CDRFLEx::set_safe_stop_reset_type(SAFE_STOP_RESET_TYPE)’:
/home/hardware_team/ros2_ws/src/doosan-robot2/dsr_hardware2/include/dsr_hardware2/../../../common2/include/DRFLEx.h:522:154: warning: no return statement in function returning non-void [-Wreturn-type]
  522 | YPE_DEFAULT) { _set_safe_stop_reset_type(_rbtCtrl, eResetType); }
      |                                                                 ^

/home/hardware_team/ros2_ws/src/doosan-robot2/dsr_hardware2/src/dsr_hw_interface2.cpp: In member function ‘virtual CallbackReturn dsr_hardware2::DRHWInterface::on_init(const hardware_interface::HardwareInfo&)’:
/home/hardware_team/ros2_ws/src/doosan-robot2/dsr_hardware2/src/dsr_hw_interface2.cpp:156:17: warning: unused variable ‘joint_name’ [-Wunused-variable]
  156 |     for (auto & joint_name : joint_names)
      |                 ^~~~~~~~~~
/home/hardware_team/ros2_ws/src/doosan-robot2/dsr_hardware2/src/dsr_hw_interface2.cpp:201:44: warning: missing initializer for member ‘_SYSTEM_VERSION::_szController’ [-Wmissing-field-initializers]
  201 |         SYSTEM_VERSION tSysVerion = {'\0', };
      |                                            ^
/home/hardware_team/ros2_ws/src/doosan-robot2/dsr_hardware2/src/dsr_hw_interface2.cpp:201:44: warning: missing initializer for member ‘_SYSTEM_VERSION::_szInterpreter’ [-Wmissing-field-initializers]
/home/hardware_team/ros2_ws/src/doosan-robot2/dsr_hardware2/src/dsr_hw_interface2.cpp:201:44: warning: missing initializer for member ‘_SYSTEM_VERSION::_szInverter’ [-Wmissing-field-initializers]
/home/hardware_team/ros2_ws/src/doosan-robot2/dsr_hardware2/src/dsr_hw_interface2.cpp:201:44: warning: missing initializer for member ‘_SYSTEM_VERSION::_szSafetyBoard’ [-Wmissing-field-initializers]
/home/hardware_team/ros2_ws/src/doosan-robot2/dsr_hardware2/src/dsr_hw_interface2.cpp:201:44: warning: missing initializer for member ‘_SYSTEM_VERSION::_szRobotSerial’ [-Wmissing-field-initializers]
/home/hardware_team/ros2_ws/src/doosan-robot2/dsr_hardware2/src/dsr_hw_interface2.cpp:201:44: warning: missing initializer for member ‘_SYSTEM_VERSION::_szRobotModel’ [-Wmissing-field-initializers]
/home/hardware_team/ros2_ws/src/doosan-robot2/dsr_hardware2/src/dsr_hw_interface2.cpp:201:44: warning: missing initializer for member ‘_SYSTEM_VERSION::_szJTSBoard’ [-Wmissing-field-initializers]
/home/hardware_team/ros2_ws/src/doosan-robot2/dsr_hardware2/src/dsr_hw_interface2.cpp:201:44: warning: missing initializer for member ‘_SYSTEM_VERSION::_szFlangeBoard’ [-Wmissing-field-initializers]
---
Finished <<< dsr_hardware2 [12.5s]
Starting >>> dsr_controller2
[Processing: dsr_controller2]                                    
--- stderr: dsr_controller2                                       
In file included from /home/hardware_team/ros2_ws/src/doosan-robot2/dsr_controller2/include/dsr_controller2/dsr_controller2.hpp:164,
                 from /home/hardware_team/ros2_ws/src/doosan-robot2/dsr_controller2/src/dsr_controller2.cpp:10:
/home/hardware_team/ros2_ws/src/doosan-robot2/dsr_controller2/include/dsr_controller2/../../../common2/include/DRFLEx.h: In member function ‘bool DRAFramework::CDRFLEx::close_connection()’:
/home/hardware_team/ros2_ws/src/doosan-robot2/dsr_controller2/include/dsr_controller2/../../../common2/include/DRFLEx.h:407:64: warning: no return statement in function returning non-void [-Wreturn-type]
  407 |         bool close_connection() { _close_connection(_rbtCtrl); }
      |                                                                ^
/home/hardware_team/ros2_ws/src/doosan-robot2/dsr_controller2/include/dsr_controller2/../../../common2/include/DRFLEx.h: In member function ‘bool DRAFramework::CDRFLEx::set_safe_stop_reset_type(SAFE_STOP_RESET_TYPE)’:
/home/hardware_team/ros2_ws/src/doosan-robot2/dsr_controller2/include/dsr_controller2/../../../common2/include/DRFLEx.h:522:154: warning: no return statement in function returning non-void [-Wreturn-type]
  522 | YPE_DEFAULT) { _set_safe_stop_reset_type(_rbtCtrl, eResetType); }
      |                                                                 ^

In file included from /opt/ros/humble/include/rclcpp/rclcpp/logging.hpp:24,
                 from /opt/ros/humble/include/rclcpp/rclcpp/client.hpp:40,
                 from /opt/ros/humble/include/rclcpp/rclcpp/callback_group.hpp:24,
                 from /opt/ros/humble/include/rclcpp/rclcpp/any_executable.hpp:20,
                 from /opt/ros/humble/include/rclcpp/rclcpp/memory_strategy.hpp:25,
                 from /opt/ros/humble/include/rclcpp/rclcpp/memory_strategies.hpp:18,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executor_options.hpp:20,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executor.hpp:37,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executors/multi_threaded_executor.hpp:25,
                 from /opt/ros/humble/include/rclcpp/rclcpp/executors.hpp:21,
                 from /opt/ros/humble/include/rclcpp/rclcpp/rclcpp.hpp:155,
                 from /opt/ros/humble/include/controller_interface/controller_interface_base.hpp:28,
                 from /opt/ros/humble/include/controller_interface/controller_interface.hpp:22,
                 from /home/hardware_team/ros2_ws/src/doosan-robot2/dsr_controller2/include/dsr_controller2/dsr_controller2.hpp:22,
                 from /home/hardware_team/ros2_ws/src/doosan-robot2/dsr_controller2/src/dsr_controller2.cpp:10:
/home/hardware_team/ros2_ws/src/doosan-robot2/dsr_controller2/src/dsr_controller2.cpp: In lambda function:
/home/hardware_team/ros2_ws/src/doosan-robot2/dsr_controller2/src/dsr_controller2.cpp:211:55: warning: format ‘%p’ expects argument of type ‘void*’, but argument 5 has type ‘DRAFramework::CDRFLEx*’ [-Wformat=]
  211 |     RCLCPP_INFO(rclcpp::get_logger("dsr_controller2"),"movej_cb() %p", Drfl);
      |                                                       ^~~~~~~~~~~~~~~  ~~~~
      |                                                                        |
      |                                                                        DRAFramework::CDRFLEx*
/home/hardware_team/ros2_ws/src/doosan-robot2/dsr_controller2/src/dsr_controller2.cpp:211:68: note: format string is defined here
  211 | NFO(rclcpp::get_logger("dsr_controller2"),"movej_cb() %p", Drfl);
      |                                                       ~^
      |                                                        |
      |                                                        void*

/home/hardware_team/ros2_ws/src/doosan-robot2/dsr_controller2/src/dsr_controller2.cpp: In lambda function:
/home/hardware_team/ros2_ws/src/doosan-robot2/dsr_controller2/src/dsr_controller2.cpp:344:15: warning: ISO C++ forbids variable length array ‘posb’ [-Wvla]
  344 |     MOVE_POSB posb[req->pos_cnt];
      |               ^~~~
/home/hardware_team/ros2_ws/src/doosan-robot2/dsr_controller2/src/dsr_controller2.cpp: In member function ‘virtual controller_interface::CallbackReturn dsr_controller2::RobotController::on_activate(const rclcpp_lifecycle::State&)’:
/home/hardware_team/ros2_ws/src/doosan-robot2/dsr_controller2/src/dsr_controller2.cpp:1820:9: warning: ‘void* memset(void*, int, size_t)’ clearing an object of type ‘struct DR_STATE’ with no trivial copy-assignment; use assignment or value-initialization instead [-Wclass-memaccess]
 1820 |   memset(&g_stDrState, 0x00, sizeof(DR_STATE));
      |   ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/hardware_team/ros2_ws/src/doosan-robot2/dsr_controller2/src/dsr_controller2.cpp:10:
/home/hardware_team/ros2_ws/src/doosan-robot2/dsr_controller2/include/dsr_controller2/dsr_controller2.hpp:347:16: note: ‘struct DR_STATE’ declared here
  347 | typedef struct {
      |                ^
/home/hardware_team/ros2_ws/src/doosan-robot2/dsr_controller2/src/dsr_controller2.cpp: In member function ‘virtual controller_interface::return_type dsr_controller2::RobotController::update(const rclcpp::Time&, const rclcpp::Duration&)’:
/home/hardware_team/ros2_ws/src/doosan-robot2/dsr_controller2/src/dsr_controller2.cpp:1862:24: warning: unused parameter ‘time’ [-Wunused-parameter]
 1862 |   const rclcpp::Time & time, const rclcpp::Duration & /*period*/)
      |   ~~~~~~~~~~~~~~~~~~~~~^~~~
---
Finished <<< dsr_controller2 [55.8s]

Summary: 19 packages finished [2min 15s]
  5 packages had stderr output: dsr_controller2 dsr_hardware2 dsr_msgs2 gz_ros2_control_tests ign_ros2_control
SakethTecholution commented 2 weeks ago

UPDATE ON THIS ISSUE I got to know that these are just warning and when I re run colcon build it successfully finished