[ros-users] Is it possible to "binary package" built stacks ?

Daniel Stonier d.stonier at gmail.com
Thu Dec 16 03:36:50 UTC 2010


On 15 December 2010 08:54, Willy Lambert <lambert.willy at gmail.com> wrote:

> Thanks for this link.
>
> I don't need to cross compile, all are x86 Linux Systemes. It's like :
> "okay, I finished my developpement, know I would like to publish precompiled
> binaires". Somehow it's like a make install which separates binairies from
> build tree.
> I am sure something allows to do it in ROS, it seems to be a so common
> problem. Currently, I build everything my cmake and make install binaries
> (and conf files) in a separate folder, then I just have to copy this folder
> on my target. Is there anything like this in ROS ?
>
> Let's take it differently. If I have dependencies, do I need to build all
> of them, or may I catch pre-compile stacks like you will do with rosdep ?
>
>
Eros is not entirely about cross-compiling, its focus is for anything
embedded so there's lots of purely embedded tools in it too. We use it at
our company for cross-compiling to some of our smaller robots, but we also
do exactly what you're describing on our larger robots. Aka we build on
ubuntu x86, then move the results across to an embedded intel atom.

I typically do it one of two ways.

1) build locally and use 'unison' to synchronise it with a tree on the
robot. That's actually very easy and you can get it to ignore hpp/cpp files
and whatever else you don't want to copy over.

2) second way is a bit more elaborate.

- robot has a core ros tree/stacks
- our package makefile includes an eros makefile which automatically sets up
install/uninstall targets along with all ros targets
- we then specify install/uninstall stuff in the cmakelists.txt.
- run the usual make/make install or rosmake --target="install" for a whole
set of packages.
- this dumps to wherever your CMAKE_INSTALL_PREFIX is pointing (can be set
with eros' rosprefix).

This works good for really exactly specifying what you want in a binary dump
of your trees. But it's usually too much bother. For ros robots, the unison
approach is quick and simple.

We do use the above approach though when we're installing to non-ros robots
(compile or non-cross compile). This lets us manage literally dozens of
libraries/binaries for a robot at once via rosmake and install to a fakeroot
location which we can then directly copy to the robot. Without ros, managing
dozens of libraries for an embedded robot was a real pita.

If you want some examples or more detail, please let me know.

Regards,
Daniel.


> 2010/12/15 Sebastian Haug <sebhaug at gmail.com>
>
> Hi Willy,
>>
>> On Tue, Dec 14, 2010 at 2:50 PM, Willy Lambert <lambert.willy at gmail.com>
>> wrote:
>> > But after having built everything on my development computer, I'll want
>> to
>> > download it to my embedded main board. I don't want to install ROS on it
>> in
>> > order to pick everything and build it. Is it possible to generate a
>> "binary
>> > package" that is easily installable on a different PC (like a debian
>> package
>> > or a compressed archive of binaries) ? I didn't see anything about this
>> in
>> > the docs.
>> Maybe eros (http://www.ros.org/wiki/eros) is something that suits your
>> needs. Its a toolchain for cross-compilation of ROS for embedded
>> systems.
>>
>> Sebastian
>> _______________________________________________
>> ros-users mailing list
>> ros-users at code.ros.org
>> https://code.ros.org/mailman/listinfo/ros-users
>>
>
>
> _______________________________________________
> ros-users mailing list
> ros-users at code.ros.org
> https://code.ros.org/mailman/listinfo/ros-users
>
>


-- 
Phone : +82-10-5400-3296 (010-5400-3296)
Home: http://snorriheim.dnsdojo.com/
Yujin Robot: http://www.yujinrobot.com/
Embedded Ros : http://www.ros.org/wiki/eros
Embedded Control Libraries: http://snorriheim.dnsdojo.com/redmine/wiki/ecl
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ros.org/pipermail/ros-users/attachments/20101216/d0d16083/attachment-0003.html>


More information about the ros-users mailing list