bosch-engineering / off_highway_sensor_drivers

This project provides ROS drivers for Bosch Off-Highway sensor systems. (Radar Off-Highway Premium, Radar OHW, General Purpose Radar Off-Highway (GPR), Ultrasonic Sensor System OHW Entry & Premium)
Other
49 stars 13 forks source link

Add missing dependency on PCL headers #9

Closed Rayman closed 4 months ago

Rayman commented 4 months ago

When I try to build this package on jazzy with rosdep, the PCL headers are missing. This package uses find_package(PCL) and includes it in the headers. Therefore I think it would be best to add it to the build_depend and build_export_depend tags of the package.xml files.

In the buildfarm this is technically not needed because the PCL headers are a build_export_depend of pcl_conversions, but rosdep ignores this dependency so it misses the PCL headers.

How to reproduce:

FROM ros:jazzy
RUN apt-get update && apt-get upgrade -y
WORKDIR /root/src
RUN git clone https://github.com/bosch-engineering/off_highway_sensor_drivers.git
WORKDIR /root
RUN rosdep install --from-paths /root/src -i -y
RUN . /opt/ros/jazzy/setup.sh && colcon build --event-handlers console_direct+
rcp1-beg commented 4 months ago

Can you sign-off your commit?

rcp1-beg commented 4 months ago

Yes, you are right, it only works as long as libpcl-dev is installed since this is - sadly - the only package / component of PCL which installs the PCL headers... I didn't see that the components like pcl-common are plain shared objects.

Your changes lgtm. It is a bit sad that one needs to install the full PCL including a JDK for visualization just to include types from it.

Under humble libpcl-dev was installed by pcl_ros 2.4.0.

Rayman commented 4 months ago

I've signed my commit now.

Note that libpcl-dev is only installed during build. For runtime its not needed (no exec_depend)