[ros-users] stack manifest.xml dependencies

Ken Conley kwc at willowgarage.com
Wed Dec 29 07:06:28 UTC 2010


On Tue, Dec 28, 2010 at 10:59 PM, Patrick Bouffard
<bouffard at eecs.berkeley.edu> wrote:
> Is declaring stack dependencies in the stack manifest.xml optional?

If you release a stack [1], the stack dependencies are used to
generate the correct debian dependencies. We are also working on
rosinstall/roslocate-based solutions that will generate a correct
source tree.  So, you should try to specify dependencies correctly.
More on that below...

> What is the best practice--should a stack ideally declare dependencies
> on all stacks that contain a package that is depended upon in one of
> its own packages' manifests (wow, that was a convoluted sentence)?

You can re-run "roscd mystack; roscreate-stack ." to generate the
stack dependencies.  This will look at the package dependencies and
compute the stacks they are contained within.

One FAQ is, "why not always dynamically generate the dependencies?"
The reason is that we want a mechanism for specifying what a stack's
dependencies *should* be.  As stack dependencies generate install
dependencies, you frequently want to minimize them and protect against
dependency expansion.  For example, we don't want to accidentally
introduce a low-level dependency on opencv, which is quite large. Our
release scripts automatically run the roscreate logic to determine if
new dependencies have snuck in and report the error.

> If so can I easily test whether all the right dependencies have been
> declared? Will 'rosstack depends mystack' do that? How about any
> extraneous dependencies, is there a way to find those?

rosstack reads the stack.xml dependencies.  The rest is answered above.

HTH,
Ken

[1]: http://www.ros.org/wiki/release



More information about the ros-users mailing list