Cross-posting from ros - Listing system dependencies from a package: "rospack depends" vs "rosdep keys" - Robotics Stack Exchange
I’m on ROS noetic (Ubuntu 20.04) and I’m trying to get a list of dependencies used by our system. For a given package, let’s say my_can_pkg
which is compiled in my current catkin workspace, the list of dependencies output by rospack depends
and rosdep keys
(or rosdep install -s
) is different.
As an example, here’s the output when I run rospack depends my_can_pkg
:
catkin
genmsg
genpy
cpp_common
rostime
roscpp_traits
roscpp_serialization
message_runtime
gencpp
geneus
gennodejs
genlisp
message_generation
rosbuild
rosconsole
std_msgs
rosgraph_msgs
xmlrpcpp
roscpp
rosgraph
ros_environment
rospack
roslib
rospy
Here is the output when I run rosdep keys my_can_pkg -i
:
python3-yapf-pip
python3-tabulate
python3-autoflake-pip
python3-isort-pip
python3-tqdm
python3-canmatrix
canopen-pip
python-attrs-pip
Why are the 2 sets of dependencies disjointed? Not a single dependency is common between the two lists, why is that?
EDIT: Here are the dependency declarations in the package.xml
file
<buildtool_depend>catkin</buildtool_depend>
<depend>rospy</depend>
<depend>canopen-pip</depend>
<depend>python-attrs-pip</depend>
<depend>python3-tqdm</depend>
<depend>python3-tabulate</depend>
<depend>python3-canmatrix</depend>
<depend>python3-autoflake-pip</depend>
<depend>python3-isort-pip</depend>
<depend>python3-yapf-pip</depend>