pip3 install pygit2 fails on ppc64le and s390x platform
OS: sles15sp6
install python3.12 on the system pip3.12 install pygit2 hits issue below:
# pip3.12 install pygit2
copying pygit2/decl/callbacks.h -> build/lib.linux-ppc64le-cpython-312/pygit2/decl
copying pygit2/decl/checkout.h -> build/lib.linux-ppc64le-cpython-312/pygit2/decl
copying pygit2/decl/clone.h -> build/lib.linux-ppc64le-cpython-312/pygit2/decl
copying pygit2/decl/commit.h -> build/lib.linux-ppc64le-cpython-312/pygit2/decl
copying pygit2/decl/common.h -> build/lib.linux-ppc64le-cpython-312/pygit2/decl
copying pygit2/decl/config.h -> build/lib.linux-ppc64le-cpython-312/pygit2/decl
copying pygit2/decl/describe.h -> build/lib.linux-ppc64le-cpython-312/pygit2/decl
copying pygit2/decl/diff.h -> build/lib.linux-ppc64le-cpython-312/pygit2/decl
copying pygit2/decl/errors.h -> build/lib.linux-ppc64le-cpython-312/pygit2/decl
copying pygit2/decl/graph.h -> build/lib.linux-ppc64le-cpython-312/pygit2/decl
copying pygit2/decl/index.h -> build/lib.linux-ppc64le-cpython-312/pygit2/decl
copying pygit2/decl/indexer.h -> build/lib.linux-ppc64le-cpython-312/pygit2/decl
copying pygit2/decl/merge.h -> build/lib.linux-ppc64le-cpython-312/pygit2/decl
copying pygit2/decl/net.h -> build/lib.linux-ppc64le-cpython-312/pygit2/decl
copying pygit2/decl/oid.h -> build/lib.linux-ppc64le-cpython-312/pygit2/decl
copying pygit2/decl/pack.h -> build/lib.linux-ppc64le-cpython-312/pygit2/decl
copying pygit2/decl/proxy.h -> build/lib.linux-ppc64le-cpython-312/pygit2/decl
copying pygit2/decl/refspec.h -> build/lib.linux-ppc64le-cpython-312/pygit2/decl
copying pygit2/decl/remote.h -> build/lib.linux-ppc64le-cpython-312/pygit2/decl
copying pygit2/decl/repository.h -> build/lib.linux-ppc64le-cpython-312/pygit2/decl
copying pygit2/decl/revert.h -> build/lib.linux-ppc64le-cpython-312/pygit2/decl
copying pygit2/decl/stash.h -> build/lib.linux-ppc64le-cpython-312/pygit2/decl
copying pygit2/decl/strarray.h -> build/lib.linux-ppc64le-cpython-312/pygit2/decl
copying pygit2/decl/submodule.h -> build/lib.linux-ppc64le-cpython-312/pygit2/decl
copying pygit2/decl/transport.h -> build/lib.linux-ppc64le-cpython-312/pygit2/decl
copying pygit2/decl/types.h -> build/lib.linux-ppc64le-cpython-312/pygit2/decl
running build_ext
generating cffi module 'build/temp.linux-ppc64le-cpython-312/pygit2._libgit2.c'
creating build/temp.linux-ppc64le-cpython-312
building 'pygit2._pygit2' extension
creating build/temp.linux-ppc64le-cpython-312/tmp
creating build/temp.linux-ppc64le-cpython-312/tmp/pip-install-binfj26r
creating build/temp.linux-ppc64le-cpython-312/tmp/pip-install-binfj26r/pygit2_c11b9988d87a49aaa211b635a46f7506
creating build/temp.linux-ppc64le-cpython-312/tmp/pip-install-binfj26r/pygit2_c11b9988d87a49aaa211b635a46f7506/src
gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -g -DOPENSSL_LOAD_CONF -fwrapv -fno-semantic-interposition -fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -g -IVendor/ -fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -g -IVendor/ -fPIC -I/usr/local/include -I/usr/include/python3.12 -c /tmp/pip-install-binfj26r/pygit2_c11b9988d87a49aaa211b635a46f7506/src/blob.c -o build/temp.linux-ppc64le-cpython-312/tmp/pip-install-binfj26r/pygit2_c11b9988d87a49aaa211b635a46f7506/src/blob.o
error: command 'gcc' failed: No such file or directory
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed building wheel for pygit2
�[?25hFailed to build pygit2
ERROR: Could not build wheels for pygit2, which is required to install pyproject.toml-based projects
Expected behavior
The installation can pass without any issue
error: command 'gcc' failed: No such file or directory
You have to install gcc
Sorry, I forgot this one, with gcc installed, pip install pygit2 can still hit issue.
you need to install the python headers too
you need to install the python headers too
Thanks much @dcermak, the issue is gone after installing python3-dev and libgit2-dev.
Best, Richard
the issue is gone after installing python3-dev and libgit2-dev
Then I think this issue should closed, yes?
It is very typical for python c-extension to require at least a C compiler and the CPython API headers (python3-dev). The pygit2 install doc should probably mention this though.