Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

controller_manager package faild to build using colcon build - ROS2 Humble on Ubuntu 22.04 #1178

Open
1 task done
Vineela0808 opened this issue Nov 6, 2024 · 0 comments

Comments

@Vineela0808
Copy link

Vineela0808 commented Nov 6, 2024

Affected ROS2 Driver version(s)

controller_manager

Used ROS distribution.

Humble

Which combination of platform is the ROS driver running on.

Ubuntu Linux with standard kernel

How is the UR ROS2 Driver installed.

Build both the ROS driver and UR Client Library from source

Which robot platform is the driver connected to.

UR E-series robot

Robot SW / URSim version(s)

UR16E

How is the ROS driver used.

Through the robot teach pendant using External Control URCap

Issue details

I installed ROS2 Humble on Ubuntu 22.04 (on Nvidia Jetson Orin Nano using JetsonPack 6.0) as instructed on the official ROS2 webpage. It works fine and I also tried examples. Now, I'm trying to install UR drivers for humble and when I'm trying to colcon build, I'm getting the following error [Please check log output for full error]:

[Processing: controller_manager]
[Processing: controller_manager]
[Processing: controller_manager]
--- stderr: controller_manager
/usr/lib/python3/dist-packages/setuptools/command/install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools.
warnings.warn(
/home/nyu/workspace/ros_ur_driver/src/ros2_control/controller_manager/src/ros2_control_node.cpp: In function ‘int main(int, char**)’:
/home/nyu/workspace/ros_ur_driver/src/ros2_control/controller_manager/src/ros2_control_node.cpp:50:50: error: ‘set_current_thread_affinity’ is not a member of ‘realtime_tools’
50 | const auto affinity_result = realtime_tools::set_current_thread_affinity(cpu_affinity);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/nyu/workspace/ros_ur_driver/src/ros2_control/controller_manager/src/ros2_control_node.cpp:59:39: error: ‘lock_memory’ is not a member of ‘realtime_tools’
59 | if (lock_memory && !realtime_tools::lock_memory(message))
| ^~~~~~~~~~~
gmake[2]: *** [CMakeFiles/ros2_control_node.dir/build.make:76: CMakeFiles/ros2_control_node.dir/src/ros2_control_node.cpp.o] Error 1
gmake[1]: *** [CMakeFiles/Makefile2:234: CMakeFiles/ros2_control_node.dir/all] Error 2
gmake[1]: *** Waiting for unfinished jobs....
gmake: *** [Makefile:146: all] Error 2

Failed <<< controller_manager [1min 48s, exited with code 2]

Summary: 17 packages finished [7min 33s]
1 package failed: controller_manager
2 packages had stderr output: controller_manager ur_client_library
28 packages not processed

Relevant log output

nyu@nyu-desktop:~/workspace/ros_ur_driver$ colcon build --cmake-args -DCMAKE_BUILD_TYPE=Release
[0.956s] WARNING:colcon.colcon_core.package_selection:Some selected packages are already built in one or more underlay workspaces:
	'control_msgs' is in: /opt/ros/humble
	'joint_state_broadcaster' is in: /opt/ros/humble
	'joint_trajectory_controller' is in: /opt/ros/humble
	'gripper_controllers' is in: /opt/ros/humble
If a package in a merged underlay workspace is overridden and it installs headers, then all packages in the overlay must sort their include directories by workspace order. Failure to do so may result in build failures or undefined behavior at run time.
If the overridden package is used by another package in any underlay, then the overriding package in the overlay must be API and ABI compatible or undefined behavior at run time may occur.

If you understand the risks and want to override a package anyways, add the following to the command line:
	--allow-overriding control_msgs gripper_controllers joint_state_broadcaster joint_trajectory_controller

This may be promoted to an error in a future release of colcon-override-check.
Starting >>> control_msgs
Starting >>> ros2_control_test_assets
Starting >>> controller_manager_msgs
Starting >>> ur_dashboard_msgs
Starting >>> ur_description
Starting >>> ur_msgs
Finished <<< ros2_control_test_assets [3.60s]                     
Starting >>> ros2_controllers_test_nodes
Finished <<< ur_description [4.29s]                               
Starting >>> kinematics_interface
Finished <<< ros2_controllers_test_nodes [3.64s]                  
Starting >>> ur_client_library                                       
[Processing: control_msgs, controller_manager_msgs, kinematics_interface, ur_client_library, ur_dashboard_msgs, ur_msgs]
[Processing: control_msgs, controller_manager_msgs, kinematics_interface, ur_client_library, ur_dashboard_msgs, ur_msgs]
Finished <<< kinematics_interface [1min 21s]
Starting >>> kinematics_interface_kdl
Finished <<< ur_msgs [1min 30s]             
Starting >>> joint_limits
Finished <<< ur_dashboard_msgs [1min 38s]   
Starting >>> ur_moveit_config
Finished <<< controller_manager_msgs [1min 39s]
Finished <<< ur_moveit_config [2.86s]       
--- stderr: ur_client_library               
/home/nyu/workspace/ros_ur_driver/src/Universal_Robots_Client_Library/src/ur/ur_driver.cpp: In member function ‘void urcl::UrDriver::setKeepaliveCount(uint32_t)’:
/home/nyu/workspace/ros_ur_driver/src/Universal_Robots_Client_Library/src/ur/ur_driver.cpp:593:40: warning: ‘virtual void urcl::control::ReverseInterface::setKeepaliveCount(uint32_t)’ is deprecated: Set keepaliveCount is deprecated, instead use the robot receive timeout directly in the write commands. [-Wdeprecated-declarations]
  593 |   reverse_interface_->setKeepaliveCount(count);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
In file included from /home/nyu/workspace/ros_ur_driver/src/Universal_Robots_Client_Library/include/ur_client_library/ur/ur_driver.h:34,
                 from /home/nyu/workspace/ros_ur_driver/src/Universal_Robots_Client_Library/src/ur/ur_driver.cpp:34:
/home/nyu/workspace/ros_ur_driver/src/Universal_Robots_Client_Library/include/ur_client_library/control/reverse_interface.h:142:3: note: declared here
  142 |   setKeepaliveCount(const uint32_t count);
      |   ^~~~~~~~~~~~~~~~~
---
Finished <<< ur_client_library [1min 52s]
Finished <<< joint_limits [42.8s]           
[Processing: control_msgs, kinematics_interface_kdl]
Finished <<< kinematics_interface_kdl [1min 18s]
Finished <<< control_msgs [3min 13s]                                
Starting >>> hardware_interface
Starting >>> rqt_joint_trajectory_controller
Finished <<< rqt_joint_trajectory_controller [2.08s]                           
[Processing: hardware_interface]                                    
[Processing: hardware_interface]                                        
Finished <<< hardware_interface [1min 9s]                                
Starting >>> controller_interface
Starting >>> hardware_interface_testing
Starting >>> transmission_interface
[Processing: controller_interface, hardware_interface_testing, transmission_interface]
[Processing: controller_interface, hardware_interface_testing, transmission_interface]
Finished <<< hardware_interface_testing [1min 10s]
Finished <<< controller_interface [1min 22s] 
Starting >>> controller_manager
Finished <<< transmission_interface [1min 34s]
[Processing: controller_manager]                                    
[Processing: controller_manager]                                         
[Processing: controller_manager]                                         
--- stderr: controller_manager                                           
/usr/lib/python3/dist-packages/setuptools/command/install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools.
  warnings.warn(
/home/nyu/workspace/ros_ur_driver/src/ros2_control/controller_manager/src/ros2_control_node.cpp: In function ‘int main(int, char**)’:
/home/nyu/workspace/ros_ur_driver/src/ros2_control/controller_manager/src/ros2_control_node.cpp:50:50: error: ‘set_current_thread_affinity’ is not a member of ‘realtime_tools’
   50 |     const auto affinity_result = realtime_tools::set_current_thread_affinity(cpu_affinity);
      |                                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/nyu/workspace/ros_ur_driver/src/ros2_control/controller_manager/src/ros2_control_node.cpp:59:39: error: ‘lock_memory’ is not a member of ‘realtime_tools’
   59 |   if (lock_memory && !realtime_tools::lock_memory(message))
      |                                       ^~~~~~~~~~~
gmake[2]: *** [CMakeFiles/ros2_control_node.dir/build.make:76: CMakeFiles/ros2_control_node.dir/src/ros2_control_node.cpp.o] Error 1
gmake[1]: *** [CMakeFiles/Makefile2:234: CMakeFiles/ros2_control_node.dir/all] Error 2
gmake[1]: *** Waiting for unfinished jobs....
gmake: *** [Makefile:146: all] Error 2
---
Failed   <<< controller_manager [1min 48s, exited with code 2]

Summary: 17 packages finished [7min 33s]
  1 package failed: controller_manager
  2 packages had stderr output: controller_manager ur_client_library
  28 packages not processed
nyu@nyu-desktop:~/workspace/ros_ur_driver$

Accept Public visibility

  • I agree to make this context public
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant