mergestat/mergestat-lite

Installation is broken with Homebrew

yermulnik opened this issue · 5 comments

Upgrading askgitdev/askgit/askgit with Homebrew on Linux (Ubuntu 20.04) is failing:

> uname -srm
Linux 5.14.11-051411-generic x86_64

> lsb_release -d
Description:    Ubuntu 20.04.3 LTS

> brew outdated
askgitdev/askgit/askgit (v0.4.7) < v0.4.8

> brew upgrade
==> Auto-updated Homebrew!
Updated 1 tap (homebrew/cask).
==> Updated Casks
Updated 1 cask.

Updating Homebrew...
==> Upgrading 1 outdated package:
askgitdev/askgit/askgit v0.4.7 -> v0.4.8
==> Downloading https://github.com/askgitdev/askgit/archive/v0.4.8.tar.gz
Already downloaded: /home/giermulnik/.cache/Homebrew/downloads/bc83f30eb7ec1aa03e0e8e020c5cd9006e5ccb1da98eb05d36d61777e2d14864--askgit-0.4.8.tar.gz
==> Upgrading askgitdev/askgit/askgit
  v0.4.7 -> v0.4.8

==> make
Last 15 lines from /home/giermulnik/.cache/Homebrew/Logs/askgit/01.make:

-- nuking .build/
-- building .build/libaskgit.so
-- building .build/askgit
# github.com/libgit2/git2go/v32
/home/giermulnik/.cache/Homebrew/go_mod_cache/pkg/mod/github.com/libgit2/git2go/v32@v32.0.4/Build_system_dynamic.go:12:3: error: #error "Invalid libgit2 version; this git2go supports libgit2 between v1.2.0 and v1.2.0"
   12 | # error "Invalid libgit2 version; this git2go supports libgit2 between v1.2.0 and v1.2.0"
      |   ^~~~~
# github.com/libgit2/git2go/v32
/home/giermulnik/.cache/Homebrew/go_mod_cache/pkg/mod/github.com/libgit2/git2go/v32@v32.0.4/Build_system_static.go:12:3: error: #error "Invalid libgit2 version; this git2go supports libgit2 between v1.2.0 and v1.2.0"
   12 | # error "Invalid libgit2 version; this git2go supports libgit2 between v1.2.0 and v1.2.0"
      |   ^~~~~
make: *** [Makefile:17: .build/libaskgit.so] Error 2
make: *** Waiting for unfinished jobs....
make: *** [Makefile:23: .build/askgit] Error 2

If reporting this issue please do so at (not Homebrew/brew or Homebrew/core):
  https://github.com/askgitdev/homebrew-askgit/issues

> brew info libgit2
libgit2: stable 1.3.0 (bottled), HEAD
C library of Git core methods that is re-entrant and linkable
https://libgit2.github.com/
/home/linuxbrew/.linuxbrew/Cellar/libgit2/1.3.0 (102 files, 4.8MB) *
  Poured from bottle on 2021-10-01 at 00:16:35
From: https://github.com/Homebrew/linuxbrew-core/blob/HEAD/Formula/libgit2.rb
License: GPL-2.0-only
==> Dependencies
Build: cmake ✔, pkg-config ✔
Required: libssh2 ✔
==> Options
--HEAD
        Install HEAD version
==> Analytics
install: 1,052 (30 days), 1,994 (90 days), 6,492 (365 days)
install-on-request: 140 (30 days), 193 (90 days), 598 (365 days)
build-error: 0 (30 days)

I am seeing the same error but have not figured out to make the correct version of libgit2 available. I tried having Brew install v1.2.0 (brew install libgit2@1.2.0) but that did not work.

Any suggestions on how to make make this boat float would be appreciated.

As of libgit2/git2go#839 (comment) askgit needs to get git2go dependency bumped to v33

Thanks for bringing this up - I haven't been able to figure out how to pin the homebrew formula (and this might just be naivete on my part) to a specific dependency version.

So we have an issue where whenever the libgit2 formula gets a (breaking) version bump in homebrew, our homebrew installation will be broken until git2go and this repo are updated as well.

I'm sure there's a solution - if anyone knows of one off-hand, please let me know!

For now, I should have a "manual" fix up momentarily

This PR should address this issue: mergestat/homebrew-mergestat#12

@patrickdevivo First of all thanks for fixing this issue 👍 brew upgrade worked as expected for me with the updated askgit formulae.

So we have an issue where whenever the libgit2 formula gets a (breaking) version bump in homebrew, our homebrew installation will be broken until git2go and this repo are updated as well.

Yeah, it was my fault to give more-or-less false alarm. Apologies for that. When I took a more thorough look it became obvious that the issue is indeed with git2go and its dependency on libgit2 rather than with askgit. This is why I created issue in their repo to get it fixed and hence to bring an update to askgit.