¿Cómo instalo libgit2 en OSX Lion?

0

Estoy tratando de instalar libgit2 en OSX, y continúo teniendo problemas. En última instancia, estoy tratando de instalar pygit2 , que falla porque no reconoce que se haya instalado libgit2.

Las instrucciones de

libgit2 son las siguientes de acuerdo a su página github:

$ mkdir build && cd build
$ cmake .. 
$ cmake --build .

Luego dicen que para crear el binario universal para OSX, puedes usar lo siguiente al configurar:

-DCMAKE_OSX_ARCHITECTURES="i386;x86_64"

Para mí eso significa hacer lo siguiente:

$ mkdir build && cd build
$ cmake .. -DCMAKE_OSX_ARCHITECTURES="i386;x86_64"
$ cmake --build .

Sin embargo, eso no parece funcionar. Todavía tengo pygit2 bomb out cuando intento instalarlo a través de pip.

$ pip install pygit2

Este es el error que recibo:

In file included from src/pygit2.c:32:

include/pygit2/types.h:60: error: expected specifier-qualifier-list before ‘git_diff_list’

src/pygit2.c: In function ‘moduleinit’:

src/pygit2.c:231: error: ‘GIT_STATUS_CURRENT’ undeclared (first use in this function)

src/pygit2.c:231: error: (Each undeclared identifier is reported only once

src/pygit2.c:231: error: for each function it appears in.)

*snip*

Command /Users/HOMEDIR/VIRTUALENVPATH/bin/python -c "import setuptools;__file__='/Users/HOMEDIR/VIRTUALENVPATH/build/pygit2/setup.py';exec(compile(open(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /var/folders/3v/7q7kyp3x4js3j0hvhmfkt6fw0000gn/T/pip-Sbr_Q3-record/install-record.txt --single-version-externally-managed --install-headers /Users/HOMEDIR/VIRTUALENVPATH/bin/../include/site/python2.7 failed with error code 1 in /Users/HOMEDIR/VIRTUALENVPATH/build/pygit2

¿Alguien ha pasado por este rodeo antes y puede ayudar?

    
pregunta hisnameisjimmy 18.11.2012 - 16:43

1 respuesta

4

No puedo instalar pygit2 usando pip . Sin embargo, funcionó bien usando la última versión disponible en Github:

$ git clone git://github.com/libgit2/pygit2.git
$ cd pygit2
$ python setup.py install

El problema aquí es que estás tratando de usar un dos meses de edad pygit2 release con la versión de vanguardia de libgit2 . Si usar pip es una necesidad absoluta, debería intentar instalar una versión anterior de libgit2 también (como este uno ).

Solo tienes que usar el indicador -DCMAKE_OSX_ARCHITECTURES="i386;x86_64" si te orientas a Macs "antiguas" sin procesadores con capacidad para 64 bits (antes del Core 2 x, con Snow Leopard o más antiguo).

También deberías ejecutar

$ cmake --build . --target install

después de tu

$ cmake --build .

comando. Sin esto, libgit2 headers ( *.h ) y las bibliotecas ( *.dylib ) no se instalarán en sus directorios /usr/local/{include,lib} y no estarán disponibles para otros softwares (de ahí sus errores de compilación).

    
respondido por el Guillaume Algis 18.11.2012 - 23:37

Lea otras preguntas en las etiquetas