【apollo】源码编译失败-依赖包无法下载-解决方案

2023-05-16

编译报错

执行:bash apollo.sh build_opt_gpu
报错:

Error downloading https://github.com/bazelbuild/rules_java/archive/981f06c3d2bd10225e85209904090eb7b5fb26bd.tar.gz] to /apollo/.cache/bazel/540135163923dd7d5820f3ee4b306b32/external/rules_java/temp14928806253694828933/981f06c3d2bd10225e85209904090eb7b5fb26bd.tar.gz:

也就是rules_java这个包因为服务器无法访问github的原因下不下来;另外也没有proxy可用(学校的服务器);解决方法是自己本地手动下载 -> WinSCP上传服务器 -> 复制到docker -> 修改bazel的.bzl文件中的url。
虽然很麻烦,但是总共只有三个包需要这么干,工作量比想象的少很多了。

参考

https://github.com/ApolloAuto/apollo/issues/14289

解决方法

step1:

三个包分别是 rules_javarules_swift,以及cpython,下载连接为

https://github.com/bazelbuild/rules_java/archive/981f06c3d2bd10225e85209904090eb7b5fb26bd.tar.gz
# 下载为rules_java-981f06c3d2bd10225e85209904090eb7b5fb26bd.tar.gz
https://github.com/bazelbuild/rules_swift/releases/download/0.12.1/rules_swift.0.12.1.tar.gz
# 下载为rules_swift.0.12.1.tar.gz
https://github.com/cython/cython/archive/c2b80d87658a8525ce091cbe146cb7eaa29fed5c.tar.gz
# 下载为 cython-c2b80d87658a8525ce091cbe146cb7eaa29fed5c.tar.gz

step2

上传服务器过程略。

修改bzl中urls

  1. 对于rules_javarules_swift,可以直接在apollo/WORKSPACE下增加如下代码,可以直接覆盖掉不知道在哪里的下载链接:
> pwd
# /apollo
> vi WORKSPACE
### 直接在文件的最后添加:
http_archive(
    name = "rules_java",
    sha256 = "f5a3e477e579231fca27bf202bb0e8fbe4fc6339d63b38ccb87c2760b533d1c3",
    strip_prefix = "rules_java-981f06c3d2bd10225e85209904090eb7b5fb26bd",
    urls = [
        "file:///tmp/tmp_mapping/rules_java-981f06c3d2bd10225e85209904090eb7b5fb26bd.tar.gz"
    ],
)

http_archive(
    name = "build_bazel_rules_swift",
    sha256 = "bf2861de6bf75115288468f340b0c4609cc99cc1ccc7668f0f71adfd853eedb3",
    #strip_prefix = "rules_java-981f06c3d2bd10225e85209904090eb7b5fb26bd",
    urls = [
        "file:///tmp/tmp_mapping/rules_swift.0.12.1.tar.gz"
    ],
)

其中/tmp/tmp_mapping/是docker下的文件夹;
文件复制命令:/usr/bin/docker cp 本地文件路径 ID全称:容器路径
docker的ID查看指令:docker ps,第一列的数字字母混合字符串为ID。

  1. 对于cpython,个人直接用如上的方式修改,但是失败了;于是先grep找到包含下载链接的bzl文件,修改urls
> grep -r "https://github.com/cython/cython/archive/c2b80d87658a8525ce091cbe146cb7eaa29fed5c.tar.gz"  /apollo/.cache/bazel/
# 匹配结果
# /apollo/.cache/bazel/540135163923dd7d5820f3ee4b306b32/external/com_github_grpc_grpc/bazel/grpc_python_deps.bzl:

> vi /apollo/.cache/bazel/540135163923dd7d5820f3ee4b306b32/external/com_github_grpc_grpc/bazel/grpc_python_deps.bzl:
# 修改:
###########
    if "cython" not in native.existing_rules():
        http_archive(
            name = "cython",
            build_file = "@com_github_grpc_grpc//third_party:cython.BUILD",
            sha256 = "d68138a2381afbdd0876c3cb2a22389043fa01c4badede1228ee073032b07a27",
            strip_prefix = "cython-c2b80d87658a8525ce091cbe146cb7eaa29fed5c",
            urls = [
               # "https://github.com/cython/cython/archive/c2b80d87658a8525ce091cbe146cb7eaa29fed5c.tar.gz",
               "file:///tmp/tmp_mapping/cython-c2b80d87658a8525ce091cbe146cb7eaa29fed5c.tar.gz",
            ],
        )

后记

对bzl不熟悉,找下载url的过程被迫浅浅学习了一通bazel的逻辑,可真是麻烦啊。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【apollo】源码编译失败-依赖包无法下载-解决方案 的相关文章

