How do I specify which packages are needed to run code in a package or build packages?
e.g.
<build_depend> industrial_robot_client </build_depend> <build_depend> simple_message </build_depend> <run_depend> industrial_robot_client</run_depend>
why is "simple_message" used to build this package and there not simple_message in the <run_depend> tag?
Can you please add which package this is? It is possible for things to be
build_depend
only, but that is only in certain cases.One other possibility is that the author relied on
industrial_robot_client
transitively providing thesimple_message
run dependency.this is abb_driver package. industrial_robot_client and simple_message are part of ROS-Industrial
Hm. Could be that I forgot to add
simple_message
as arun_depend
s. But as I wrote:industrial_robot_client
will transitively pull in thesimple_message
dependency. Whether that is a nice thing to do is something else.what is the difference between "run" and "build" in ROS.
Briefly: run dependencies are needed to be able to run a specific program, while build dependencies are needed to be able to build it (compiling is one step in building a program).
See also REP-127 - build_depend.