====== Installing ROS Fuerte in debian Sid in your local home ====== This instructions are based on [[http://www.ros.org/wiki/fuerte/Installation/Debian| 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|Using xstow for local installations]]. * We need to install a modified version of swig (if you can't get it with git use this {{::swig-wx.tar.gz|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 {{::flann_wg.tar.gz|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 {{::opencv2-wg.tar.gz|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 {{::gen_rosinstall.py.txt|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 * Before we start to compile rviz, we need a debian package that is not in debian anymore: libassimp2. For 64bits, download from {{::libassimp2_2.0.863_dfsg-2_b1_amd64.deb|here}} and {{::libassimp-dev_2.0.863_dfsg-2_b1_amd64.deb|here}} and for 32bits from {{::libassimp2_2.0.863_dfsg-2_i386.deb|here}} and {{::libassimp-dev_2.0.863_dfsg-2_i386.deb|here}}the 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 ==== http://ros.org/wiki/fuerte 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~~