当前位置:   article > 正文

Build Apollo中的报错解决_apollo编译build出错

apollo编译build出错

在Apollo文件夹中执行:

./docker/scripts/dev_start.sh
  • 1

若出现报错:
在这里插入图片描述
经过查找,应该是网络问题,重新执行一遍或者重新联网即可。但我重新执行后还是报错,于是我重启电脑后重新运行,运行成功。
在这里插入图片描述若出现以下报错:
在这里插入图片描述
则在命令前加上sudo

sudo ./docker/scripts/dev_start.sh
  • 1

进入容器:

./docker/scripts/dev_into.sh
  • 1

若出现报错:

Error response from daemon: Container 0ab947bcd84aa90d9e3328274ca2a40697a8e3eb84bba59c716a41bacc03112d is not running

在这里插入图片描述则查看container:

docker ps -a
  • 1

在这里插入图片描述找到需要的容器名称(此处为apollo_dev_purples)对应的id(此处为c5f27ac28e08)
启动该容器:

docker start c5f27ac28e08
  • 1

在这里插入图片描述若出现报错:

Error response from daemon: No such container: apollo_dev_purples
  • 1

再执行一遍:

sudo ./docker/scripts/dev_start.sh
  • 1

若还是不行,可能是没有设置docker不用sudo执行,则设置一下(这里我设置了很多次都失败,但是安装了docker desktop后设置成功了)设置方法见:
创建docker组:

sudo groupadd docker
  • 1

将用户添加到docker组中:

sudo usermod -aG docker $USER
  • 1

注销并重新登录,以便重新评估你的组成员身份:

newgrp docker
  • 1

验证是否可以在不使用sudo时运行docker:

docker run hello-world
  • 1

若设置完成,将显示:
在这里插入图片描述然后再次

sudo ./docker/scripts/dev_start.sh
./docker/scripts/dev_into.sh
  • 1
  • 2

Build Apollo :

./apollo.sh build_opt_gpu 
  • 1

报错一:
在这里插入图片描述
在命令前加sudo

sudo ./apollo.sh build_opt_gpu 
  • 1

报错二:
在这里插入图片描述
一般是由于网络问题,但是经常出现这种问题,因此,可直接手动下载安装包,然后移动到相应位置即可。如,上例中,
在这里插入图片描述
下载zlib-1.2.11.tar.gz失败,则直接通过链接:https://zlib.net/zlib-1.2.11.tar.gz 在浏览器中直接下载,然后在下载(未更改下载位置时默认在下载文件夹)中找到下载的文件
在这里插入图片描述
将文件移动到apollo下的.cache/distdir文件夹内。
若在apollo文件夹内没有找到.cache,在文件夹右上角,打开显示隐藏文件。
在这里插入图片描述
若文件夹上有锁,无法粘贴,则在apollo所在文件夹打开terminal,执行下方命令修改权限

sudo chmod -R 777 apollo-7.0.0   # apollo-7.0.0为apollo文件夹名称
  • 1

复制粘贴完成后再次运行build命令:

./apollo.sh build_opt_gpu 
  • 1

对其他package下载失败解决方法类似。
若报错为下图:
在这里插入图片描述链接https://github.com/madler/zlib/archive/v1.2.11.tar.gz无法下载,则再执行一次前面的build命令。

但是,由于zlib-1.2.11.tar.gz的下载链接已经实效,故上述例子中的链接(https://zlib.net/zlib-1.2.11.tar.gz )不可用,可用此链接下载:https://github.com/madler/zlib/archive/v1.2.11.tar.gz
且,将dependencies.bzl中下载zlib-1.2.11.tar.gz 的链接替换为上述链接:
apollo文件夹内打开terminal:

cd .cache/bazel/540135163923dd7d5820f3ee4b306b32/external/rules_proto/proto/private
sudo gedit dependencies.bzl
  • 1
  • 2

在打开的文档中,将“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",
        ],
    }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

若出现报错:
在这里插入图片描述

添加以后还是报错,则打开文件grpc_python_deps.bzl
地址:
/home/zwf/apollo/.cache/bazel/540135163923dd7d5820f3ee4b306b32/external/com_github_grpc_grpc/bazel/grpc_python_deps.bzl
按照与其中对应的格式添加以下内容:

    if "rules_java" not in native.existing_rules():  
        http_archive(
            name = "rules_java",     
            sha256 = "f5a3e477e579231fca27bf202bb0e8fbe4fc6339d63b38ccb87c2760b533d1c3",  
            strip_prefix = "rules_java-981f06c3d2bd10225e85209904090eb7b5fb26bd",   
            urls = [
                "https://github.com/bazelbuild/rules_java/archive/981f06c3d2bd10225e85209904090eb7b5fb26bd.tar.gz"  
    ],
)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

放网址的话容易受网络影响,则可以下载压缩包后存放在本地,然后urls中改为对应的地址,此处我放在apollo/.cache/distdir中则地址改为:file:///home/XXX/apollo/.cache/distdir/rules_java-981f06c3d2bd10225e85209904090eb7b5fb26bd.tar.gz(GitHub中给出的解决方法apollo/issues/14289
即:

http_archive(
    name = "rules_java",
    sha256 = "f5a3e477e579231fca27bf202bb0e8fbe4fc6339d63b38ccb87c2760b533d1c3",
    strip_prefix = "rules_java-981f06c3d2bd10225e85209904090eb7b5fb26bd",
    urls = [
        "file:///home/zwf/apollo/.cache/distdir/rules_java-981f06c3d2bd10225e85209904090eb7b5fb26bd.tar.gz"
    ],
)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

保存后并退出。再次运行build命令:

./apollo.sh build_opt_gpu 
  • 1

将安装包都下载并移动到需要位置后,若出现如下报错:
在这里插入图片描述
使用以下命令查看:

nvcc --list-gpu-arch
  • 1

在这里插入图片描述
发现没有compute_89,需要重新安装cuda和nvcc,安装方法见ubuntu20.04下载CUDA教程
此处下载了cuda12.2.0
下载完成后,查看cuda12.2版本安装位置

sudo find / -name cuda-12.2
  • 1

一般在/usr/local/cuda-12.2
修改.bashrc

sudo gedit ~/.bashrc
  • 1

vim ~/.bashrc
  • 1

增加新cuda环境变量,加在最后即可

export CUDA_HOME=/usr/local/cuda-12.2 
export PATH=/usr/local/cuda-12.2/bin:$PATH 
export LD_LIBRARY_PATH=/usr/local/cuda-12.2/lib64:$LD_LIBRARY_PATH
  • 1
  • 2
  • 3

更新环境变量

source ~/.bashrc
  • 1

再次查看nvcc --list-gpu-arch是否有compute_89
在这里插入图片描述若已经将压缩包粘贴到目录中,仍然报错该压缩包下载失败,再执行一遍即可。

build完成:
在这里插入图片描述

暂存图片
在这里插入图片描述

参考资料:
【1】Apollo(百度自动驾驶):《bazel时提示缺少zlib》
【2】安装Apollo时常见的错误总结和使用窍门
【3】关于RTX 4090 微调llama2模型时出现nvcc fatal : Unsupported gpu architecture 'compute_89’的解决办法

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/899878
推荐阅读
相关标签
  

闽ICP备14008679号