So far I've been able to install ROS on Nokia N900. Most troubles came from
installing dependencies, as not all deb packages are available on this
platform, and aren't detected by rosdep. I needed to build some and hope to
upload them to Maemo extra-devel repository so there are available for
whoever wants them.
I haven't been able to cross-compile ROS on a scratchbox, because ROS
requires bash 3 whereas only bash 2 is available on my scratchbox.
Installing bash 3 didn't help, as whatever the path I type, it's always bash
2 which gets executed. Some scratchbox voodoo I guess. Anyway this means ROS
needs to be compiled on N900 (requires several hours).
I still need to work on packaging, particularly for Boost libraries. By
default headers get installed on /usr/include/boost-1_37/boost, and can't be
found by rosmake & friends. I tried to play with rosboost-cfg and pass
/usr/include/boost-1_37, but it seems ROS_BOOST_ROOT needs to be the
directory containing "include", not the one containing "boost". Am I wrong ?
Any other way to specify a specific location for Boost libraries ? This can
be helpful as different installed versions are sometime needed. Compiling
boost with --layout=system fixes the problem though, I guess I'll use this
option while re-packaging boost.
I have several questions about the building process:
- is it possible to register a dependency ? I mean, "boost" is installed
for instance, still rosdep claims "boost" dep couldn't be resolved. How can
I tell it to skip it ?
- why doesn't "rosmake -i" mark packages as built (ROS_NOBUILD) by the
time it is, not just at the end of all the build process ?
Once N900 deb packages are cleaner, I'll update the wiki page with detailed
instructions. I'm now trying to compile ROS tutorials and hoping to control
some turtles from my N900. Next step is to play pool :)