Subject: bug#44827: tests/channels.scm: Test failures building on Debian i386 or armhf with libgit2-dev 1.0.1

From: Ludovic Courtès <[email-masked]>
Date: Thu, 26 Nov 2020 22:45:32 +0100

Hi,

Vagrant Cascadian <[email-masked]> skribis:

> Updating the build dependency to libgit2-dev >= 1.0.1 (which pulls in a
> similar version to what guix is using) fixes test suite failures ... but
> only on the amd64 architecture. The same tests pass Using an older
> version of libgit2-dev (0.28). FWIW, this is building with guile-3.0.

[...]

> actual-error:
> + (git-error
> +   #<<git-error> code: -1 message: "invalid version 0 on git_proxy_options" class: 3>)

This error is the sign of an ABI mismatch issue between Guile-Git and
libgit2 (like Guile-Git assuming a wrong layout for one of the C structs
exposed by libgit2).

Which version of Guile-Git are you using?  Do its tests pass?

In particular, Guile-Git 0.4.0 has this thing compile-time check to make
sure it matches the ABI of the underlying libgit2 version (0.28 or 1.0):

  https://gitlab.com/guile-git/guile-git/-/commit/2b4d077c6f55648f42af31ae783ca4d8c1c5f1de

So if you change libgit2 versions, you need to rebuild Guile-Git.

HTH,
Ludo’.