百度Apollo5.5编译踩坑记录

机器配置        处理器:R5-3550H        内存:16g        显卡:vega8核显        

运行成功时间2022/1/27

使用VMware pro安装虚拟机ubuntu 18.04.5 LTS。这是官方推荐的版本

分配处理器两个核心,内存4G 硬盘空间128G+30G  

硬盘空间最好准备128G,不然会有很多麻烦
 

首先,更新软件源,这对后续下载速度很重要。

接下来的步骤是根据官方给出的进行的:点击此处

安装gcc g++

sudo apt update

sudo apt install gcc g++ -y

检查是否安装成功

gcc --version
g++ --version

如果出现版本号则安装成功。

安装Apollo内核

linux-kernel-5.4.115-apollo-rt.zip

安装包下载完成后,解压后安装

unzip linux-kernel-5.4.115-apollo-rt.zip

cd linux-kernel-5.4.115-apollo-rt

sudo dpkg -i ../*.deb

安装完成后,使用reboot命令重新启动计算机。进入系统后,在终端中输入uname -r,若输出“5.4.115-apollo-rt”字样,表示安装成功。

安装docker

在安装docker之前需要将apollo的源码下载到本地

安装git

cd ~

sudo apt update

sudo apt install git -y

下载Apollo5.5版本的源码

git init

git clone -b r5.5.0 https://gitee.com/ApolloAuto/apollo.git

在下载的过程中可能会很慢、也可能链接失败,千万不要下载zip版本,否则解压后很可能会安装失败,可以下载tar.gz版本

用以下几行命令安装docker

sudo apt update

sudo apt install curl

sudo bash ./apollo/docker/setup_host/install_docker.sh

在终端中输入以下命令来验证docker是否安装成功:

sudo docker run hello-world

若能看到helloworld的相关信息,则表示docker安装成功。

设置Apollo编译环境

cd ~

echo "export APOLLO_HOME=$(pwd)" >> ~/.bashrc

source ~/.bashrc

sudo gpasswd -a $USER docker 

sudo usermod -aG docker $USER 

sudo chmod 777 /var/run/docker.sock

reboot

接下来是编译,也是我踩过最多坑的地方

是根据篇帖子顺利进行的

Apollo5.5模拟器环境搭建_lilejin322的博客-CSDN博客https://blog.csdn.net/lilejin322/article/details/108165909?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522164285306016780271513563%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=164285306016780271513563&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_ecpm_v1~rank_v31_ecpm-4-108165909.pc_search_insert_es_download&utm_term=apollo5.5+build&spm=1018.2226.3001.4187

1、转到apollo文件夹下

cd apollo

改用中科大的Docker镜像

sudo gedit /etc/docker/daemon.json

在打开的daemon.json中,加入以下代码:

{

  "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn/"]

}

重启Docker

sudo systemctl restart docker

在改用中科大的镜像之前已经换不同的方法失败过很多遍了

2、拉取Image

bash docker/scripts/dev_start.sh

第一次拉取镜像需要很长的时间,这是因为需要下载,以后拉取镜像就会快很多

在改用中科大的镜像之后等待一段时间,成功后就会看到以下界面

进入docker环境

bash docker/scripts/dev_into.sh

这时命令窗口显示前缀的方式会发生改变:$USER@in_dev_docker:/apollo$,说明我们已经成功进入Docker容器环境内。

build Apollo

这是我踩坑最深,被卡的最久的一次,之前也安装过几次,前面的步骤和我之前的不一样,所以每次报错都不一样,我都没有记录下来,但是如果是跟着我的步骤安装的话报错应该是如下图所示:

根据另一篇帖子:

VMware+ubuntu 18.04 百度Apollo5.0平台搭建_xiaobing98的博客-CSDN博客https://blog.csdn.net/xiaobing98/article/details/103392836

此文章中提到

是由于磁盘空间不足,于是我就给我的磁盘扩容,但是还是编译失败,其中花费了不少的时间,就在我重新仔细查看后发现作者不仅扩容了还加了一个交换分区

可能是我没有增加交换分区引起的,我增加了交换分区后就编译成功了,方法参考下文

vmware下ubuntu 无损扩容_fa544384733的博客-CSDN博客https://blog.csdn.net/fa544384733/article/details/82730513

增加完分区后就可以开始编译,如果直接编译还是会因为网络问题编译不通过,所以我们需要更改源文件的路径。主要的解决方案有两个:(① ②任选其一)

① 使用国内码云gitee镜像进行替换:

使用文件管理器,打开/apollo/WORKSPACE.in

这里有两个文件的名字很像,一定是选中的以in结尾的文件。

 47到第52行,替换成:

#ad-rss-lib

new_git_repository(

    name = "ad_rss_lib",

    build_file = "third_party/rss_lib.BUILD",

    tag = "v1.1.0",

    remote = "https://gitee.com/audier0879/ad-rss-lib",

)

② 是本地安装的方法,解压释放下载好的ad-rss-lib.zip到apollo文件夹中

我使用的是这个方法,前面的方法也试过,报错与该方法一样,应该也可以使用。

我们还是借鉴的步骤,打开/apollo/WORKSPACE.in文件,将第47到第52行替换为:

#ad-rss-lib

new_local_repository(

    name = "ad_rss_lib",

    build_file = "third_party/rss_lib.BUILD",

    path = "/apollo/ad-rss-lib",

)

Path后的路径应与下载提取后的文件夹路径、名字相对应,改完之后就可以开始编译了

在docker环境内输入

bash apollo.sh build

经过了几天的折腾终于出现了编译成功的界面

 启动仿真环境DreamView

bash scripts/bootstrap.sh

如果启动成功,在终端会输出以下信息:

nohup: appending output to 'nohup.out'

Launched module monitor.

nohup: appending output to 'nohup.out'

Launched module dreamview.

Dreamview is running at http://localhost:8888

在浏览器中输入以下地址:

http://localhost:8888

就会出现以下界面

 运行demo演示

下载demo_3.5

cd docs/demo_guide/

python rosbag_helper.py demo_3.5.record

运行demo_3.5

cd /apollo

cyber_recorder play -f docs/demo_guide/demo_3.5.record –loop

刷新一下浏览器就可以看到运行的画面了。

  • 2
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值