ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange |
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
.
2 | No.2 Revision |
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
.