ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

I just finished installing ROS Fuerte from source on Ubuntu 12.10. Thought I should mention here. I basically followed the steps at: http://www.ros.org/wiki/fuerte/Installation/Ubuntu

I kept hitting the same "library not found" errors from CMake, and simply kept installing them one by one using apt-get, including boost (1.49.0), log4cxx, etc. Finally, CMake configuration completed without any errors (there were a few deprecation warnings, though - they seemed harmless). make and make install worked fine without any trouble.

Further along the installation steps, we need to use rosdep to install some "system dependencies" (it internally calls apt-get, as far as I understand). This is where I ran into a bunch of errors, because certain packages were not defined for quantal, e.g.:

image_view: No definition of [opencv2] for OS version [quantal]

There were entries for precise, however (as revealed by rosdep resolve opencv2), and I stumbled upon an undocumented option "--os" here: http://answers.ros.org/question/40081/rosdep-doesnt-recognize-os/

This worked for me, because I noticed that most of these package definitions referred to the same ROS package for multiple Ubuntu versions. From then on I passed in --os=ubuntu:precise to every rosdep call.

After this, rosmake -a is able to build almost all the ros packages. There was one recurring error amounting to Python not being able to locate module "roslib.manifest" that blocked a few packages from compiling, including any new packages that I wrote (from beginner tutorials, etc.). The solution to that was to find where the "roslib" directory (containing manifest.py) was located, and adding it to PYTHONPATH variable. On my system, I found it here:

/opt/ros/fuerte/lib/python2.7/dist-packages/roslib-1.8.9-py2.7.egg/

Note that /opt/ros/fuerte/lib/python2.7/dist-packages/ was already in PYTHONPATH, but apparently nested directories are not checked (I don't know if there is a way to enable that, or if ".egg" directories are supposed to be expanded out in their parent - anyone care to shed some light on this?). At this point, rosmake -a is able to build all packages, and a more specific command like rosmake <package-name> also works. The ros nodes run as expected. Now, I noticed there are some other ".egg"s in dist-packages, and I may have to include them explicitly in PYTHONPATH in the future.

Also, I cannot confirm that the complete installation is stable, since I overrode the OS parameter (--os=) with rosdep, but I haven't bumped into any problems yet.