use chroot to rosmake
Hi everyone,
I read on multiple places about using chroot and qemu to compile ROS on a Raspberry Pi (the same will probably be done for other systems). There, it comes down to somehow map the calls of gcc to use the ARM-gcc and produce ARM binaries. Now what I want to do is compile new ROS nodes for ARM, actually using the convenient rosmake. Is that possible?
I went down some roads, none with actual success (for reference: http://www.raspberrypi.org/phpBB3/viewtopic.php?f=31&t=8478
, http://sentryytech.blogspot.de/2013/02/faster-compiling-on-emulated-raspberry.html
and also this: http://pastebin.com/4Jp1WPTb
modified for ubuntu to my best belief - I apologize for the inconvenience, but I am not allowed to post links here). So instead of stating what I tried here right now and listing the errors I encountered (which would be cumbersome for everyone involved, as I don't really know what I am doing, but could be done) I wanted to ask if someone already managed to get ros commands running on an emulated system or has set up a cross-compile variant of rosmake
? There might be a documented way out there, but I am lost right now.
All hints are appreciated :)
Edit: This one will not work for what I intend: http://www.ros.org/wiki/eros/Tutorials/Partial%20Cross
. It says so explicitly: "No Nodes!"
Another Edit: So I finally set up sb2 and proved it working by compiling a sample program for ARM (sb2 gcc foo.c -o foo-arm
). However, if I run the whole rosmake in sb2, my packages get skipped because of "No rule to make target None". I don't see where this leads me, but I suppose I'd need to pack the individual gcc commands into an sb2 "environment". I also had a look at the rostoolchain.cmake file in $ROS_ROOT, but that seems to be ignored. What do I have to do in order for my distribution to take notice of that one?