ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Catkin and system dependencies: build- versus run-time?

asked 2016-02-19 08:07:40 -0500

kyrofa gravatar image

updated 2017-03-06 09:35:07 -0500

Catkin packages have both build- and run-time dependency lists (and v2 of the package.xml format seems to have more). However, rosdep doesn't seem capable of telling the difference between the types of dependencies-- it just gives them all. If I wanted to query a package for only its run-time dependencies or build-time dependencies, how would I go about it? Is there a tool that would help me?

Note that I'm only referring to source here: given the source of a ROS package, I want to determine both its run- and build-time dependencies separately. For example, how does bloom extract them such that the binary Debian package only depends upon the run-time dependencies?

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted

answered 2017-03-06 01:31:16 -0500

sam26 gravatar image

To the best of my knowledge,apt-cache depends is going to list out the run time dependencies, but you have to manually check the manifest file for the build dependencies.

edit flag offensive delete link more


Indeed, though I'm really looking to obtain this information given the source of a ROS package. How does bloom extract the run-time dependencies from the package such that the Debian package depends upon them and not the build-time dependencies?

kyrofa gravatar image kyrofa  ( 2017-03-06 09:32:59 -0500 )edit

Fly-by a few years later: there is a PR to allow requesting rosdep a specific type of dependency, not sure if it supports format 2 and 3 though. In ROS2 there's also ros2 pkg xml but it like the previous PR it just gives you the straight xml tags and doesnt do logic like "you asked for all runtime dependencies, <depend> means build and runtime dependency so I'll print those too". So no complete solution yet but some intermediary ones available

marguedas gravatar image marguedas  ( 2020-02-21 19:32:26 -0500 )edit

Yeah really the best tool I've found for this these days is just using catkin_pkg directly (which is how bloom works). Sadly I learned that too late for the project for which I wanted this answer, but I'll go back and fix it at some point.

kyrofa gravatar image kyrofa  ( 2020-02-21 22:54:59 -0500 )edit

Question Tools



Asked: 2016-02-19 08:07:40 -0500

Seen: 591 times

Last updated: Mar 06 '17