Skip to content

Sudden humble build failures due to fastcdr changes #240

@Ryanf55

Description

@Ryanf55

Describe the bug

I can no longer build. This has broken ArduPilot's CI, impacting our entire development team's ability to merge PR's.

To Reproduce
Steps to reproduce the behaviour:

  1. Clone this repo with the humble branch in a workspace
  2. Run colcon build
  3. Observe the output
ryan@B650-970:~/Dev/ardu_ws$ colcon build --packages-up-to micro_ros_agent
Starting >>> micro_ros_agent
--- stderr: micro_ros_agent                             
Cloning into 'xrceagent'...
Switched to a new branch 'ros2'
CMake Error at CMakeLists.txt:153 (find_package):
  By not providing "Findfastcdr.cmake" in CMAKE_MODULE_PATH this project has
  asked CMake to find a package configuration file provided by "fastcdr", but
  CMake did not find one.

  Could not find a package configuration file provided by "fastcdr"
  (requested version 2) with any of the following names:

    fastcdrConfig.cmake
    fastcdr-config.cmake

  Add the installation prefix of "fastcdr" to CMAKE_PREFIX_PATH or set
  "fastcdr_DIR" to a directory containing one of the above files.  If
  "fastcdr" provides a separate development package or SDK, be sure it has
  been installed.


gmake[5]: *** [CMakeFiles/uagent.dir/build.make:93: uagent-prefix/src/uagent-stamp/uagent-configure] Error 1
gmake[4]: *** [CMakeFiles/Makefile2:83: CMakeFiles/uagent.dir/all] Error 2
gmake[3]: *** [Makefile:91: all] Error 2
gmake[2]: *** [CMakeFiles/xrceagent.dir/build.make:86: agent/src/xrceagent-stamp/xrceagent-build] Error 2
gmake[1]: *** [CMakeFiles/Makefile2:85: CMakeFiles/xrceagent.dir/all] Error 2
gmake: *** [Makefile:91: all] Error 2
---
Failed   <<< micro_ros_agent [3.18s, exited with code 2]

Summary: 0 packages finished [3.90s]
  1 package failed: micro_ros_agent
  1 package had stderr output: micro_ros_agent

Expected behaviour

A stable humble branch won't have ABI breaks under our feet.

System information (please complete the following information):

  • OS: Ubuntu 22
  • ROS 2: ROS 2 humble
  • Version 1cb265e, tag 3.0.6, branch humble

Additional context
https://github.com/ArduPilot/ardupilot/actions/runs/12014292947/job/33489746378?pr=28734#step:11:24

ryan@B650-970:~/Dev/ardu_ws/src/micro_ros_agent$ apt search fastcdr | grep installed

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

ros-humble-fastcdr/jammy,now 1.0.24-2jammy.20240728.192110 amd64 [installed,automatic]
ros-rolling-fastcdr/jammy,now 1.1.0-1jammy.20240124.150453 amd64 [installed,automatic]

In build/micro_ros_agent/agent/src/xrceagent/CMakeLists.txt


if(UAGENT_USE_SYSTEM_FASTCDR)
    set(_fastcdr_version 2)
else()
    set(_fastcdr_version 2.2.0)
    set(_fastcdr_tag 2.2.x)
endif()

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions