User Tools

Site Tools


Writing /var/lib/dokuwiki/data/meta/tutorials/installing_ros_in_debian.meta failed
Unable to save metadata file. Hint: disk full; file permissions; safe_mode setting.
tutorials:installing_ros_in_debian

Installing ROS Fuerte in debian Sid in your local home

This instructions are based on this.

This instructions details the steps necessary to install ros in your local home. You will not need to touch (or damage) your main system using this method.

Enjoy!

Installing dependencies and setting environment for compilation

  • Install dependency packages:
sudo apt-get install build-essential python-yaml cmake subversion wget python-setuptools mercurial git-core  python-yaml libapr1-dev libaprutil1-dev  libbz2-dev python-dev libgtest-dev python-paramiko libboost-all-dev liblog4cxx10-dev pkg-config python-empy python-nose swig python-wxgtk2.8 python-gtk2 python-matplotlib libwxgtk2.8-dev python-imaging libqt4-dev graphviz qt4-qmake python-numpy bison++ autoconf libtinyxml-dev libxml2-dev nvidia-cg-dev libxt-dev libxaw7-dev  nvidia-cg-toolkit libfreetype6-dev libxrandr-dev libfreeimage-dev libcurl-ocaml-dev libeigen3-dev libyaml-cpp-dev python-sip-dev python-sip python-qt4-dev python-qt4 python2.7-dev freeglut3-dev libusb-1.0-0-dev openjdk-7-jdk doxygen lsb-release unzip cmake-curses-gui autoconf automake python-nose bash-completion
  • Overwrite OS version detection: (Also add this to your .bashrc file)
export ROS_OS_OVERRIDE=debian:squeeze
  • For parallel compilation: (Also add this to your .bashrc file)
