Skip to content

Pre-build msg packages with micro-ROS typesupport before full build#820

Merged
EugenioCollado merged 1 commit into
jazzyfrom
5.0.3-vulcanexus
Jul 7, 2026
Merged

Pre-build msg packages with micro-ROS typesupport before full build#820
EugenioCollado merged 1 commit into
jazzyfrom
5.0.3-vulcanexus

Conversation

@David-LP99

Copy link
Copy Markdown

Problem

The host build (config/host/generic/build.sh) builds the micro-ROS
XRCE-DDS typesupport generators (rosidl_typesupport_microxrcedds_c/_cpp),
sources them, then runs a single full-workspace colcon build.

builtin_interfaces, unique_identifier_msgs, service_msgs, and
action_msgs are pulled in implicitly by rosidl's action/service code
expansion for many interface packages, but those dependent packages don't
declare them in package.xml. As a result, colcon's normal
dependency-ordered build can resolve these four packages from the system
/opt/ros/jazzy install instead of building them in the workspace.

The system versions were built without rosidl_typesupport_microxrcedds_c
available (it's a micro-ROS-only generator, not part of stock ROS 2), so
they have no micro-ROS XRCE-DDS typesupport compiled in. Any package that
needs microxrcedds typesupport for these message types then fails to link.

Fix

  • Explicitly pre-build builtin_interfaces, unique_identifier_msgs,
    service_msgs, action_msgs (in that dependency order) after the
    microxrcedds typesupport generators are already on the path, so rosidl
    regenerates and compiles the microxrcedds typesupport for them.
  • Re-source install/local_setup.bash afterward so CMAKE_PREFIX_PATH
    prefers these workspace-built versions over /opt/ros/jazzy in the
    subsequent full workspace build.

Testing

  • Host build completes without link errors for packages depending on
    action/service interfaces.
  • Confirm the resulting install/ typesupport libs for the four
    packages include microxrcedds symbols (not just the system ones).

Signed-off-by: David Laseca Perez <davidlaseca@eprosima.com>
@David-LP99 David-LP99 requested a review from pablogs9 as a code owner July 6, 2026 09:28
@David-LP99 David-LP99 requested review from EugenioCollado and removed request for pablogs9 July 6, 2026 09:28
@mergify

mergify Bot commented Jul 6, 2026

Copy link
Copy Markdown
Contributor

Tick the box to add this pull request to the merge queue (same as @mergifyio queue).

  • Queue this pull request

@EugenioCollado EugenioCollado left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@EugenioCollado EugenioCollado merged commit 4e0e9ae into jazzy Jul 7, 2026
53 of 56 checks passed
@EugenioCollado EugenioCollado deleted the 5.0.3-vulcanexus branch July 7, 2026 06:25
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