ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question
0

How do I specify which packages are needed to run code in a package or build packages?

asked 2015-09-01 05:47:20 -0500

Handwerker gravatar image

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?

edit retag flag offensive close merge delete

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 the simple_message run dependency.

gvdhoorn gravatar image gvdhoorn  ( 2015-09-01 07:01:52 -0500 )edit

this is abb_driver package. industrial_robot_client and simple_message are part of ROS-Industrial

Handwerker gravatar image Handwerker  ( 2015-09-01 10:26:43 -0500 )edit

Hm. Could be that I forgot to add simple_message as a run_depends. But as I wrote: industrial_robot_client will transitively pull in the simple_message dependency. Whether that is a nice thing to do is something else.

gvdhoorn gravatar image gvdhoorn  ( 2015-09-01 10:44:27 -0500 )edit

what is the difference between "run" and "build" in ROS.

Handwerker gravatar image Handwerker  ( 2015-09-01 10:52:13 -0500 )edit
1

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.

gvdhoorn gravatar image gvdhoorn  ( 2015-09-01 11:05:59 -0500 )edit

1 Answer

Sort by ยป oldest newest most voted
0

answered 2015-09-01 05:53:27 -0500

dornhege gravatar image

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.

edit flag offensive delete link more

Comments

thanks , I find I don't understand the difference between "run" and "build" .

Handwerker gravatar image Handwerker  ( 2015-09-01 10:54:24 -0500 )edit

Question Tools

Stats

Asked: 2015-09-01 05:36:38 -0500

Seen: 167 times

Last updated: Sep 01 '15