What is the difference between <exec_depend> and <run_depend> ?
I'm pretty new here but wanted to let you guys know I had en error while just follwing the tutorial.
When I reached the "msg and srv" part ( http://wiki.ros.org/ROS/Tutorials/Cre... ) I encountered an error.
I was asked to put
<exec_depend>message_runtime</exec_depend>
in my package.xml file.
When I entered
$ rosmsg show beginner_tutorials/Num
This was the error I got :
File "/opt/ros/lunar/bin/rosmsg", line 35, in <module>
rosmsg.rosmsgmain()
File "/opt/ros/lunar/lib/python2.7/dist-packages/rosmsg/__init__.py", line 754, in rosmsgmain
sys.exit(rosmsg_cmd_show(ext, full, command))
File "/opt/ros/lunar/lib/python2.7/dist-packages/rosmsg/__init__.py", line 621, in rosmsg_cmd_show
found_msgs = list(rosmsg_search(rospack, mode, arg))
File "/opt/ros/lunar/lib/python2.7/dist-packages/rosmsg/__init__.py", line 565, in rosmsg_search
for p, path in iterate_packages(rospack, mode):
File "/opt/ros/lunar/lib/python2.7/dist-packages/rosmsg/__init__.py", line 541, in iterate_packages
package_paths = _get_package_paths(p, rospack)
File "/opt/ros/lunar/lib/python2.7/dist-packages/rosmsg/__init__.py", line 554, in _get_package_paths
results = find_in_workspaces(search_dirs=['share'], project=pkgname, first_match_only=True, workspace_to_source_spaces=_catkin_workspace_to_source_spaces, source_path_to_packages=_catkin_source_path_to_packages)
File "/opt/ros/lunar/lib/python2.7/dist-packages/catkin/find_in_workspaces.py", line 143, in find_in_workspaces
source_path_to_packages[source_path] = find_packages(source_path)
File "/usr/lib/python2.7/dist-packages/catkin_pkg/packages.py", line 83, in find_packages
packages = find_packages_allowing_duplicates(basepath, exclude_paths=exclude_paths, exclude_subspaces=exclude_subspaces, warnings=warnings)
File "/usr/lib/python2.7/dist-packages/catkin_pkg/packages.py", line 110, in find_packages_allowing_duplicates
packages[path] = parse_package(os.path.join(basepath, path), warnings=warnings)
File "/usr/lib/python2.7/dist-packages/catkin_pkg/package.py", line 379, in parse_package
return parse_package_string(f.read(), filename, warnings=warnings)
File "/usr/lib/python2.7/dist-packages/catkin_pkg/package.py", line 550, in parse_package_string
raise InvalidPackage('Error(s) in %s:%s' % (filename, ''.join(['\n- %s' % e for e in errors])))
catkin_pkg.package.InvalidPackage: Invalid package manifest "/home/enslab/catkin_ws/src/beginner_tutorials/package.xml": Error(s) in /home/enslab/catkin_ws/src/beginner_tutorials/package.xml:
- The manifest (with format version 1) must not contain the following tags: exec_depend
In a youtube video ( https://www.youtube.com/watch?v=F4bpT... ) I saw
<run_depend>message_runtime</run_depend>
was used instead. This worked perfectly fine for me.
What is the difference between the two of them exactly? Thanks in advance.