libgit2 / pygit2

Python bindings for libgit2
https://www.pygit2.org/
Other
1.59k stars 383 forks source link

Version 1.7.0 cannot be installed on ubuntu. #1097

Closed soimkim closed 2 years ago

soimkim commented 2 years ago

If you try to install from ubuntu 18.04 as shown below, an error occurs. pip install pygit2

Building wheel for pygit2 (pyproject.toml) ... error
  ERROR: Command errored out with exit status 1:
   command: /home/soimkim/git/fosslight_binary_scanner/venv/bin/python3.6 /home/soimkim/git/fosslight_binary_scanner/venv/lib/python3.6/site-packages/pip/_vendor/pep517/in_process/_in_process.py build_wheel /tmp/tmpm242v8fz
       cwd: /tmp/pip-install-uhk7dpsv/pygit2_bd460976048f41dfbb367445f41d0004
  Complete output (64 lines):
  running bdist_wheel
  running build
  running build_py
  creating build
  creating build/lib.linux-x86_64-3.6
  creating build/lib.linux-x86_64-3.6/pygit2
  copying pygit2/index.py -> build/lib.linux-x86_64-3.6/pygit2
  copying pygit2/__init__.py -> build/lib.linux-x86_64-3.6/pygit2
  copying pygit2/_run.py -> build/lib.linux-x86_64-3.6/pygit2
  copying pygit2/_build.py -> build/lib.linux-x86_64-3.6/pygit2
  copying pygit2/refspec.py -> build/lib.linux-x86_64-3.6/pygit2
  copying pygit2/settings.py -> build/lib.linux-x86_64-3.6/pygit2
  copying pygit2/blame.py -> build/lib.linux-x86_64-3.6/pygit2
  copying pygit2/config.py -> build/lib.linux-x86_64-3.6/pygit2
  copying pygit2/remote.py -> build/lib.linux-x86_64-3.6/pygit2
  copying pygit2/callbacks.py -> build/lib.linux-x86_64-3.6/pygit2
  copying pygit2/ffi.py -> build/lib.linux-x86_64-3.6/pygit2
  copying pygit2/credentials.py -> build/lib.linux-x86_64-3.6/pygit2
  copying pygit2/submodule.py -> build/lib.linux-x86_64-3.6/pygit2
  copying pygit2/errors.py -> build/lib.linux-x86_64-3.6/pygit2
  copying pygit2/utils.py -> build/lib.linux-x86_64-3.6/pygit2
  copying pygit2/packbuilder.py -> build/lib.linux-x86_64-3.6/pygit2
  copying pygit2/repository.py -> build/lib.linux-x86_64-3.6/pygit2
  creating build/lib.linux-x86_64-3.6/pygit2/decl
  copying pygit2/decl/remote.h -> build/lib.linux-x86_64-3.6/pygit2/decl
  copying pygit2/decl/checkout.h -> build/lib.linux-x86_64-3.6/pygit2/decl
  copying pygit2/decl/stash.h -> build/lib.linux-x86_64-3.6/pygit2/decl
  copying pygit2/decl/types.h -> build/lib.linux-x86_64-3.6/pygit2/decl
  copying pygit2/decl/submodule.h -> build/lib.linux-x86_64-3.6/pygit2/decl
  copying pygit2/decl/indexer.h -> build/lib.linux-x86_64-3.6/pygit2/decl
  copying pygit2/decl/blame.h -> build/lib.linux-x86_64-3.6/pygit2/decl
  copying pygit2/decl/graph.h -> build/lib.linux-x86_64-3.6/pygit2/decl
  copying pygit2/decl/merge.h -> build/lib.linux-x86_64-3.6/pygit2/decl
  copying pygit2/decl/errors.h -> build/lib.linux-x86_64-3.6/pygit2/decl
  copying pygit2/decl/attr.h -> build/lib.linux-x86_64-3.6/pygit2/decl
  copying pygit2/decl/refspec.h -> build/lib.linux-x86_64-3.6/pygit2/decl
  copying pygit2/decl/callbacks.h -> build/lib.linux-x86_64-3.6/pygit2/decl
  copying pygit2/decl/describe.h -> build/lib.linux-x86_64-3.6/pygit2/decl
  copying pygit2/decl/oid.h -> build/lib.linux-x86_64-3.6/pygit2/decl
  copying pygit2/decl/revert.h -> build/lib.linux-x86_64-3.6/pygit2/decl
  copying pygit2/decl/common.h -> build/lib.linux-x86_64-3.6/pygit2/decl
  copying pygit2/decl/clone.h -> build/lib.linux-x86_64-3.6/pygit2/decl
  copying pygit2/decl/config.h -> build/lib.linux-x86_64-3.6/pygit2/decl
  copying pygit2/decl/diff.h -> build/lib.linux-x86_64-3.6/pygit2/decl
  copying pygit2/decl/buffer.h -> build/lib.linux-x86_64-3.6/pygit2/decl
  copying pygit2/decl/transport.h -> build/lib.linux-x86_64-3.6/pygit2/decl
  copying pygit2/decl/index.h -> build/lib.linux-x86_64-3.6/pygit2/decl
  copying pygit2/decl/repository.h -> build/lib.linux-x86_64-3.6/pygit2/decl
  copying pygit2/decl/net.h -> build/lib.linux-x86_64-3.6/pygit2/decl
  copying pygit2/decl/proxy.h -> build/lib.linux-x86_64-3.6/pygit2/decl
  copying pygit2/decl/strarray.h -> build/lib.linux-x86_64-3.6/pygit2/decl
  copying pygit2/decl/pack.h -> build/lib.linux-x86_64-3.6/pygit2/decl
  running build_ext
  generating cffi module 'build/temp.linux-x86_64-3.6/pygit2._libgit2.c'
  creating build/temp.linux-x86_64-3.6
  building 'pygit2._pygit2' extension
  creating build/temp.linux-x86_64-3.6/src
  x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/local/include -I/usr/include/python3.6m -I/home/soimkim/git/fosslight_binary_scanner/venv/include/python3.6m -c src/blob.c -o build/temp.linux-x86_64-3.6/src/blob.o
  In file included from src/blob.c:30:0:
  src/blob.h:33:10: fatal error: git2.h: No such file or directory
   #include <git2.h>
            ^~~~~~~~
  compilation terminated.
  error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
  ----------------------------------------
  ERROR: Failed building wheel for pygit2
Failed to build pygit2
ERROR: Could not build wheels for pygit2, which is required to install pyproject.toml-based projects
Wito-1 commented 2 years ago

fyi - you are likely being affected by #1095 which was introduced when version 1.7.0 was released, but is not compatible with python3.6. And it looks like you're trying to build for python3.6.

So you'll either need to upgrade to python3.7+ or you can "workaround" the issue by fixing to the previous version: pip install pygit2==1.6.1