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

To give this an answer:

Does the catkin_make process automatically download packages identified as dependencies ???

No.

catkin_make is only responsible for building your workspace, it does not download anything.

In fact, catkin_make does not even directly build your workspace. It relies on tools like CMake to do that.

Catkin's main responsibility is to figure out in what order your packages should be built, as dependencies must be built before dependents.

The tool which is responsible for gathering the dependencies of your ROS packages is rosdep. It reads that information from all the package.xml files (ie: the manifests) in your workspace, computes which dependencies are missing from your workspace (if you specify the --ignore-src option) and then instructs other tools to actually install your dependencies (in most cases: apt and pip).

Summarising: catkin_make does not download nor install dependencies of your packages. rosdep is the tool which is supposed to do that.

See #q215059 for a more in-depth discussion on rosdep, and refer to #q217475 on why you need to duplicate (some of the) dependency information in both package.xml and CMakeLists.txt.

To give this an answer:

Does the catkin_make process automatically download packages identified as dependencies ???

No.

catkin_make is only responsible for building your workspace, it does not download anything.

In fact, catkin_make does not even directly build your workspace. It relies on tools like CMake to do that.

Catkin's main responsibility is to figure out in what which order your packages should be built, as dependencies must be built before dependents.

The tool which is responsible for gathering the dependencies of your ROS packages is rosdep. It reads that information from all the package.xml files (ie: the manifests) in your workspace, computes which dependencies are missing from your workspace (if you specify the --ignore-src option) and then instructs other tools to actually install your dependencies (in most cases: apt and pip).

Summarising: catkin_make does not download nor install dependencies of your packages. rosdep is the tool which is supposed to do that.

See #q215059 for a more in-depth discussion on rosdep, and refer to #q217475 on why you need to duplicate (some of the) dependency information in both package.xml and CMakeLists.txt.