当前位置: 首页 > article >正文

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

 发布订阅信息在两终端打印,安装完成


http://www.kler.cn/a/407940.html

相关文章:

  • 【操作系统】每日 3 题(三十五)
  • 使用Kotlin写一个将字符串加密成short数组,然后可以解密还原成原始的字符串的功能
  • 实习冲刺第二十九天
  • 力扣 189. 轮转数组
  • element-plus教程:Layout 布局
  • Web3与智能合约:区块链技术下的数字信任体系
  • 【Linux驱动开发】驱动中的信号 异步通知开发
  • Kotlin:后端开发的新宠
  • 面试经典 150 题:205,55
  • 【Linux 报错】SSH服务器拒绝了密码。请再试一次
  • 【Spring编程常见错误50例】04. Spring Bean 生命周期常见错误-上
  • 软件工程导论 选填题知识点总结
  • ArcGIS Pro 3.4新功能1:唯一值符号化增加复选框,可在内容窗格和布局视图中控制类别的可见性。
  • 实现一个string的indexof方法,给出时空复杂度估计
  • HarmonyOS Next原创项目
  • 乐理的学习(调式)
  • 通过socket设置版本更新提示
  • 鸿蒙HarmonyOS学习笔记(1)
  • 工程师 - 智能家居方案介绍
  • 符号有向图(Signed Directed Graph, SDG)的前世今生
  • 基于YOLOv8深度学习的扰乱公共秩序打架异常行为检测系统研究与实现(PyQt5界面+数据集+训练代码)
  • Android开发实战班 -应用架构 之依赖注入(Hilt)
  • PHP8解析php技术10个新特性
  • 蓝桥杯嵌入式再学习(2)基础框架的构建
  • 首次公开用系统审查与评估大语言模型安全性的数据集
  • Go语言链接Redis数据库