Skip to content

ROS2 Jazzy build fix#24

Open
AllenIsaacJose wants to merge 1 commit intococel-postech:masterfrom
AllenIsaacJose:patch-1
Open

ROS2 Jazzy build fix#24
AllenIsaacJose wants to merge 1 commit intococel-postech:masterfrom
AllenIsaacJose:patch-1

Conversation

@AllenIsaacJose
Copy link

To prevent colcon build error, add ament_index_cpp to ament_target_dependencies

To prevent colcon build error, add ament_index_cpp to ament_target_dependencies
@Daehan2Lee
Copy link
Member

Could you add a bit more detail about the environment where the build error occurred?

@AllenIsaacJose
Copy link
Author

Ubuntu 24.04
ROS2 Jazzy

@Daehan2Lee
Copy link
Member

genz-icp is implemented based on ros2 humble.

While the build may succeed in ros2 jazzy after adding the dependency you added, wouldn't there still be potential issues when running the node?

I tested it on ubuntu24 with ros2 jazzy — although the build completed successfully after including the dependency, I encountered the following error during node launch.

[ERROR] [odometry_node-1]: process has died [pid 11945, exit code -11, cmd '/home/daehanlee/genz_icp_ws/install/genz_icp/lib/genz_icp/odometry_node --ros-args -r __node:=odometry_node --params-file /tmp/launch_params_a2ecx78x -r pointcloud_topic:=/velodyne_points'].
[ERROR] [rviz2-2]: process has died [pid 11946, exit code -11, cmd '/opt/ros/jazzy/lib/rviz2/rviz2 -d /home/daehanlee/genz_icp_ws/install/genz_icp/share/genz_icp/rviz/genz_icp_ros2.rviz --ros-args'].

@AllenIsaacJose
Copy link
Author

AllenIsaacJose commented Jun 5, 2025

You are right. I just tested it now and it fails to run. Are there any major ROS related changes in genz-icp as compared to kiss-icp? Because, I am able to run kiss-icp in ROS2 Jazzy.

[ERROR] [1749131920.671830949] [odometry_node]: Class rclcpp_components::NodeFactoryTemplate<genz_icp_ros::OdometryServer> not found in library libodometry_component.so

It works if you start it as a component, but not if as a node.

ros2 component standalone genz_icp genz_icp_ros::OdometryServer
ros2 run genz_icp odometry_node

UPDATE: This part is solved. Because I had both kiss-icp and genz-icp on my system and both use the same library name libodometry_component.so which caused the system to not being able to identify the library of genz-icp. Renaming the library name within genz-icp's CMakeLists.txt fixed the issue.

Now i am able to subscribe and visualize the genz-icp odometry

@AllenIsaacJose AllenIsaacJose changed the title Update CMakeLists.txt ROS2 Jazzy build fix Jul 22, 2025
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

Successfully merging this pull request may close these issues.

2 participants