I’m happy to announce the latest updates for ROS 2 Crystal Clemmys.
Package Updates for crystal
Added Packages [7]:
Updated Packages [8]:
-
ros-crystal-librealsense2: 2.16.5-1 -> 2.16.5-2
- ros-crystal-librealsense2-dbgsym: 2.16.5-1 -> 2.16.5-2
- ros-crystal-object-analytics-msgs: 0.5.2-0 -> 0.5.3-0
- ros-crystal-object-analytics-msgs-dbgsym: 0.5.2-0 -> 0.5.3-0
- ros-crystal-object-analytics-node: 0.5.2-0 -> 0.5.3-0
- ros-crystal-object-analytics-node-dbgsym: 0.5.2-0 -> 0.5.3-0
- ros-crystal-object-analytics-rviz: 0.5.2-0 -> 0.5.3-0
- ros-crystal-object-analytics-rviz-dbgsym: 0.5.2-0 -> 0.5.3-0
Removed Packages [0]:
Thanks to all ROS maintainers who make packages available to the ROS community. The above list of packages was made possible by the work of the following maintainers:
- AWS RoboMaker
- Bence Magyar
- Chris Ye
- Daniel Stonier
- Ralph Lange
- Sergey Dorodnicov
2 Likes
I’m sorry, I made a copy+paste error in the CMakeLists.txt of fmi_adapter in this release: The shared library (libfmi_adapter.so) is installed in crystal/lib/fmi_adapter (just as the node executable) rather than crystal/lib. Meanwhile, it is fixed: https://github.com/boschresearch/fmi_adapter_ros2/commit/936c52fbf2f58e71e1c2a96767e39f5f8f7a169c
@nuclearsandwich This type of error is detected neither by local unit tests nor on the build farm? What do you think, should I open an issue on https://github.com/ros-infrastructure/ros_buildfarm for that?
The unit tests can’t detect the bug because they use the executable from the CMAKE_BINARY_DIR
and that binary uses a full RPATH to the library.
When you are installing the executable CMake is clearing full RPATH to instead rely on LD_LIBRARY_PATH
. And since the path <prefix>/lib/fmi_adapter
is not listed in that environment variable it will fail to find the library.
As a consequence also the ros_buildfarm
has no way to check for this.
If you would like add tests covering your installed packages you could create a separate package test_fmi_adapter
which depends on fmi_adapter
and contains tests which ensure that the installed package fmi_adapter
is working as desired. (In the release process using bloom you usually want to skip the test_fmi_adapter
package from being released to avoid a Debian package being created for it. This can be configured in the release repository.)
2 Likes
Thank you for the detailed explanation, @dirk-thomas. With it, I was able to reproduce the bug from a second package (the existing fmi_adapter_examples package), but only when not using colcon’s --symlink-install
option. (Many thanks to @karsten for the hint on this option.)
1 Like