代码之家  ›  专栏  ›  技术社区  ›  1737973

无法获取Bison Build引导程序

  •  0
  • 1737973  · 技术社区  · 6 年前

    我只是随便浏览这些例子,判断一下( rpcalc mfcalc )它们似乎是在建筑后出现的?

    但是,如果我尝试构建,我认为这些是构建说明..

    bash-4.4$ pwd
    /PATH/TO/bison
    bash-4.4$ more README-hacking
    [...]
    Bison uses Git submodules: subscriptions to other Git repositories.
    In particular it uses gnulib, the GNU portability library.  To ask Git
    to perform the first checkout of the submodules, run
    
           $ git submodule update --init
    
    The next step is to get other files needed to build, which are
    extracted from other source packages:
    
            $ ./bootstrap
    [...]
    

    这种情况发生了:

    bash-4.4$ pwd
    /PATH/TO/bison
    bash-4.4$ git submodule update --init
    Cloning into '/PATH/TO/bison/gnulib'...
    fatal: read error: Connection reset by peer
    fatal: clone of 'git://git.savannah.gnu.org/gnulib.git' into submodule path
    '/PATH/TO/bison/gnulib' failed
    Failed to clone 'gnulib'. Retry scheduled
    Cloning into '/PATH/TO/bison/submodules/autoconf'...
    fatal: read error: Connection reset by peer
    fatal: clone of 'git://git.sv.gnu.org/autoconf.git' into submodule 
    path '/PATH/TO/bison/submodules/autoconf' failed
    Failed to clone 'submodules/autoconf'. Retry scheduled
    Cloning into '/PATH/TO/bison/gnulib'...
    fatal: read error: Connection reset by peer
    fatal: clone of 'git://git.savannah.gnu.org/gnulib.git' into submodule path
    '/PATH/TO/bison/gnulib' failed
    Failed to clone 'gnulib' a second time, aborting
    bash-4.4$ _
    

    GIT信息:

    bash-4.4$ git --version
    git version 2.14.0
    bash-4.4$ _
    

    UNIX名称信息:

    bash-4.4$ uname -a
    Darwin XXX.local 18.2.0 Darwin Kernel Version 18.2.0: Fri Oct  5 19:41:49
    PDT 2018; root:xnu-4903.221.2~2/RELEASE_X86_64 x86_64
    bash-4.4$ _
    

    我已经习惯了 git submodule update --init 工作没有问题,但这次失败了。你知道为什么吗? 我不知道发生了什么。我不怀疑有任何网络问题。

    1 回复  |  直到 6 年前
        1
  •  2
  •   torek    6 年前

    看来 git:// 对所有savannah.gnu.org存储库的访问目前处于离线状态。(当你或其他人读到这篇文章时,他们可能会以这种方式回来。)

    https:// 此时正在访问同一个存储库。

    子模块对访问协议进行编码,失败的克隆尝试已经更新了您自己的配置,因此要切换它,请编辑 .git/config 文件(使用) git config --edit 打开你最喜欢的编辑器)。您将看到以下内容,尽管您可能有一些不同的设置:

    [core]
            repositoryformatversion = 0
            filemode = true
            bare = false
            logallrefupdates = true
    [remote "origin"]
            url = https://git.savannah.gnu.org/git/bison.git
            fetch = +refs/heads/*:refs/remotes/origin/*
    [branch "master"]
            remote = origin
            merge = refs/heads/master
    [submodule "gnulib"]
            active = true
            url = git://git.savannah.gnu.org/gnulib.git
    [submodule "submodules/autoconf"]
            active = true
            url = git://git.sv.gnu.org/autoconf.git
    

    改变每一个 url = git://git.<name>.gnu.org/ url = https://git.<name>.gnu.org/git/ . 编写文件,退出编辑器,然后重新运行 git submodule update --init 重新克隆。

    (我得到一个警告:

    warning: redirecting to https://git.savannah.gnu.org/git/autoconf.git/
    

    自从 git.sv.gnu.org 是真的 git.savannah.gnu.org ;如果愿意,您可以自己进行扩展,以避免出现此警告。)