准备
安装依赖
安装python2:sudo apt install python2
安装pip2:看链接安装pip2
安装编译依赖:
$ sudo apt-get install python-rosinstall-generator python-wstool python-rosinstall build-essential libpoco-dev libboost1.67-dev libfltk1.3-dev cmake librosconsole-bridge-dev libeigen3-dev qtbase5-dev libjpeg-dev libtiff-dev libpng-dev ccache libboost-filesystem1.67.0 libboost-program-options-dev
$ pip2 install empy
$ pip2 install rosdep
初始化rosdep
$ sudo rosdep init
$ rosdep update
创建工作区
$ mkdir -p ~/ros_kinetic_ws/src
$ cd ~/ros_kinetic_ws
选择以下安装方式
1 桌面版安装 ROS, rqt, rviz, and robot-generic libraries
$ rosinstall_generator desktop --rosdistro kinetic --deps --tar > kinetic-desktop.rosinstall
$ wstool init -j8 src kinetic-desktop.rosinsta
2 ros 基本通信包安装,没有gui调试工具
$ rosinstall_generator ros_comm --rosdistro kinetic --deps --tar > kinetic-ros_comm.rosinstall
$ wstool init -j8 src kinetic-ros_comm.rosinstall
修改有问题的代码
1:替换rospack
cd src
rm -r rospack
git clone -b kinetic-devel https://github.com/ros/rospack.git
2:修改 src/rqt_robot_monitor/package.xml
src/rqt_robot_monitor/package.xml
45: <exec_depend condition="$ROS_PYTHON_VERSION == 2">python-rospkg-modules</exec_depend>
改为
45: <exec_depend condition="$ROS_PYTHON_VERSION == 2">python-rospkg</exec_depend>
3:修改src/rospack/package.xml
31: <exec_depend condition="$ROS_PYTHON_VERSION == 2">python-catkin-pkg-modules</exec_depend>
33: <exec_depend condition="$ROS_PYTHON_VERSION == 2">python-rosdep-modules</exec_depend>
改为
31: <exec_depend condition="$ROS_PYTHON_VERSION == 2">python-catkin-pkg</exec_depend>
33: <exec_depend condition="$ROS_PYTHON_VERSION == 2">python-rosdep</exec_depend>
4: 修改src/opencv3/modules/python/src2/cv2.cpp
885行
char* str = PyString_AsString(obj);
改为
char* str = (char *)PyString_AsString(obj);
5:修改src/geometry2/tf2/src/buffer_core.cpp
41行添加
#ifndef logWarn
#define logWarn CONSOLE_BRIDGE_logWarn
#endif
#ifndef logError
#define logError CONSOLE_BRIDGE_logError
#endif
解决依赖项
一定要执行完这个,将依赖包安装完全,不然编译不能通过
rosdep install --from-paths src --ignore-src --rosdistro kinetic -y
开始编译
./src/catkin/bin/catkin_make_isolated --install -DCMAKE_BUILD_TYPE=Release
参考文献
https://wiki.ros.org/Installation/Source