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

Revision history [back]

click to hide/show revision 1
initial version

It's still possible, but I doubt it will make sense.

Any leaf package will depend on packages higher up in the dependency tree. Core packages are almost at the root.

If you've built ROS 2 from sources, you'll not have any of those core packages. apt cannot resolve dependencies by looking at your files (ie: your colcon_ws), it only knows what it has installed itself (by default).

Ergo: if you try to install a leaf(ish) package while having none of the core(ish) packages, apt will start installing everything needed to satisfy dependencies of your lead(ish) package.

This is not ROS 2 specific btw: the same situation exists in ROS 1 (and everywhere else you try to mix .debs with from-source builds).

PS: comparing to what @shonigmann wrote: a from-source built ROS 2 base install cannot function as an underlay for further apt installs (well, technically it's possibly by tricking apt, but I doubt you should do this if you're asking these kinds of questions).

Can you apt-install those or do they need to be built from source as well? This also applies if the core ROS2 is built from the source? (because reasons), Can you then still install extra packages with apt?

It's still possible, but I doubt it will make sense.

Any leaf package will depend on packages higher up in the dependency tree. Core packages are almost at the root.

If you've built ROS 2 from sources, you'll not have any of those core packages. apt cannot resolve dependencies by looking at your files (ie: your colcon_ws), it only knows what it has installed itself (by default).

Ergo: if you try to install a leaf(ish) package while having none of the core(ish) packages, apt will start installing everything needed to satisfy dependencies of your lead(ish) package.

This is not ROS 2 specific btw: the same situation exists in ROS 1 (and everywhere else you try to mix .debs with from-source builds).

PS: comparing to what @shonigmann wrote: a from-source built ROS 2 base install cannot function as an underlay for further apt installs (well, technically it's possibly by tricking apt, but I doubt you should do this if you're asking these kinds of questions).