Rosanswers logo

  1. What is the best way to build Turtlebot from source? Following the instructions in ROSberryPiInstalling ROS Indigo on Raspberry Pi, I was able to install Indigo successfully. However, the turtlebot node was not included in the basic build. This tutorial on Turtlebot installation has instructions on how to build from source. It recommends installing rocon, kobuki, turtlebot from source as follows (similarly for the other two):

    $ mkdir ~/rocon

    $ cd ~/rocon

    $ wstool init -j5 src https://raw.github.com/robotics-in-concert/rocon/indigo/rocon.rosinstall

    $ source /opt/ros/indigo/setup.bash

    $ rosdep install --from-paths src -i -y

    $ catkin_make

    I chose not to go this route. Instead, I followed the instructions to install packages as described in Section 3 "Maintaining a Source Checkout" in the earlier ROS/Raspberry Pi tutorial.

    $ cd ~/ros_catkin_ws

    $ rosinstall_generator rocom kobuki turtlebot --rosdistro indigo --deps --wet-only --exclude roslisp --tar > indigo-custom_ros.rosinstall Next, update the workspace with wstool:

    $ wstool merge -t src indigo-custom_ros.rosinstall

    $ wstool update -t src After updating the workspace, you may want to run rosdep to install any new dependencies that are required:

    $ rosdep install --from-paths src --ignore-src --rosdistro indigo -y -r --os=debian:wheezy Finally, now that the workspace is up to date and dependencies are satisfied, rebuild the workspace:

    $ sudo ./src/catkin/bin/catkin_make_isolated --install -DCMAKE_BUILD_TYPE=Release --install-space /opt/ros/indigo

    So did I do the right thing by doing it this way?

    The instructions in the turtlebot installation are probably for developers who want to build from source, but not for someone who has to build from source because it is for a different processor (ARM7 in my case).

    But I am apprehensive because now I have to build 321 packages from source! Which brings me to question 2.

  2. libfreenect and libusb-1.0 linker issues. The first problem was a build failure when building libreenect.so. It complained about libusb_get_parent being an undefined symbol. Luckily someone had run into this before and provided a solution. The problem was that the Rasbian release has an older libusb-1.0 and needs to be upgraded to version 1.0.18. That fixed the libfreenect.so build problem.

    However, a little further down the line when freenect_camera tried to link to libfreenect.so, the linker complained that libusb_get_parent is an undefined symbol. At this point I am stumped -- I've tried editing package.xml for freenect_camera (adding dependencies to libusb) and messing with CMakeLists.txt but nothing has worked.

    How do I get freenect_camera to link using the rebuilt libusb-1.0?

Originally posted by sakumar on ROS Answers with karma: 26 on 2015-06-12

Post score: 1

Original comments

Comment by kosai on 2015-08-10:
Did you figure out the answer to your 2nd question? Have the same problem.


1 Answer 1


Rosanswers logo

sorry, I only just saw your question -- no, I was not able to resolve this issue. I felt I was too much on the bleeding edge to get things to work using Rasperry Pi (being new to ROS as well), so I switched to using an Intel NUC.

Originally posted by sakumar with karma: 26 on 2015-08-28

This answer was ACCEPTED on the original site

Post score: 0


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.