具体问题如下图所示,
造成这个问题的主要原因是:在apollo工程中的WORKSPACE.in文件中对文件plat-sw-3.0.0.1.zip是通过网络链接下载的,若网络问题导致无法下载就会出现这个问题。
解决方法:1.通过链接https://github.com/ApolloAuto/apollo-contrib/releases/download/v3.0.0/plat-sw-3.0.0.1.zip下载文件plat-sw-3.0.0.1.zip;
2.将文件放入docker apollo5.5容器的“/home/tmp”中,/home/Downloads是文件所在路径,3ef42b160759 是该镜像对应的容器ID(可以通过"docker ps -a"获取),/home/tmp是要存放的路径;
docker cp /home/Downloads/plat-sw-3.0.0.1.zip 3ef42b160759:/home/tmp
3.修改文件WORKSPACE.in。
#adv_plat new_http_archive( name = "adv_plat", build_file = "third_party/adv_plat.BUILD", sha256 = "0a58dadab924b520d5b5a58ef82fc0f76c2aa4feaaabd49ec9873228c125d513", url = "https://github.com/ApolloAuto/apollo-contrib/releases/download/v3.0.0/plat-sw-3.0.0.1.zip", ) #修改为:
new_http_archive( name = "adv_plat", build_file = "third_party/adv_plat.BUILD", sha256 = "0a58dadab924b520d5b5a58ef82fc0f76c2aa4feaaabd49ec9873228c125d513", url = "file:///home/tmp/plat-sw-3.0.0.1.zip", )
通过以上三步,再次执行就编译通过了:
bash docker/scripts/dev_start.sh bash docker/scripts/dev_into.sh ./apollo.sh build
但以上操作并没有修改原始镜像,所以当你关机重新编译的时候依然会碰到这个问题,用生成新的镜像替代旧的镜像。