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

rosdep is used to install system and package dependencies (in a workspace)

asked 2018-04-04 12:11:13 -0500

nbro gravatar image

updated 2018-04-04 12:17:08 -0500

According to the documentation,

rosdep is a command-line tool for installing system dependencies.

In the same documentation article, it is stated that rosdep can also be used to install dependencies of all packages in the workspace.

First of all, what is a system dependency? What isn't a system dependency? Can rosdep both be used to install system dependencies and package dependencies?

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
1

answered 2018-04-04 13:06:18 -0500

gvdhoorn gravatar image

updated 2018-04-05 01:42:22 -0500

First of all, what is a system dependency?

Anything (ie: library or other installable artefact) not a ROS package.

What isn't a system dependency?

Anything that is a ROS package (ie: has a package manifest and a build script that uses Catkin).

Can rosdep both be used to install system dependencies and package dependencies?

Yes. It does this by default.

With a workspace containing ROS packages and the following invocation:

rosdep install --ignore-packages-from-source --from-paths $CATKIN_WS/src

rosdep will check for all package manifests what the build and run depends are, whether those are ROS packages or not, if they are, whether they are present in the workspace, and all dependencies that are left (both ROS pkgs and system dependencies) are then installed using the platform's package manager (see #q215059).


Edit:

I can install a ROS package only using rosdep, right? Or can I also use another tool (e.g. apt)?

I would say that the typical way to install ROS packages (on Ubuntu and Debian at least) would/should be using apt (it is also used in the official installation tutorials). That is, if you know that the package is released for a specific ROS version and OS. Personally I only use rosdep to install dependencies (whether system or regular ROS pkg) for packages in my catkin workspace. For packages that you install using apt, using rosdep makes no sense as apt will already install all dependencies.

edit flag offensive delete link more

Comments

I can install a ROS package only using rosdep, right? Or can I also use another tool (e.g. apt)?

nbro gravatar image nbro  ( 2018-04-04 15:37:50 -0500 )edit

What do you mean by "regular ROS"?

nbro gravatar image nbro  ( 2018-04-04 15:54:16 -0500 )edit

I left off a word: it should have read "regular ROS package".

Fixed.

gvdhoorn gravatar image gvdhoorn  ( 2018-04-05 01:42:49 -0500 )edit

Question Tools

2 followers

Stats

Asked: 2018-04-04 12:11:13 -0500

Seen: 881 times

Last updated: Apr 05 '18