ubuntu20.04安装Apollo Cyber RT及问题记录

1.docker 安装

此处参考官方安装教程
docker官方教程

1.1 卸载旧版本

运行以下命令以卸载所有冲突的软件包

for pkg in docker.io docker-doc docker-compose podman-docker containerd runc; do sudo apt-get remove $pkg; done

1.2 更新软件包索引并安装软件包以允许使用

sudo apt-get update
sudo apt-get install ca-certificates curl gnupg

1.3 添加 Docker 的官方 GPG 密钥

sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg

1.4 使用以下命令设置存储库

echo \
  "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

1.5 更新包索引

  sudo apt-get update

1.6 安装 Docker Engine、containerd 和 Docker Compose

sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

1.7 验证

docker -v #查看版本,可能要加sudo
sudo docker pull hello-world
sudo docker run hello-world

1.8 更换镜像源

通过修改daemon配置文件/etc/docker/daemon.json来使用加速器(如果安装nvidia container toolkit的话配置文件会提示有冲突,自己按照提示选择一个保留)

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://5yst7tuh.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

1.9 将用户加入docker组,解决执行docker命令需要加sudo问题

sudo groupadd docker
sudo usermod -aG docker 用户名
sudo systemctl restart docker
sudo chmod a+rw /var/run/docker.sock

1.10 加入开机自启

sudo systemctl enable docker.service
sudo systemctl enable containerd.service

2 安装nvidia-container-toolkit

distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list

sudo apt-get -y update 
sudo apt-get install -y nvidia-docker2
sudo systemctl restart docker

3.克隆源码仓库

3.1 下载

github

git clone https://github.com/ApolloAuto/apollo.git

国内 gitee

git clone https://gitee.com/apolloconfig/apollo.git

如果要克隆其它版本,加上-b 版本号就行,如下Apollo 6.0:

git clone -b v6.0.0 https://gitee.com/apolloconfig/apollo.git

3.2 启动开发容器

进入Apollo源码所在根目录,启动apollo docker容器

./docker/scripts/dev_start.sh

如果只用Cyber RT

./docker/scripts/cyber_start.sh

国内执行以下命令更快

./docker/scripts/cyber_start.sh -g cn

3.3 进入容器

启动apollo

./docker/scripts/dev_into.sh

如果只启动cyber rt

./docker/scripts/cyber_into.sh

3.4 在容器中构建apollo

构建apollo

./apollo.sh build

只构建cyber rt (最好加上sudo,避免出现因权限导致的错误)

./apollo.sh build cyber

如果报错ERROR: An error occurred during the fetch of repository ‘zlib’
这是因为zlib的链接失效了,进入 /apollo/.cache/bazel/540135163923dd7d5820f3ee4b306b32/external/rules_proto/proto/private/dependencies.bzl
修改如下,

"zlib": {
        "sha256": "629380c90a77b964d896ed37163f5c3a34f6e6d897311f1df2a7016355c45eff",
        "build_file": "@com_google_protobuf//:third_party/zlib.BUILD",
        "strip_prefix": "zlib-1.2.11",
        "urls": [
            "https://zlib.net/fossils/zlib-1.2.11.tar.gz",
        ],
    }

注意,其他博主提供的以下链接已经失效了https://github.com/madler/zlib/archive/v1.2.11.tar.gz
如果本文链接失效,可进入https://zlib.net/ 查找对应版本链接

其它的如果是报链接错误,可根据报错提示的链接用浏览器进行搜索,如果文件能够正常下载说明是网络问题,可用魔法或反复执行编译命令能够解决。

如果报错 No sunch file or directory #include “glog/logging.h”
执行以下命令

sudo apt-get update
sudo apt-get install libgoogle-glog-dev

如果报 Permission denied就是权限问题

rm -r /apollo/.cache/bazel

或 加上sudo

sudo ./apollo.sh build cyber

如果还能想起其它问题,以后再加

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值