|
2 | 2 | Changelog for package cloudini_lib |
3 | 3 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
4 | 4 |
|
| 5 | +Forthcoming |
| 6 | +----------- |
| 7 | +* fix(cmake): link libzstd.so in ROS builds instead of non-PIC libzstd.a |
| 8 | + The IMPORTED_LOCATION set_property hack on STATIC IMPORTED targets is ignored |
| 9 | + by CMake at link time. The correct fix: explicitly select zstd::libzstd_shared |
| 10 | + (always PIC) over zstd::libzstd_static (system libzstd.a, not PIC) when |
| 11 | + building in ament context where cloudini_lib is compiled as a shared library. |
| 12 | + Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> |
| 13 | +* fix(cmake): override all IMPORTED_LOCATION variants for system zstd to use shared lib |
| 14 | + The zstd cmake config sets IMPORTED_LOCATION_RELEASE in addition to |
| 15 | + IMPORTED_LOCATION; CMake checks config-specific properties first so overriding |
| 16 | + only IMPORTED_LOCATION was insufficient. Override all four config variants so |
| 17 | + cloudini_lib.so links against libzstd.so (PIC) instead of libzstd.a (non-PIC). |
| 18 | + Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> |
| 19 | +* fix(cmake): fix two more buildfarm failures exposed by FETCHCONTENT_FULLY_DISCONNECTED |
| 20 | + Jazzy (Noble) - libzstd.a not compiled with -fPIC: |
| 21 | + System libzstd.a from libzstd-dev cannot be embedded in libcloudini_lib.so |
| 22 | + (shared library). Redirect zstd::libzstd_static to point to libzstd.so when |
| 23 | + both static and shared targets are available from the system package. |
| 24 | + Humble - mcap_vendor types.inl missing: |
| 25 | + ros-humble-mcap-vendor installs types.hpp that #include "types.inl" but |
| 26 | + types.inl is absent from the installed headers. The mcap rosbag/cutter tools |
| 27 | + are standalone utilities, not ROS nodes; skip building them when ament_cmake |
| 28 | + is found. Move find_or_download_mcap() inside the tools block so mcap is only |
| 29 | + fetched/linked in standalone builds where CPM downloads work. |
| 30 | + Also remove mcap_vendor and libcxxopts-dev from package.xml build_depends |
| 31 | + since neither is needed when tools are not built in ROS context. |
| 32 | + Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> |
| 33 | +* fix(cmake): use system LZ4/ZSTD packages in ROS builds instead of CPM |
| 34 | + Three bugs prevented the find_package fallbacks in find_or_download_zstd/lz4 |
| 35 | + from ever running: |
| 36 | + 1. set(CLOUDINI_FORCE_VENDORED_DEPS OFF FORCE) without CACHE created the |
| 37 | + value "OFF;FORCE" (truthy) instead of "OFF" |
| 38 | + 2. find_or_download_zstd/lz4 called with the literal string |
| 39 | + "CLOUDINI_FORCE_VENDORED_DEPS" instead of ${CLOUDINI_FORCE_VENDORED_DEPS}, |
| 40 | + so FORCE_VENDORED was always a truthy non-empty string and if(NOT |
| 41 | + FORCE_VENDORED) was permanently false |
| 42 | + 3. Ubuntu Jammy liblz4-dev has no cmake config file, so find_package(lz4 |
| 43 | + CONFIG) and find_package(LZ4) both fail; add find_library fallback |
| 44 | + Together these caused CPM to always attempt GitHub downloads — blocked on the |
| 45 | + ROS buildfarm and now caught locally by FETCHCONTENT_FULLY_DISCONNECTED=ON. |
| 46 | + Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> |
| 47 | +* fix(ci): add FETCHCONTENT_FULLY_DISCONNECTED=ON to match ROS buildfarm behavior |
| 48 | + Pass -DFETCHCONTENT_FULLY_DISCONNECTED=ON through colcon-defaults in both |
| 49 | + Jazzy and Humble workflows so CPM/FetchContent download attempts fail in CI |
| 50 | + before reaching build.ros2.org. |
| 51 | + Also include the cmake fixes that triggered this investigation: |
| 52 | + - find_or_download_mcap: prefer system mcap_vendor before CPM download |
| 53 | + - tools/CMakeLists.txt: prefer system cxxopts before CPM download |
| 54 | + - package.xml: add libcxxopts-dev build_depend for buildfarm rosdep install |
| 55 | + Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> |
| 56 | +* Contributors: Davide Faconti |
| 57 | + |
5 | 58 | 1.0.1 (2026-03-01) |
6 | 59 | ------------------ |
7 | 60 | * fix(ci): use correct rosdep key libpcl-all-dev for PCL |
|
0 commit comments