Writing /var/lib/dokuwiki/data/meta/tutorials/installing_ros_electric_in_debian.meta failed
tutorials:installing_ros_electric_in_debian
Table of Contents
Installing ROS Electric 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 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
- 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=-j10
- First configure a local directory for binary installations with xstow. Please follow the tutorial Using xstow for local installations.
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 libeigen3-dev libxml2-dev libcurl4-gnutls-dev libcurl-ocaml-dev libtinyxml-dev
- Configure the local directory for python-pip installations:
export PYTHONUSERBASE=${HOME}/local/DIR/rosinstall_electric
- Install rosinstall
pip install --user -U rosinstall vcstools cd ~/local/DIR xstow rosinstall_electric
- Download and install ros basic files:
mkdir ~/local/src/ros_electric rosinstall ~/local/src/ros_electric "http://packages.ros.org/cgi-bin/gen_rosinstall.py?rosdistro=electric&variant=desktop-full&overlay=no"
- This will give an error of packages not found. Then edit the file ~/local/src/ros_electric/ros/rosdep.yaml and change:
squeeze: libboost1.42-all-dev
for
squeeze: libboost1.49-all-dev
- Then run again:
rosinstall ~/local/src/ros_electric "http://packages.ros.org/cgi-bin/gen_rosinstall.py?rosdistro=electric&variant=desktop-full&overlay=no"
- In file ~/local/src/ros_electric/visualization_common/ogre/ edit file ensure-nvidia-cg-toolkit-is-installed.sh and change:
-e /usr/lib/libCg.so -a \ -e /usr/lib/libCgGL.so ]; then
with:
-e /usr/lib/x86_64-linux-gnu/libCg.so -a \ -e /usr/lib/x86_64-linux-gnu/libCgGL.so ]; then
- In file /home/username/local/src/ros_electric/image_common/image_transport/src/publisher.cpp, change line 59:
BOOST_FOREACH(const PublisherPlugin& pub, publishers_) count += pub.getNumSubscribers();
with:
for ( uint32_t i = 0 ; i < publishers_.size() ; i++ ) count += publishers_[i].getNumSubscribers() ;
- In file /home/memeruiz/local/src/ros_electric/geometry/tf/include/tf/message_filter.h, change line 401:
signalMessage(evt);
with:
this->signalMessage(evt);
- In ~/local/src/ros_electric/common_rosdeps/rosdep.yaml, change:
debian: source: uri: 'https://kforge.ros.org/rosrelease/viewvc/sourcedeps/assimp/assimp-2.0.86-1.rdmanifest' md5sum: d5137302d8f00241ee10e623b97f9d22
with:
debian: apt: packages: [ libassimp-dev ]
- Compile rviz
rosmake rviz
ar_kinect
- Install packages
sudo apt-get install python-vtk tcl-vtk libhdf5-dev libhdf5-serial-dev
- Add ar_kinect and artoolkit packages to workspace
rosws set ar_kinect --svn http://albany-ros-pkg.googlecode.com/svn/trunk/albany_vision/ar_kinect rosws update ar_kinect rosws set artoolkit --git http://robotics.ccny.cuny.edu/git/ccny-ros-pkg/ccny_vision.git rosws update artoolkit env_ros_elec
- Edit file ~/local/src/ros_electric/vision_opencv/opencv2/manifest.xml and change:
<cpp cflags="`pkg-config opencv-2.3.1 --cflags`" lflags="`pkg-config opencv-2.3.1 --libs`"/>
with:
<cpp cflags="`pkg-config opencv --cflags`" lflags="`pkg-config opencv --libs`"/>
- In file /home/memeruiz/local/src/ros_electric/perception_pcl/pcl/build/pcl/octree/include/pcl/octree/impl/octree_pointcloud.hpp, change line 972, 1082, 1211, 1275 from getBranchChild with this→getBranchChild
- Also in line 208 change getLeaf with this→getLeaf
- in lines 959, 1079, 1182, 1272 change branchHasChild with this→branchHasChild
- In file /home/memeruiz/local/src/ros_electric/perception_pcl/pcl/build/pcl/surface/include/pcl/surface/impl/marching_cubes_greedy.hpp, change in line 75 getNeighborList1D with this→getNeighborList1D
- In line 79 getIndexIn3D with this→getIndexIn3D
- In file /home/memeruiz/local/src/ros_electric/perception_pcl/pcl/build/pcl/features/include/pcl/features/impl/fpfh_omp.hpp line 96 change computePointSPFHSignature with this→computePointSPFHSignature
- In file /home/memeruiz/local/src/ros_electric/perception_pcl/pcl/build/pcl/features/include/pcl/features/impl/shot_omp.hpp line 90, 150 change computePointSHOT with this→computePointSHOT
- In file /home/memeruiz/local/src/ros_electric/perception_pcl/pcl/build/pcl/features/include/pcl/features/impl/shot.hpp line 710, 816 change getSHOTLocalRF with this→getSHOTLocalRF
- Edit file /usr/lib/vtk-5.8/VTKConfig.cmake in line 200, change to:
# The VTK targets file. IF(NOT CMAKE_SCRIPT_MODE_FILE AND NOT VTK_INSTALL_EXPORT_NAME AND NOT TARGET vtkCommon AND EXISTS "${VTK_INSTALL_PREFIX}/lib/vtk-5.8/VTKTargets.cmake") INCLUDE("${VTK_INSTALL_PREFIX}/lib/vtk-5.8/VTKTargets.cmake") ENDIF()
- Compile ar_kinect
rosmake ar_kinect
tutorials/installing_ros_electric_in_debian.txt · Last modified: 2022/09/20 00:08 (external edit)