pygit2
pygit2 copied to clipboard
Building pygit2 wheel on FreeBSD 13.1 fails
I'm using the nox unit testing framework (as part of a Salt project) and it's running into a problem where it is failing to build the wheel for pygit2:
Building wheels for collected packages: pygit2
Building wheel for pygit2 (PEP 517): started
Building wheel for pygit2 (PEP 517): finished with status 'error'
ERROR: Command errored out with exit status 1:
command: /usr/home/daniel/Development/salt/.nox/test-parametrized-3-crypto-none-transport-zeromq-coverage-false/bin/python /usr/home/daniel/Development/salt/.nox/test-parametrized-3-crypto-none-transport-zeromq-coverage-false/lib/python3.9/site-packages/pip/_vendor/pep517/in_process/_in_process.py build_wheel /tmp/tmp0fbzmp3_
cwd: /tmp/pip-install-1q7vagc4/pygit2_de878b6a19a24fe58eff7d09fda3bd9c
Complete output (68 lines):
running bdist_wheel
running build
running build_py
creating build
creating build/lib.freebsd-13.1-RELEASE-p6-amd64-cpython-39
creating build/lib.freebsd-13.1-RELEASE-p6-amd64-cpython-39/pygit2
copying pygit2/__init__.py -> build/lib.freebsd-13.1-RELEASE-p6-amd64-cpython-39/pygit2
copying pygit2/_build.py -> build/lib.freebsd-13.1-RELEASE-p6-amd64-cpython-39/pygit2
copying pygit2/_run.py -> build/lib.freebsd-13.1-RELEASE-p6-amd64-cpython-39/pygit2
copying pygit2/blame.py -> build/lib.freebsd-13.1-RELEASE-p6-amd64-cpython-39/pygit2
copying pygit2/callbacks.py -> build/lib.freebsd-13.1-RELEASE-p6-amd64-cpython-39/pygit2
copying pygit2/config.py -> build/lib.freebsd-13.1-RELEASE-p6-amd64-cpython-39/pygit2
copying pygit2/credentials.py -> build/lib.freebsd-13.1-RELEASE-p6-amd64-cpython-39/pygit2
copying pygit2/errors.py -> build/lib.freebsd-13.1-RELEASE-p6-amd64-cpython-39/pygit2
copying pygit2/ffi.py -> build/lib.freebsd-13.1-RELEASE-p6-amd64-cpython-39/pygit2
copying pygit2/index.py -> build/lib.freebsd-13.1-RELEASE-p6-amd64-cpython-39/pygit2
copying pygit2/packbuilder.py -> build/lib.freebsd-13.1-RELEASE-p6-amd64-cpython-39/pygit2
copying pygit2/refspec.py -> build/lib.freebsd-13.1-RELEASE-p6-amd64-cpython-39/pygit2
copying pygit2/remote.py -> build/lib.freebsd-13.1-RELEASE-p6-amd64-cpython-39/pygit2
copying pygit2/repository.py -> build/lib.freebsd-13.1-RELEASE-p6-amd64-cpython-39/pygit2
copying pygit2/settings.py -> build/lib.freebsd-13.1-RELEASE-p6-amd64-cpython-39/pygit2
copying pygit2/submodule.py -> build/lib.freebsd-13.1-RELEASE-p6-amd64-cpython-39/pygit2
copying pygit2/utils.py -> build/lib.freebsd-13.1-RELEASE-p6-amd64-cpython-39/pygit2
creating build/lib.freebsd-13.1-RELEASE-p6-amd64-cpython-39/pygit2/decl
copying pygit2/decl/attr.h -> build/lib.freebsd-13.1-RELEASE-p6-amd64-cpython-39/pygit2/decl
copying pygit2/decl/blame.h -> build/lib.freebsd-13.1-RELEASE-p6-amd64-cpython-39/pygit2/decl
copying pygit2/decl/buffer.h -> build/lib.freebsd-13.1-RELEASE-p6-amd64-cpython-39/pygit2/decl
copying pygit2/decl/callbacks.h -> build/lib.freebsd-13.1-RELEASE-p6-amd64-cpython-39/pygit2/decl
copying pygit2/decl/checkout.h -> build/lib.freebsd-13.1-RELEASE-p6-amd64-cpython-39/pygit2/decl
copying pygit2/decl/clone.h -> build/lib.freebsd-13.1-RELEASE-p6-amd64-cpython-39/pygit2/decl
copying pygit2/decl/commit.h -> build/lib.freebsd-13.1-RELEASE-p6-amd64-cpython-39/pygit2/decl
copying pygit2/decl/common.h -> build/lib.freebsd-13.1-RELEASE-p6-amd64-cpython-39/pygit2/decl
copying pygit2/decl/config.h -> build/lib.freebsd-13.1-RELEASE-p6-amd64-cpython-39/pygit2/decl
copying pygit2/decl/describe.h -> build/lib.freebsd-13.1-RELEASE-p6-amd64-cpython-39/pygit2/decl
copying pygit2/decl/diff.h -> build/lib.freebsd-13.1-RELEASE-p6-amd64-cpython-39/pygit2/decl
copying pygit2/decl/errors.h -> build/lib.freebsd-13.1-RELEASE-p6-amd64-cpython-39/pygit2/decl
copying pygit2/decl/graph.h -> build/lib.freebsd-13.1-RELEASE-p6-amd64-cpython-39/pygit2/decl
copying pygit2/decl/index.h -> build/lib.freebsd-13.1-RELEASE-p6-amd64-cpython-39/pygit2/decl
copying pygit2/decl/indexer.h -> build/lib.freebsd-13.1-RELEASE-p6-amd64-cpython-39/pygit2/decl
copying pygit2/decl/merge.h -> build/lib.freebsd-13.1-RELEASE-p6-amd64-cpython-39/pygit2/decl
copying pygit2/decl/net.h -> build/lib.freebsd-13.1-RELEASE-p6-amd64-cpython-39/pygit2/decl
copying pygit2/decl/oid.h -> build/lib.freebsd-13.1-RELEASE-p6-amd64-cpython-39/pygit2/decl
copying pygit2/decl/pack.h -> build/lib.freebsd-13.1-RELEASE-p6-amd64-cpython-39/pygit2/decl
copying pygit2/decl/proxy.h -> build/lib.freebsd-13.1-RELEASE-p6-amd64-cpython-39/pygit2/decl
copying pygit2/decl/refspec.h -> build/lib.freebsd-13.1-RELEASE-p6-amd64-cpython-39/pygit2/decl
copying pygit2/decl/remote.h -> build/lib.freebsd-13.1-RELEASE-p6-amd64-cpython-39/pygit2/decl
copying pygit2/decl/repository.h -> build/lib.freebsd-13.1-RELEASE-p6-amd64-cpython-39/pygit2/decl
copying pygit2/decl/revert.h -> build/lib.freebsd-13.1-RELEASE-p6-amd64-cpython-39/pygit2/decl
copying pygit2/decl/stash.h -> build/lib.freebsd-13.1-RELEASE-p6-amd64-cpython-39/pygit2/decl
copying pygit2/decl/strarray.h -> build/lib.freebsd-13.1-RELEASE-p6-amd64-cpython-39/pygit2/decl
copying pygit2/decl/submodule.h -> build/lib.freebsd-13.1-RELEASE-p6-amd64-cpython-39/pygit2/decl
copying pygit2/decl/transport.h -> build/lib.freebsd-13.1-RELEASE-p6-amd64-cpython-39/pygit2/decl
copying pygit2/decl/types.h -> build/lib.freebsd-13.1-RELEASE-p6-amd64-cpython-39/pygit2/decl
warning: build_py: byte-compiling is disabled, skipping.
running build_ext
generating cffi module 'build/temp.freebsd-13.1-RELEASE-p6-amd64-cpython-39/pygit2._libgit2.c'
creating build/temp.freebsd-13.1-RELEASE-p6-amd64-cpython-39
building 'pygit2._pygit2' extension
creating build/temp.freebsd-13.1-RELEASE-p6-amd64-cpython-39/src
cc -pthread -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -fPIC -I/usr/local/include -I/usr/home/daniel/Development/salt/.nox/test-parametrized-3-crypto-none-transport-zeromq-coverage-false/include -I/usr/local/include/python3.9 -c src/blob.c -o build/temp.freebsd-13.1-RELEASE-p6-amd64-cpython-39/src/blob.o
In file included from src/blob.c:30:
In file included from src/diff.h:34:
src/types.h:36:2: error: You need a compatible libgit2 version (1.3.x)
#error You need a compatible libgit2 version (1.3.x)
^
1 error generated.
error: command '/usr/bin/cc' failed with exit code 1
----------------------------------------
ERROR: Failed building wheel for pygit2
Failed to build pygit2
ERROR: Could not build wheels for pygit2 which use PEP 517 and cannot be installed directly
The required packages are installed
pkg info | grep libgit
libgit2-1.5.1 Portable, pure C implementation of the Git core
libgit2-glib-1.1.0 Glib wrapper library around the libgit2 git access library
py39-pygit2-1.11.1 Python bindings for libgit2
The library is there too, but it's picking up the wrong one?
ldconfig -r | grep libgit
864:-lgit2-glib-1.0.0 => /usr/local/lib/libgit2-glib-1.0.so.0
Check the order of paths in your $PATH env var. Or you could set the env var LIBGIT2 to the installed location of the appropriate version of libgit2.
Otherwise, there's nothing that needs to be done on behalf of pygit2 maintainers. I think this issue can be closed (or converted to a discussion).
[!TIP] See documented build options for more detail.