libgit2 / git2go

Git to Go; bindings for libgit2. Like McDonald's but tastier.
MIT License
1.93k stars 314 forks source link

Static build can't find LIBSSH2 starting at v31.6.0 #871

Open tylerphelan opened 2 years ago

tylerphelan commented 2 years ago

Running on ubuntu 18.04

Steps:

$ apt list --installed | grep libssh
libssh2-1/now 1.8.0-1 amd64 [installed,local]
libssh2-1-dev/now 1.8.0-1 amd64 [installed,local]
$ git clone https://github.com/libgit2/git2go && cd git2go
$ git checkout v31.5.3 && git submodule update --init
$ make install-static # this works
$ rm -rf static-build
$ git checkout v31.6.0 && git submodule update --init # it's the same libgit2 anyways
$ make install-static
...
LIBSSH2 not found. Set CMAKE_PREFIX_PATH if it is installed outside of the default search path.
...

All versions above 31.6.0 have shown the same behavior for me so far. What accounts for this?

clns commented 2 years ago

I'm having the same issue. Have you found any solution?

tylerphelan commented 2 years ago

@clns this seemed to work:

sed -i '/^.*DUSE_HTTPS=OFF.*$/d' script/build-libgit2.sh
sed -i '/^.*DUSE_SSH=OFF.*$/d' script/build-libgit2.sh
make install-static
clns commented 2 years ago

It is supposed to be like this, because it is now using the Go transport. See https://github.com/libgit2/git2go/commit/b983e1daebf528443e2a3954cd595fa3664ec93f and https://github.com/libgit2/git2go/commit/70e5e419cf0cab31553b106267a0296f3cd672d9.