pia*_*ton 7 eigen gitlab bazel
尝试下载 Eigen 时
http_archive(
name = "eigen",
strip_prefix = "eigen-3.3.7",
sha256 = "d56fbad95abf993f8af608484729e3d87ef611dd85b3380a8bad1d5cbc373a57",
urls = [
"https://gitlab.com/libeigen/eigen/-/archive/3.3.7/eigen-3.3.7.tar.gz"
],
build_file = "//third_party:eigen.BUILD"
)
Run Code Online (Sandbox Code Playgroud)
bazel fetch 产生错误
WARNING: Download from https://gitlab.com/libeigen/eigen/-/archive/3.3.7/eigen-3.3.7.tar.gz failed: class com.google.devtools.build.lib.bazel.repository.downloader.UnrecoverableHttpException GET returned 406 Not Acceptable
ERROR: An error occurred during the fetch of repository 'eigen':
java.io.IOException: Error downloading [https://gitlab.com/libeigen/eigen/-/archive/3.3.7/eigen-3.3.7.tar.gz]
Run Code Online (Sandbox Code Playgroud)
我已经工作了几个星期,所以我想知道问题是来自 bazel 还是来自 GitLab 服务器?
我对你的问题没有真正的解决方案,但有一些修复(使用 Bazel 2.2.0 测试):
方法一:利用镜子
招待eigen自己
我现在使用自己的网络服务器来托管eigen:
http_archive(
name = "eigen",
build_file = "//:eigen.BUILD",
sha256 = "d56fbad95abf993f8af608484729e3d87ef611dd85b3380a8bad1d5cbc373a57",
strip_prefix = "eigen-3.3.7",
url = "http://vertexwahn.de/artifacts/eigen-3.3.7.tar.gz",
)
Run Code Online (Sandbox Code Playgroud)
您还可以添加两者urls:
http_archive(
name = "eigen",
build_file = "//:eigen.BUILD",
sha256 = "d56fbad95abf993f8af608484729e3d87ef611dd85b3380a8bad1d5cbc373a57",
strip_prefix = "eigen-3.3.7",
urls = [
"https://gitlab.com/libeigen/eigen/-/archive/3.3.7/eigen-3.3.7.tar.gz",
"http://vertexwahn.de/artifacts/eigen-3.3.7.tar.gz",
],
)
Run Code Online (Sandbox Code Playgroud)
修复 2:保留本地副本
利用--distdir.
将eigen-3.3.7.tar.gz其放入计算机上的目录中并使用--disdir.
bazel build --distdir=X:\Dropbox\artifacts //...
Run Code Online (Sandbox Code Playgroud)
概括
由于您不希望被愚蠢的网络服务器阻止,因此您应该实施一些策略来了解在发生此类情况时如何继续工作。
尽管如此,找出为什么会出现 406 错误还是很有趣的。如果获取请求失败,您还可以使用网络嗅探器(例如 Wireshark)来获取更多详细信息。我尝试使用 Wireshark 查找更多信息,但它是 https 连接,并且所有内容都已加密 - 太糟糕了。
| 归档时间: |
|
| 查看次数: |
885 次 |
| 最近记录: |