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

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions