/ / Perché mi manca git2.h e come posso recuperarlo? - python, c, git, linker, libgit2

Perché mi manca git2.h e come posso recuperarlo? - python, c, git, linker, libgit2

Sto riscontrando uno strano problema ogni volta che provo il set-up di pygit2. Di seguito è quello che corro e l'errore generato.

$ python3 setup.py install
running install
running build
running build_py
running build_ext
building "_pygit2" extension
/usr/bin/clang -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -Os -w -pipe -march=native -Qunused-arguments -mmacosx-version-min=10.7 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk -isystem /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk/usr/include -L/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk/usr/lib -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk/usr/include -I/usr/local/include -Iinclude -I/usr/local/Cellar/python3/3.2.3/include/python3.2m -c src/pygit2.c -o build/temp.macosx-10.7-x86_64-3.2/src/pygit2.o
In file included from src/pygit2.c:32:
include/pygit2/error.h:6:10: fatal error: "git2.h" file not found
#include <git2.h>
^
1 error generated.
error: command "/usr/bin/clang" failed with exit status 1

Penso di aver installato con successo libgit2(la build e il make finiscono bene). Forse è un problema di percorso? Ho impostato la variabile di ambiente LIBGIT2 nella directory src nella cartella libgit2. È il posto giusto?

risposte:

2 per risposta № 1

Non ho mai installato libgit2, ma quanto segue potrebbe aiutare:

Se il repository della distro contiene libgit2,Ti consiglio di rimuovere quello che hai compilato prima e installare i pacchetti libgit2 (binari) e libgit2-dev (intestazioni ecc.) Dal repository.Questo posizionerà binari e sorgenti nelle directory corrette.

Altrimenti, prova il collegamento simbolico git2.h a /usr/local/include


2 per risposta № 2

Non sembra il LIBGIT2 variabile ha preso (potresti mostrare come si imposta la variabile?) come utilizza la direttiva include supplementare /usr/local/include (che è l'impostazione predefinita).

Il LIBGIT2 env var deve essere impostato sul prefisso in cui è stata installata la libreria, in genere /usr o /usr/local. Non sembra che la libreria sia stata installata su /usr/local come il compilatore non riesce a trovare, quindi forse è necessario export LIBGIT2=/usr prima di correre setup.py.