export ROS_PARALLEL_JOBS=-j5
  • First configure a local directory for binary installations with xstow. Please follow the tutorial Using xstow for local installations.
  • We need to install a modified version of swig (if you can't get it with git use this one):
cd ~/local/src/
mkdir ros-dependencies
cd ros-dependencies
git clone https://github.com/ros/swig-wx.git  
cd swig-wx
./autogen.sh
./configure --prefix=${HOME}/local/DIR/swig-wx
make -j10
#export datarootdir=${HOME}/local/DIR/swig-wx/        #This is necessary because there is a bug in the autoconf of swig-wx. Bug apparently fixed (2013.02.25)
make install
cd ~/local/DIR
xstow swig-wx
  • Add the following line to your .bashrc file:
export SWIG_LIB=${HOME}/local/share/swig/1.3.29/
  • Source your .bashrc file
source .bashrc

Installing rosinstall

Rosinstall is a script that “helps” in the process of installing ROS. We will install rosinstall locally in our home directory.

  • Python-pip is used to install rosinstall.
sudo apt-get install python-pip
  • Configure the local directory for python-pip installations:
export PYTHONUSERBASE=${HOME}/local/DIR/rosinstall-fuerte
  • Install rosinstall. Before the next command, it would be necessary to uninstall python-dateutil if there is an error
  • If you had ros-dependencies errors it can be ignored
pip install --user -U rosinstall rospkg rosdep==0.10.08
cd ~/local/DIR
xstow rosinstall-fuerte

Installing external ROS dependencies

  • This section is only necessary if you want to use ROS with the kinect and some other more advance uses. You can skip this section if you just want a simple ROS.
  • Compile and install libflann (if you can't get it, use this one):
cd ~/local/src/ros-dependencies
git clone git://github.com/ros-gbp/flann-fuerte-release.git
#git clone git://github.com/mariusmuja/flann.git
#git clone https://github.com/wg-debs/flann
cd flann-fuerte-release
git checkout debian/fuerte/precise/flann 
mkdir build
cd build
cmake ../ -DCMAKE_INSTALL_PREFIX=${HOME}/local/DIR/flann #Configure the INSTALL_PREFIX to /home/user/local/DIR/flann
make -j5
make install
cd ~/local/DIR
xstow flann

* Exist an error on make install and you can ignore

error: could not create '/usr/lib/python2.7/site-packages': Permission deniedcreating /usr/lib/python2.7/site-packages

* We need ROS version of opencv2:

cd ~/local/src/ros-dependencies
#git clone https://github.com/wg-debs/opencv2-release.git
git clone https://github.com/ros-gbp/opencv2-fuerte-release.git
cd opencv2-fuerte-release
git checkout debian/fuerte/opencv2 
mkdir build
cd build
cmake ../ -DCMAKE_INSTALL_PREFIX=${HOME}/local/DIR/opencv2 # Configure INSTALL_PREFIX to  /home/usuario/local/DIR/opencv2
make -j5
make install
cd ~/local/DIR
xstow opencv2

Note: If github doesn't work you can get it here). Remember to erase the ¨build¨ directory and make your own.

  • Get, compile and install openni:
cd ~/local/src/ros-dependencies/
mkdir openni
hg clone https://kforge.ros.org/openni/drivers openni
cd openni
hg update -r 299  # In this revision both xtion and kinect work!
  • Edit the Makefile and change:
        ARCH=i386
        OPENNI_ARCH=xx

with:

        ARCH=i386
        OPENNI_ARCH=x86
  • Continue with compiling openni:
make -j10 debian
sudo dpkg -i *.deb

Installing ROS core

rosinstall --catkin ~/local/src/ros-underlay-fuerte http://ros.org/rosinstalls/fuerte-ros-full.rosinstall
cd ~/local/src/ros-underlay-fuerte/
mkdir build
cd build
ccmake .. -DCMAKE_INSTALL_PREFIX=${HOME}/local/DIR/ros-underlay-fuerte
  • At this point type “c” multiple times until you get a “g” option, then type “g”
  • The python library version 3.2 may be automatically selected, please change it to version 2.7 (you may need to press “t” to get more options):
PYTHON_LIBRARY=/usr/lib/python2.7/config/libpython2.7.so 
  • Compile and install
make -j5
make install
cd ~/local/DIR
xstow ros-underlay-fuerte
. ~/local/setup.bash

Installing ROS higher-level tools

rosinstall ~/local/src/ros-fuerte gen_rosinstall.py
  • Execute:
source ~/local/src/ros-fuerte/setup.bash
  • Add the following to the end of your .bashrc file:
alias env_ros_fuerte='source ~/local/src/ros-fuerte/setup.bash'
  • Everytime that you want to use ros just type env_ros_fuerte in the console.
  • Edit file /home/yourusername/local/lib/python2.7/site-packages/rosdep2/sources_list.py change the line:
       etc_ros = '/etc/ros'

with:

       etc_ros = '/home/yourusername/local/etc/ros'
  • Now run:
rosdep init
rosdep update
rosdep install -a
  • Before we start to compile rviz, we need a debian package that is not in debian anymore: libassimp2. For 64bits, download from here and here and for 32bits from here and herethe necessary packages and install them:
  • For 64 bits:
sudo dpkg -i libassimp2_2.0.863+dfsg-2+b1_amd64.deb libassimp-dev_2.0.863+dfsg-2+b1_amd64.deb
  • For 32 bits:
sudo dpkg -i libassimp2_2.0.863+dfsg-2_i386.deb libassimp-dev_2.0.863+dfsg-2_i386.deb
  • Also some rviz code must be fixed to get it compile. Edit the following files:
${HOME}/local/src/ros-fuerte/visualization/rviz/src/rviz/CMakeLists.txt
${HOME}/local/src/ros-fuerte/visualization/rviz/src/rviz/default_plugin/CMakeLists.txt
${HOME}/local/src/ros-fuerte/visualization/rviz/src/test/CMakeLists.txt
${HOME}/local/src/ros-fuerte/visualization/rviz/src/image_view/CMakeLists.txt
  • And everytime you see a qt4_wrap_cpp(…) please add before “)” this:
OPTIONS -DBOOST_TT_HAS_OPERATOR_HPP_INCLUDED
  • Now let's compile rviz
rosmake rviz

References

tutorials/installing_ros_in_debian.txt · Last modified: 2022/09/20 00:08 (external edit)