问题描述
我一直试图在 Linux 上克隆 risc-v GNU 工具链,但失败了。
开启:
git clone --recursive https://github.com/riscv/riscv-gnu-toolchain
我得到(片段):
Checking connectivity... done.
Submodule path 'riscv-glibc': checked out '7395b0964db9cc4dd544926414960e9a16842180'
cloning into 'riscv-newlib'...
fatal: unable to connect to sourceware.org:
sourceware.org[0: 8.43.85.97]: errno=Connection refused
sourceware.org[1: 2620:52:3:1:0:246e:9693:128c]: errno=Network is unreachable
我认为这可能是暂时的网络问题,但现在已经持续了好几天。
随后尝试:
git submodule update --init --recursive
同样失败:
cloning into 'riscv-newlib'...
fatal: unable to connect to sourceware.org:
sourceware.org[0: 8.43.85.97]: errno=Connection refused
sourceware.org[1: 2620:52:3:1:0:246e:9693:128c]: errno=Network is unreachable
fatal: clone of 'git://sourceware.org/git/newlib-cygwin.git' into submodule path 'riscv-newlib' Failed
我已经试过了:
git config --global url.https://github.com/.insteadOf git://github.com
但这没什么区别。
解决方法
存储库的 CI 工具报告最新补丁失败。所以倒车为我解决了这个问题。
特别是:
git clone https://github.com/riscv/riscv-gnu-toolchain
(即此时不要开始递归)
cd riscv-gnu-toolchain
编辑 .gitmodules 以反转:
@@ -12,7 +12,7 @@
url = ../riscv-dejagnu.git
[submodule "riscv-newlib"]
path = riscv-newlib
- url = ../riscv-newlib.git
+ url = git://sourceware.org/git/newlib-cygwin.git
[submodule "riscv-gdb"]
path = riscv-gdb
url = ../riscv-binutils-gdb.git
那么:
git submodule update --init --recursive