libgit2 / git2go

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

LibGit2 v1.7 Support #960

Open fulopattila122 opened 2 weeks ago

fulopattila122 commented 2 weeks ago

I have an Ubuntu 24.04 box, that ships with libgit2 v1.7

apt show libgit2-1.7

Package: libgit2-1.7 Version: 1.7.2+ds-1ubuntu3

I was trying to install Splitsh Lite but ran into this error:

../../go/pkg/mod/github.com/libgit2/git2go/v34@v34.0.0/Build_system_dynamic.go:12:3: error: #error "Invalid libgit2 version; this git2go supports libgit2 between v1.5.0 and v1.5.0"
   12 | # error "Invalid libgit2 version; this git2go supports libgit2 between v1.5.0 and v1.5.0"
      |   ^~~~~

Since neither libgit2 1.6 nor 1.7 is present in the table in the README, I tried to use v35 (based on a pure guess) during the build, but that apparently doesn't exist:

go: downloading github.com/libgit2/git2go/v35 v35.0.0
go: github.com/splitsh/lite/splitter imports
    github.com/libgit2/git2go/v35: go.mod has non-.../v35 module path "github.com/libgit2/git2go/v34" (and .../v35/go.mod does not exist) at revision v35.0.0

Is there any way to build on a system that has libgit2 v1.7?

Thank you

ReillyBrogan commented 2 weeks ago

Your only real option is to build libgit2 yourself and statically link it to library/application. There are some instructions on the readme, but I don't know how current they still are (I'm not a developer, just answering your question). If you are building a third-party library/application you should ask the developers how to best do this.