Robotics StackExchange | Archived questions

[Fedora35] No rosdep definition for ignition-cmake2/ignition-math6

I'm trying to build ROS 2 from source on Fedora 35, following the official instructions.

In doing so, I invoke rosdep to install dependencies from the source workspace: rosdep install --from-paths src --ignore-src -y --skip-keys "fastcdr rti-connext-dds-5.3.1 urdfdom_headers"

This command produces the following error message:

ERROR: the following packages/stacks could not have their rosdep keys resolved
to system dependencies:
ignition_cmake2_vendor: No definition of [ignition-cmake2] for OS [fedora]
ignition_math6_vendor: No definition of [ignition-math6] for OS [fedora]

Indeed, ignition-cmake2 and ignition-math6 do not have released RPMs. The closest I could find was ignition-cmake/ignition-math RPMs maintained by rmattes: https://src.fedoraproject.org/rpms/ignition-cmake.

Does anyone know how to resolve this issue? Do I need to build said packages from source? Also, can I just generate RPMs and release them in lieu of the package maintainers?

Asked by aprotyas on 2021-11-29 13:40:37 UTC

Comments

Answers

Does anyone know how to resolve this issue?

There are no RPM packages for ignition-cmake2 or ignition-math6 available in any of the Fedora repositories specifically supported by the central rosdep database. You should add those key names to the --skip-keys list in the rosdep invocation. Since the packages calling for them are actually "vendor" packages, they'll download and compile the missing code automatically.

can I just generate RPMs and release them in lieu of the package maintainers?

You can certainly do that, but it probably won't help very much. The vendor packages are specifically designed to "bridge the gap" on platforms that don't have system packages available. Even if you did generate the correct RPM packages, they need to be part of one of the specific source repositories supported by rosdep for the rules to be admitted to the central rosdep database, though you could create your own database for any packages you generate and instruct rosdep to use that in addition to the central database.

Asked by cottsay on 2022-08-01 18:21:27 UTC

Comments