/ / Pourquoi me manque-t-il git2.h et comment le récupérer? - python, c, git, éditeur de liens, libgit2

Pourquoi manque-t-il git2.h et comment le récupérer? - python, c, git, linker, libgit2

Je rencontre un problème étrange chaque fois que j'essaie de configurer pygit2. Vous trouverez ci-dessous ce que je lance et l'erreur générée.

$ 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

Je pense avoir installé avec succès libgit2(la construction et faire fini bien). Peut-être que c'est un problème de chemin? J'ai défini la variable d'environnement LIBGIT2 dans le répertoire src du dossier libgit2. Est-ce le bon endroit?

Réponses:

2 pour la réponse № 1

Je n'ai jamais installé libgit2, mais ce qui suit pourrait aider:

Si le dépôt de votre distribution contient libgit2,Je vous conseillerai de supprimer ce que vous avez déjà compilé et d’installer les paquets libgit2 (binaires) et libgit2-dev (en-têtes, etc.) du référentiel. Cela placera les binaires et les sources dans les bons répertoires.

Sinon, essayez de créer des liens symboliques git2.h à /usr/local/include


2 pour la réponse № 2

Cela ne ressemble pas à la LIBGIT2 variable a pris (pourriez-vous montrer comment vous définissez la variable?) comme la directive extra include utilise /usr/local/include (qui est la valeur par défaut).

le LIBGIT2 env var doit être défini sur le préfixe où la bibliothèque a été installée, généralement /usr ou /usr/local. Il ne semble pas que la bibliothèque ait été installée pour /usr/local comme le compilateur ne peut pas le trouver, alors peut-être avez-vous besoin export LIBGIT2=/usr avant de courir setup.py.