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

Daniel Stonier d.stonier at gmail.com
Sun Dec 19 23:12:06 UTC 2010


On 17 December 2010 16:55, Willy Lambert <lambert.willy at gmail.com> wrote:

> Thanks a lot,I can't wait to hearing from this update
>

Just hashed some quick notes on two methods we use here at Yujin for updates
to our embedded boards. We typically have two use cases - one to install
stripped down ros trees and the other is to provide regular installables for
c++ package chains.

http://www.ros.org/wiki/eros/Deployment

If there's any errors or vague explanations or some other feature you might
want to add, please let me know.

Regards,
Daniel Stonier.


>
> 2010/12/17 Daniel Stonier <d.stonier at gmail.com>
>
>
>>
>> On 16 December 2010 18:19, Willy Lambert <lambert.willy at gmail.com> wrote:
>>
>>> I am very interested in your examples.
>>>
>>> Are all the eros features documented somewhere ?
>>>
>>> 2010/12/16 Daniel Stonier <d.stonier at gmail.com>
>>>
>>>
>> There is the eros wiki (http://www.ros.org/wiki/eros), however it needs a
>> bit of a work and some tutorials added - I ticketed myself a couple of weeks
>> ago to do that, looks like now is a good time :) Just looking at it again,
>> it doesn't seem to give any indication that its for anything but
>> cross-compiling, so I'll re-organise it a bit as well.
>>
>> Wife just had a baby this week and a deadline today, so a bit busy - but
>> I'll do some work on it on the weekend and let you know as soon as I've
>> added some notes and examples pertaining to the discussion above.
>>
>> Cheers,
>> Daniel Stonier.
>>
>>
>>>>
>>>> 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
>>>>>>
>>>>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ros.org/pipermail/ros-users/attachments/20101220/14b024bb/attachment-0003.html>


More information about the ros-users mailing list