Ubuntu 18.04 ROS 源码编译

环境准备

如果你已经安装过二进制的ROS,可以跳过环境准备步骤
如果没有,请按照以下步骤进行
打开终端,输入 以下代码代码

sudo apt-get install python-rosdep python-rosinstall-generator python-vcstool python-rosinstall build-essential
sudo rosdep init
rosdep update

注意:如果除了下面官方给出的依赖包外,自己安装过其他包(例如pcl 无论是源码编译安装还是二进制安装),建议卸载。否则可能会在编译ROS时出现错误,并且很难排查

下载源码

新建一个工作空间

mkdir ~/catkin_ws
cd ~/catkin_ws

以下操作都是在catkin_ws文件夹内进行的,请不要关闭当前终端。

你可以从下面选择一种版本进行下载:

桌面完全版 : ROS, rqt, rviz, robot-generic libraries, 2D/3D simulators, navigation and 2D/3D perception

rosinstall_generator desktop_full --rosdistro melodic --deps --tar > melodic-desktop-full.rosinstall
vcs import src < melodic-desktop-full.rosinstall

桌面版 (官方推荐): ROS, rqt, rviz, and robot-generic libraries

    $ rosinstall_generator desktop --rosdistro melodic --deps --tar > melodic-desktop.rosinstall
    $ vcs import src < melodic-desktop.rosinstall

ROS核心版(只有ROS骨架): ROS package, build, and communication libraries. No GUI tools.

    $ rosinstall_generator ros_comm --rosdistro melodic --deps --tar > melodic-ros_comm.rosinstall
    $ vcs import src < melodic-ros_comm.rosinstall

我选择了桌面完全版,如果提示src文件不存在,请在catkin_ws文件夹内自行建立src文件夹。然后重新执行上面的代码。

注意:上面代码的第一行会在catkin_ws文件夹下建立一个后缀为 .rosinstall的文件,该文件包含了各种包的名称以及下载地址

由于网络原因,部分包可能无法下载。请找到catkin_ws文件夹内的 melodic-desktop-full.rosinstall 文件,里面包含包的名称以及下载链接,根据终端中的报错信息(即红色部分,上方给出了文件位置),自行下载,然后剪切到给定的位置下。
在这里插入图片描述在这里插入图片描述

例如:

根据终端提示信息发现image_common没有下载成功,在catkin_ws/melodic-desktop-full.rosinstall 文件中搜索找到image_common,根据下方的url地址,下载压缩包,解压缩并更改文件夹名称为image_common,然后将该文件夹剪切到catkin_ws/src/image_common文件夹内。其他未能成功下载的包按照同样的方式处理。

注意,不要先修改压缩文件家名称再解压缩,不然会多一级文件夹

不要重复执行上述代码,重复执行好像会覆盖掉已经下载好的包

安装依赖

下载完成以后,输入以下代码

rosdep install --from-paths src --ignore-src --rosdistro melodic -y

等待依赖包安装完成。结束以后就可以开始编译源码了

编译

输入以下代码

./src/catkin/bin/catkin_make_isolated --install -DCMAKE_BUILD_TYPE=Debug

等待编译完成,时间会很长,请耐心等待。

然后执行

source ~/ros_catkin_ws/install_isolated/setup.bash

检查更新

修改旧的 rosinstall 文件名称,避免新的rosinstall文件将其覆盖掉,输入以下代码

cd ~/catkin_ws
mv -i melodic-desktop-full.rosinstall melodic-desktop-full.rosinstall.old

然后再输入以下 代码 检查新的源

rosinstall_generator desktop_full --rosdistro melodic --deps --tar > melodic-desktop-full.rosinstall

然后输入以下 代码 比较新的rosinstall文件和旧的rosinstall文件,查看哪些包将要被更新

diff -u melodic-desktop-full.rosinstall melodic-desktop-full.rosinstall.old

之后执行

vcs import src < melodic-desktop-full.rosinstall

下载源码包,并输入以下 代码 进行重新编译

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值