随机推荐

  • 一分钟理解 AP(Affinity Propagation) 亲和⼒传播算法

    这篇博客发出来后 xff0c 我用 Rust 复现代码出现问题 为此 xff0c 我对对照了 sklearn 的相关代码 xff0c 反复比较了两天 xff0c 发现一处 bug xff0c 把 43 61 误写成了 61 xff0c 导致
  • 机器学习:准确率(Precision)、召回率(Recall)、F值(F-Measure)、ROC曲线、PR曲线

    增注 xff1a 虽然当时看这篇文章的时候感觉很不错 xff0c 但是还是写在前面 xff0c 想要了解关于机器学习度量的几个尺度 xff0c 建议大家直接看周志华老师的西瓜书的第2章 xff1a 模型评估与选择 xff0c 写的是真的很好
  • (5)细菌实验分组

    描述 有一种细菌分为A B两个亚种 xff0c 它们的外在特征几乎完全相同 xff0c 仅仅在繁殖能力上有显著差别 xff0c A亚种繁殖能力非常强 xff0c B亚种的繁殖能力很弱 在一次为时一个小时的细菌繁殖实验中 xff0c 实验员由
  • Python you-get 库 + FFmpeg 工具下载B站视频

    Python you get 库 43 FFmpeg 工具下载B站视频 电脑系统 xff1a Windows 10 准备阶段 xff08 安装you get和FFmpeg xff09 安装其实非常简单 xff0c 出现问题可以在网上参考其他
  • 虚拟机的创建、Linux相关基本命令等

    作业内容 xff1a 1 重新创建一个虚拟机 xff0c 熟悉下步骤 创建一个新的虚拟机 xff1a 1 点击 xff1a 创建新的虚拟机 2 下一步 3 提前下载一个镜像文件 xff0c 选择该文件即可 xff08 下载地址 xff1a
  • 解决mysql8.0主从配置,从库连接报错:Authentication plugin ‘caching_sha2_password‘ reported error

    其他配置都是按照网上分享的流程 xff0c 但是show slave status 查看从库状态时 xff0c Slave IO Running 61 connecting xff0c 这个状态是不对的 xff08 正常的Slave IO
  • windows10下visual studio 2019安装以及cuda11配置

    安装visual studio 2019 进入官方的下载页面 xff0c 可能需要登录 xff0c 登录后选取社区版下载 注意 xff0c 这里只是下载安装器 xff0c 真正的安装会在后续执行文件 xff0c 配置安装目录后 xff0c
  • Go语言基础语法_1_2021-10-28

    序言 xff1a 本身 xff0c 我是一个Java开发者 xff0c 但是最近在学习Java虚拟机 xff0c 但是看来看去总是不明白Java虚拟机是怎样实现的 xff0c 而有一本书是 自己动力手写Java虚拟机 xff0c 是用go语
  • debian(Linux)系统下安装jdk1.8

    第一步 xff1a 下载安装包 下载Linux环境下的jdk8 xff0c 请去 xff08 Java Downloads Oracle xff09 中下载jdk的安装文件 xff1b 由于我的Linux是64位的 xff0c 因此我下载j
  • Codeblocks自动代码格式化

    在代码框里点右键 xff0c 按Format use Astyle就会自动代码格式化了 但是它默认的风格是大括号另起一行 xff0c 很不习惯 xff0c 实际上是可以改的 1 Setting gt Editor gt Source For
  • 无法找到输出设备?

    希望我的方法能帮到你 我的电脑是联想 系统是win11 上次更新之后 扬声器就不能用了 右下角的喇叭是一个叉叉 一直没有放在心上 今天解决了一下 右键显示叉叉的喇叭 gt 希望我的方法 能帮到你
  • java程序设计-第一章

    第一章 教材知识点 概念1 2 什么是计算机1 3 编程语言1 4操作系统 Operating System1 5 操作系统1 6 1 7 1 8 1 10关键术语 教材quiz1 如何换行要点12 打印表格 要点2 域宽3 求半径5 5的
  • 将PHP项目部署到服务器

    CONTENT 流程1 租服务器2 配置环境3 测试4 WINScp上传文件 项目语言php xff0c 连接mysql 流程 租服务器 gt 配置环境 gt 测试php和数据库环境 gt 上传文件 gt 运行 1 租服务器 步骤 xff1
  • pandas scatter_matrix使用

    示例来自 Phython机器学习基础教程 Introduction to Machine Learning with Python 德 Andreas C M ller 美 Sarah Guido 著 张亮 xff08 hysic xff0
  • tensorflow.compat.v1

    tensorflow高版本适配低版本解决方法 IDE PyCharm tf版本 2 4 问题 卸载tensorflow1 14重装了最新的2 4之后 xff0c 使用如下方法 xff0c IDE提示找不到compat模块 span clas
  • 2014.软院.Problem B. 最长连续等差子数列

    题目描述 给定一个长度为N的整数数列 xff0c 你需要在其中找到最长的连续子数列的长度 xff0c 并满足这个子序列是等差的 注意公差小于或等于0的情况也是允许的 输入格式 第一行为数据组数T xff08 1 lt 61 T lt 61
  • Android studio安卓虚拟机无法启动

    1 问题 曾经配置过并成功启动过安卓虚拟机 xff0c 时隔若干年后无法启动 xff0c 并总是自动杀死 xff0c 除此之外没有任何有用信息 xff1a The emulator process for AVD was killed 2
  • jekyll部署 (windows 10)

    windows本地部署 jekyll 搭建git pages过程中 xff0c 发现github编译失败之后处理很麻烦 xff08 多次push xff09 xff0c 于是打算本地搭建一个能编译检查的jekyllwarning xff1a
  • 未知的vue+element UI自动刷新

    每次自动刷新 xff0c URL都从 localhost 8080 url 变为 localhost 8080 url xff0c 此时就应该怀疑原因是表单自动提交导致的刷新了 x1f613 条件 xff1a 没有设置表单规则 gt 因为如
  • 【apollo】源码编译失败-依赖包无法下载-解决方案

    编译报错 执行 xff1a bash apollo sh build opt gpu 报错 xff1a Error downloading https github com bazelbuild rules java archive 981