pygit2 icon indicating copy to clipboard operation
pygit2 copied to clipboard

Building pygit2 wheel on FreeBSD 13.1 fails

Open tuaris opened this issue 2 years ago • 1 comments

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

tuaris avatar Mar 14 '23 18:03 tuaris