chore(nebula_ros): specify library destination for install targets #261
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
PR Type
Improvement
Description
This PR introduces a minimal delta needed to enable the installation of shared libraries corresponding to the composable node targets for the differet ros wrappers into
/opt/ros/<distro>/lib
instead of/opt/ros/<distro>/x86_64-linux-gnu/
.This installation path matters when the ROS wrappers for the lidar drivers are used as composable nodes, the relevant shared libraries are reported as unavailable. Here are some details:
I created a binary release of this package locally using bloom using the following steps:
(Do a source build of
nebula_ros
package following the instructions on README)Without the changes in this PR
The
lib<lidar_type>_ros_wrapper.so
files get installed under/opt/ros/<distro>/lib/x86_64-linux-gnu/
. And when I try to test the composable node versions of the ROS wrappers using:I get the following error:
It is the same error type for other ROS wrappers too.
With the changes in this PR
The
lib<lidar_type>_ros_wrapper.so
files get installed under/opt/ros/<distro>/lib
. And when I try to test the composable node versions of the ROS wrappers using:The composable node is loaded successfully
Review Procedure
The errors I mention in the description are reproducible with the commands I have posted above. Then, with the changes in this PR, one can verify that the shared libraries are installed at the location desired by the composable node infrastructure i.e.,
/opt/ros/<distro>/lib
.Remarks
There are a few additional changes I can think of which are mostly with improving readability. For example"
CMakeLists.txt
ofnebula_ros
:can be consolidated to:
<lidar_type>_ros_wrapper.cpp
could be modifed in accordance with common practice across other ROS2 packages like this:And accordingly register them in the
CMakeLists.txt
as:Pre-Review Checklist for the PR Author
PR Author should check the checkboxes below when creating the PR.
Checklist for the PR Reviewer
Reviewers should check the checkboxes below before approval.
Post-Review Checklist for the PR Author
PR Author should check the checkboxes below before merging.
CI Checks