linux安装cyberRT6.0
前言
由于笔者只对cyberRT感兴趣,之前安装的是apollo 9.0,里边包含了所有的代码,包括仿真和pnc等,占据空间较大,因此尝试改用apollo6.0,只安装cyberRT部分
有关apollo 9.0部分的安装见官网,没有遇到什么bug
apollo.baidu.com/community/Apollo-Homepage-Document?doc=BYFxAcGcC4HpYIbgPYBtXIHQCMEEsATAV0wGNkBbWA5UyRFdZWVBEAU0hFgoIH0adPgCY%2BADwCiAVnEBBCeIAcATnETFcgMxKZkgGxKAwkoDsa3YoAi45WdGSLxsYt0SzY%2BXICMa98oAMSgYALF7%2B2NhemsLBJsrCYZqKwors7AikBIp6miYmpFJSXpigFKhAA
但apollo 6.0的安装遇到了一些问题,故而在此记录
安装
安装docker
docker的安装有两种方式:apt安装与snap,有关apt与snap之间的区别可参考
apt与snap的对比(附apt更新清华源与常用命令)_apt和snap-CSDN博客
这里建议使用apt进行安装,后续可方便修改镜像源
docker安装、设置非sudo执行、卸载_docker 设置不使用sudo 直接运行-CSDN博客
docker镜像加速
加速镜像下,需要配置docker国内镜像源,可参考
docker镜像加速-CSDN博客
下载apollo源码
注意一定要下载6.0版本的源码,否则后续编译安装会失败
git clone -b r6.0.0 https://github.com/ApolloAuto/apollo.git
启动进入Apollo Docker 开发容器
cd apollo
./docker/scripts/cyber_start.sh
./docker/scripts/cyber_into.sh
在容器中构建Apollo
./apollo.sh build cyber
这里不出意外的话应该会编译失败,并报错显示
ERROR: An error occurred during the fetch of repository 'zlib
出现这个错误的原因是Apollo依赖protobuf库,而protobuf库又依赖zlib库。这些库都要从网上下载,而protobuf库提供的zlib下载链接是https://zlib.net/zlib-1.2.11.tar.gz,问题是这个链接已经失效了,下载当然会失败。
解决办法如下,在apollo目录下找到下述文件夹
cd .cache/bazel/540135163923dd7d5820f3ee4b306b32/external/rules_proto/proto/private
在该文件夹内dependencies.bzl文件,然后修改zlib部分内容
"zlib": {
"sha256": "629380c90a77b964d896ed37163f5c3a34f6e6d897311f1df2a7016355c45eff",
"build_file": "@com_google_protobuf//:third_party/zlib.BUILD",
"strip_prefix": "zlib-1.2.11",
"urls": [
"https://github.com/madler/zlib/archive/v1.2.11.tar.gz",
],
}
然后再重新使用上述命令构建apollo即可
编译时间较长,需耐心等待
测试
1、为了使cyber日志信息输出到终端,需要修改配置文件。
vim cyber/setup.bash
#修改0为1
export GLOG_alsologtostderr=1
#使配置文件生效
source cyber/setup.bash
2、测试
打开两个终端,分别执行
./bazel-bin/cyber/examples/talker
./bazel-bin/cyber/examples/listener
发布订阅信息在两终端打印,安装完成