IMPORTANT: this page is for ROS client library authors only! General ROS users should never have to invoke any of these tools manually


gendeps is a multipurpose command-line tool that is able to load the dependency tree for a specified message. It is used by the build system to determine whether or not a message/service is up-to-date. It is also used by the message/service generators to calculate md5 hashes as well as exchange the full text of message definitions for use with bag files. Without any options, it prints out the list of files that the specified file depends on.


gendeps [options] [files...]

  -h, --help  show this help message and exit
  -m, --md5   Generate md5 hash of files
  -s, --sha1  Generate SHA1 hash of files
  -c, --cat   Generate concatenated list of files


./gendeps ~/ros-pkg/robot_srvs/srv/SelfTest.srv 
/u/user/ros-pkg/robot_msgs/msg/DiagnosticString.msg /u/user/ros-pkg/robot_msgs/msg/DiagnosticValue.msg /u/user/ros-pkg/robot_msgs/msg/DiagnosticStatus.msg

./gendeps --md5 ~/ros-pkg/robot_srvs/srv/SelfTest.srv 

./gendeps --cat `rospack find robot_msgs`/msg/DiagnosticStatus.msg
byte level #(OK=0, WARN=1, ERROR=2)
string name # a description of the test/component reporting
string message # a description of the status
DiagnosticValue[] values # an array of values associated with the status
DiagnosticString[] strings # an array of string associated with the status

MSG: robot_msgs/DiagnosticValue
float32 value # a value to track over time
string label # what to label this value when viewing

MSG: robot_msgs/DiagnosticString
string value # a string data type
string label # what to label this value when viewing

Wiki: roslib/gentools (last edited 2020-01-02 23:47:29 by JPPosma)