Skip to content

Remove ament_cmake_ros dependency#226

Merged
ahcorde merged 1 commit intoros:rollingfrom
nvcyc:rolling-native-buffer
Mar 18, 2026
Merged

Remove ament_cmake_ros dependency#226
ahcorde merged 1 commit intoros:rollingfrom
nvcyc:rolling-native-buffer

Conversation

@nvcyc
Copy link
Copy Markdown
Contributor

@nvcyc nvcyc commented Mar 17, 2026

The dependent ament_cmake_ros package transitively pulls in RMW-layer packages which is unnecessarily heavy to class_loader that is supposed to be an independent plugin loading library.

This PR removes the ament_cmake_ros dependency and replaces with a plain ament_cmake with an explicit SHARED library type to keep the dependency minimal.

As a side note, this fix is also required when introducing the rosidl::Buffer feature to the RMW layer where pluginlib will be used to load buffer backends.

Without this fix, the following circular dependency will be formed:
class_loader -> ament_cmake_ros -> rmw_test_fixture_implementation -> ... -> rmw_fastrtps_cpp -> rosidl_buffer_backend_registry -> pluginlib -> class_loader

The dependent ament_cmake_ros package transitively pulls in RMW-layer packages which is unnecessarily heavy to class_loader that is supposed to be an independent plugin loading library. This commit removes the ament_cmake_ros dependency and replaces with a plain ament_cmake with an explicit SHARED library type to keep the dependency minimal.

Signed-off-by: CY Chen <cyc@nvidia.com>
@ahcorde
Copy link
Copy Markdown
Contributor

ahcorde commented Mar 18, 2026

Pulls: #226
Gist: https://gist.githubusercontent.com/ahcorde/a596624759d7541114bbc3454655df62/raw/6d32899428d89727662a8c4345bb2d0f780b6067/ros2.repos
BUILD args: --packages-above-and-dependencies class_loader
TEST args: --packages-above class_loader
ROS Distro: rolling
Job: ci_launcher
ci_launcher ran: https://ci.ros2.org/job/ci_launcher/18543

  • Linux Build Status
  • Linux-aarch64 Build Status
  • Linux-rhel Build Status
  • Windows Build Status

@ahcorde ahcorde merged commit 0047511 into ros:rolling Mar 18, 2026
5 checks passed
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