1737973
1737973

Reputation: 118

Unable to get to bison build bootstrap

I was casually browsing the examples, judging these (rpcalc and mfcalc) they seem those appear after building?

However if I try to build, I think these are the build instructions..:

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
[...]

This happens:

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 info:

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

UNIX name info:

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$ _

I'm used to have git submodule update --init working without problems, but this time it failed. Do you know why? I don't know what is happening. I don't suspect of any networking issues.

Upvotes: 0

Views: 309

Answers (1)

torek
torek

Reputation: 489528

It appears that git:// access to all savannah.gnu.org repositories is currently off line. (By the time you, or some one else, read this, they may be back up this way.)

https:// access to the same repositories is working at this time.

The submodules encode the access protocol, and the failed clone attempts have already updated your own configuration, so to switch it, edit your .git/config file (using git config --edit to bring up your favorite editor). You will see the following, though you might have a few different settings:

[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

Change each url = git://git.<name>.gnu.org/ to url = https://git.<name>.gnu.org/git/. Write the file, exit your editor, and re-run git submodule update --init to retry the cloning.

(I got one warning:

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

since git.sv.gnu.org is really git.savannah.gnu.org; you can do the expansion yourself, if you like, to avoid this warning.)

Upvotes: 2

Related Questions