WSL2运行Apollo9.0

参考资料

  1. Apollo官方文档-源码安装说明
  2. Apollo官方社区文章-40系列显卡新镜像支持
  3. Apollo Github Issue-14821 使用4090显卡编译报错
  4. Apollo Github Issue-14478 Fail to build apollo in WSL2 ( error code: 14, error message: ‘Socket closed’)
  5. Apollo Github Issue-289 WSL2: nvidia-container-cli mount error, libnvidia-ml.so.1: file exists: unknown
  6. Apollo Github Issue-15246 dev_start进不去

安装步骤

首先根据官方文档安装好依赖,然后下载Apollo v9.0.0源码,解压后进入apollo目录。

1. 修改dev_start.sh脚本

Apollo默认镜像对于40系列显卡不支持,根据参考资料2,需要修改docker/scripts/dev_start.sh中的VERSION_X86_64镜像版本:

1
VERSION_X86_64="dev-x86_64-18.04-20231128_2222"

按照参考资料2中的步骤说明,下一步直接执行./docker/scripts/dev_start.sh进行镜像构建即可,但在WSL2下构建会出现以下问题:

1
nvidia-container-cli mount error, libnvidia-ml.so.1: file exists: unknown.

实际上镜像已经成功生成,只是在执行容器时出现错误,根据参考资料5和参考资料6,首先将dev_start.sh中的容器执行命令注释掉。

然后按照以下步骤进行操作:

```bash

查看docker 镜像id

docker images

进入容器

sudo docker run -it —rm

删除镜像内NVIDIA相关文件

rm /usr/lib/x86_64-linux-gnu/libnvidia-
rm /usr/lib/x86_64-linux-gnu/libcuda.so

rm /usr/lib/x86_64-linux-gnu/libnvcuvid.so.*