This is an old revision of the document!
Table of Contents
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
- Download file “http://packages.ros.org/cgi-bin/gen_rosinstall.py?rosdistro=fuerte&variant=desktop-full&overlay=no” or here and change all its /opt/ros/fuerte ocurrences with /home/your-user/local/DIR/ros-underlay-fuerte and name this file gen_rosinstall.py
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
- 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
http://ros.org/wiki/fuerte/Migration
https://github.com/wg-debs/opencv2-release
https://kforge.ros.org/projects/openni/
https://kforge.ros.org/projects/
https://kforge.ros.org/openni/drivers
http://git.fawkesrobotics.org/fawkes.git/commitdiff/f3e977334507333019f1230587ec0a6afea94b71
https://github.com/ros/rosdistro/blob/master/releases/fuerte.yaml
~~DISCUSSION~~