ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange |
1 | initial version |
Short answer
You don't need to use rosdep, but it simplifies and speeds things up a lot.
Long answer
First of, I'll quote the rosdep docs:
rosdep is a command-line tool for installing system dependencies. For end-users, rosdep helps you install system dependencies for software that you are building from source. For developers, rosdep simplifies the problem of installing system dependencies on different platforms. Instead of having to figure out which debian package on Ubuntu Oneiric contains Boost, you can just specify a dependency on 'boost'. rosdep is supported on a variety of platforms/package managers:
- Ubuntu (apt)
- Debian (apt)
- OS X (Homebrew)
- Red Hat Enterprise Linux (rpm/experimental)
- Arch (pacman/experimental)
- Gentoo (equery/experimental)
- Slackware (sbotools/experimental)
- Cygwin (experimental)
Basically, rosdep is a utility to easily install dependencies that are released as (Debian, for Ubuntu/Debian) packages (or sometimes as python packages via pip) when building something from source.
You don't need to use rosdep, it just makes life easier when installing something from source and it is cross-platform. So, if you are developing cross-platform, you can stick to one workflow.
On ubuntu, rosdep
is in the end just calling apt
(or in a few occasions pip
) to install the realeased packages you need.
You could do this manually, but would have to check the docs of the packages you want to compile, or the package.xml
.
So what to use when? (my personal stance, others might differ, and not in any specific order)
apt
apt
apt
: pip
rosdep