Issues with manifest.xml + autoproj

When I'm running the bootstrap, autoproj starts complaining about the manifest
file of rtt. It did not do so when I did a 'autoproj build rtt' in my
development dirs.

The complaint is (rightfully :-) :

manifest /tmp/orotest/rtt/manifest.xml of rtt from orocos.toolchain lists
'rosbuild' as dependency, but it is neither a normal package nor an osdeps
package. osdeps reports: there is no osdeps definition for rosbuild

We can drop 'rosbuild' as a deps, or can I add it to the osdeps file and say to
ignore it ?

The only hacky way I found was to add:

rosbuild:
debian,ubuntu,gentoo:
cmake

to the orocos.osdeps file.

We need to find a way to harmonize the manifest.xml file. For example, If we
add: <depend>boost</depend> , rosbuild will complain, because it lists os-deps
with the <rosdep> tag, and uses <depend> for ros packages only (So it would
complain: can't find ROS package 'boost' )

Peter

Issues with manifest.xml + autoproj

On 11/17/2010 11:59 AM, Peter Soetens wrote:
> When I'm running the bootstrap, autoproj starts complaining about the manifest
> file of rtt. It did not do so when I did a 'autoproj build rtt' in my
> development dirs.
>
> The complaint is (rightfully :-) :
>
> manifest /tmp/orotest/rtt/manifest.xml of rtt from orocos.toolchain lists
> 'rosbuild' as dependency, but it is neither a normal package nor an osdeps
> package. osdeps reports: there is no osdeps definition for rosbuild
>
> We can drop 'rosbuild' as a deps, or can I add it to the osdeps file and say to
> ignore it ?
On a conceptual level, rtt does NOT depend on rosbuild. Having it in the
manifest is wrong.

Building-RTT-on-ROS depends on rosbuild. It should be the job of
rosbuild to handle the fact that there are more than ros in the world.

Issues with manifest.xml + autoproj

On 11/17/2010 11:59 AM, Peter Soetens wrote:
> When I'm running the bootstrap, autoproj starts complaining about the manifest
> file of rtt. It did not do so when I did a 'autoproj build rtt' in my
> development dirs.
>
> The complaint is (rightfully :-) :
>
> manifest /tmp/orotest/rtt/manifest.xml of rtt from orocos.toolchain lists
> 'rosbuild' as dependency, but it is neither a normal package nor an osdeps
> package. osdeps reports: there is no osdeps definition for rosbuild
>
> We can drop 'rosbuild' as a deps, or can I add it to the osdeps file and say to
> ignore it ?
>
> The only hacky way I found was to add:
>
> rosbuild:
> debian,ubuntu,gentoo:
> cmake
>
> to the orocos.osdeps file.
>
> We need to find a way to harmonize the manifest.xml file. For example, If we
> add:<depend>boost</depend> , rosbuild will complain, because it lists os-deps
> with the<rosdep> tag, and uses<depend> for ros packages only (So it would
> complain: can't find ROS package 'boost' )
autoproj understands "rosdep", so you can use it if you want to be
cross-compatible.

On the rosbuild issue, you can simply add

rosbuild: ignore

in the autoproj osdeps files to make autoproj completely ignore rosbuild

Just a question: why do you need to explicitely depend on rosbuild ???
Is not that a "given" in the ROS world ?

Issues with manifest.xml + autoproj

On Wednesday 17 November 2010 12:02:57 Sylvain Joyeux wrote:
> On 11/17/2010 11:59 AM, Peter Soetens wrote:
> > When I'm running the bootstrap, autoproj starts complaining about the
> > manifest file of rtt. It did not do so when I did a 'autoproj build rtt'
> > in my development dirs.
> >
> > The complaint is (rightfully :-) :
> >
> > manifest /tmp/orotest/rtt/manifest.xml of rtt from orocos.toolchain lists
> > 'rosbuild' as dependency, but it is neither a normal package nor an
> > osdeps package. osdeps reports: there is no osdeps definition for
> > rosbuild
> >
> > We can drop 'rosbuild' as a deps, or can I add it to the osdeps file and
> > say to ignore it ?
> >
> > The only hacky way I found was to add:
> >
> > rosbuild:
> > debian,ubuntu,gentoo:
> > cmake
> >
> > to the orocos.osdeps file.
> >
> > We need to find a way to harmonize the manifest.xml file. For example, If
> > we add:<depend>boost</depend> , rosbuild will complain, because it
> > lists os-deps with the<rosdep> tag, and uses<depend> for ros packages
> > only (So it would complain: can't find ROS package 'boost' )
>
> autoproj understands "rosdep", so you can use it if you want to be
> cross-compatible.
>
> On the rosbuild issue, you can simply add
>
> rosbuild: ignore
>
> in the autoproj osdeps files to make autoproj completely ignore rosbuild
>
> Just a question: why do you need to explicitely depend on rosbuild ???
> Is not that a "given" in the ROS world ?

Well, that gives an interesting answer. There is a big difference between
rosbuild and rospack. rospack is the pkg-config like tool that reads manifest
files, extracts contents of fields and resolves dependencies. It compares best
as the xml-counterpart of pkg-config. It's a C program that could easily be
pulled out the ROS ecosystem.

rosbuild is 'just' a collection of cmake macros, but very specific to how ros
apps are built, and it uses rospack behind the scenes to automatically add
cflags, link libraries etc.

rosmake is similar, but on the 'make' level, using rospack to figure out which
package to build first.

Now for the occurence of 'rosbuild' in the manifest file: it shouldn't be
there. RTT is built without the rosbuild cmake macro's. So it's a bug in the
manifest file in the first place.

I still think we should add rosbuild: ignore for other/future packages.

Peter

Issues with manifest.xml + autoproj

On 11/17/2010 12:17 PM, Peter Soetens wrote:
> I still think we should add rosbuild: ignore for other/future packages.
I have no problem with that.