How do I specify which packages are needed to run code in a package or build packages?
e.g.
why is "simplemessage" used to build this package and there not simplemessage in the <run_depend> tag?<builddepend> industrialrobotclient </builddepend> <builddepend> simplemessage </build_depend>
<rundepend> industrialrobotclient</rundepend>
Asked by Handwerker on 2015-09-01 05:36:38 UTC
Answers
I don't know the specific package, but given the maintainer has set things correctly:
Simple answer: Because it's not required to run the package, only for building. Common examples are things like libXXX-dev vs. libXXX for build/run depends.
Asked by dornhege on 2015-09-01 05:53:27 UTC
Comments
thanks , I find I don't understand the difference between "run" and "build" .
Asked by Handwerker on 2015-09-01 10:54:24 UTC
Comments
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.Asked by gvdhoorn on 2015-09-01 07:01:52 UTC
this is abb_driver package. industrial_robot_client and simple_message are part of ROS-Industrial
Asked by Handwerker on 2015-09-01 10:26:43 UTC
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.Asked by gvdhoorn on 2015-09-01 10:44:27 UTC
what is the difference between "run" and "build" in ROS.
Asked by Handwerker on 2015-09-01 10:52:13 UTC
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.
Asked by gvdhoorn on 2015-09-01 11:05:59 UTC