赞
踩
./docker/scripts/dev_start.sh
若出现报错:
经过查找,应该是网络问题,重新执行一遍或者重新联网即可。但我重新执行后还是报错,于是我重启电脑后重新运行,运行成功。
若出现以下报错:
则在命令前加上sudo
sudo ./docker/scripts/dev_start.sh
./docker/scripts/dev_into.sh
若出现报错:
Error response from daemon: Container 0ab947bcd84aa90d9e3328274ca2a40697a8e3eb84bba59c716a41bacc03112d is not running
则查看container:
docker ps -a
找到需要的容器名称(此处为apollo_dev_purples)对应的id(此处为c5f27ac28e08)
启动该容器:
docker start c5f27ac28e08
若出现报错:
Error response from daemon: No such container: apollo_dev_purples
再执行一遍:
sudo ./docker/scripts/dev_start.sh
若还是不行,可能是没有设置docker不用sudo执行,则设置一下(这里我设置了很多次都失败,但是安装了docker desktop后设置成功了)设置方法见:
创建docker
组:
sudo groupadd docker
将用户添加到docker
组中:
sudo usermod -aG docker $USER
注销并重新登录,以便重新评估你的组成员身份:
newgrp docker
验证是否可以在不使用sudo
时运行docker
:
docker run hello-world
若设置完成,将显示:
然后再次
sudo ./docker/scripts/dev_start.sh
./docker/scripts/dev_into.sh
./apollo.sh build_opt_gpu
报错一:
在命令前加sudo
sudo ./apollo.sh build_opt_gpu
报错二:
一般是由于网络问题,但是经常出现这种问题,因此,可直接手动下载安装包,然后移动到相应位置即可。如,上例中,
下载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文件夹名称
复制粘贴完成后再次运行build命令:
./apollo.sh build_opt_gpu
对其他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
在打开的文档中,将“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",
],
}
若出现报错:
添加以后还是报错,则打开文件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"
],
)
放网址的话容易受网络影响,则可以下载压缩包后存放在本地,然后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"
],
)
./apollo.sh build_opt_gpu
将安装包都下载并移动到需要位置后,若出现如下报错:
使用以下命令查看:
nvcc --list-gpu-arch
发现没有compute_89,需要重新安装cuda和nvcc,安装方法见ubuntu20.04下载CUDA教程
此处下载了cuda12.2.0
下载完成后,查看cuda12.2版本安装位置
sudo find / -name cuda-12.2
一般在/usr/local/cuda-12.2
下
修改.bashrc
sudo gedit ~/.bashrc
或
vim ~/.bashrc
增加新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
更新环境变量
source ~/.bashrc
再次查看nvcc --list-gpu-arch
是否有compute_89
若已经将压缩包粘贴到目录中,仍然报错该压缩包下载失败,再执行一遍即可。
build完成:
暂存图片:
参考资料:
【1】Apollo(百度自动驾驶):《bazel时提示缺少zlib》
【2】安装Apollo时常见的错误总结和使用窍门
【3】关于RTX 4090 微调llama2模型时出现nvcc fatal : Unsupported gpu architecture 'compute_89’的解决办法
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。