2011-06-27 9 views
7

he estado tratando de compilar vim 7.3 con Python 2.7 apoyo en Mac OS X 10.6. Vim en sí compila bien, pero la pitón incrustada no tanto.Vim no poder compilar con el pitón en OS X

Los pasos que he tomado:

hg clone https:/vim.googlecode.com/hg/ vim 
cd vim/src 
./configure --without-x --disable-gui --disable-darwin \ 
      --enable-pythoninterp --with-features=huge 
make 
make install 

Eso me da una vim de trabajo pero sin pitón.

El auto/config.log indica que hay un error de archivo:

configure:5387: checking if compile and link flags for Python are sane 
configure:5404: gcc -o conftest -g -O2 
    -I/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 
    -DPYTHON_HOME=\"/Library/Frameworks/Python.framework/Versions/2.7\" 
    -L/usr/local/lib conftest.c 
    -L/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/config 
    -lpython2.7 -ldl -framework CoreFoundation 
    -u _PyMac_Error Python.framework/Versions/2.7/Python >&5 
i686-apple-darwin10-gcc-4.2.1: Python.framework/Versions/2.7/Python: No such file or directory 

<command-line>: warning: missing terminating " character 
configure:5404: $? = 1 
configure: failed program was: 
| /* confdefs.h */ 
| #define PACKAGE_NAME "" 
| #define PACKAGE_TARNAME "" 
| #define PACKAGE_VERSION "" 
| #define PACKAGE_STRING "" 
| #define PACKAGE_BUGREPORT "" 
| #define PACKAGE_URL "" 
| #define UNIX 1 
| #define STDC_HEADERS 1 
| #define HAVE_SYS_WAIT_H 1 
| #define FEAT_HUGE 1 
| #define USE_XSMP_INTERACT 1 
| /* end confdefs.h. */ 
| 
| int 
| main() 
| { 
| 
| ; 
| return 0; 
| } 
configure:5408: result: no: PYTHON DISABLED 

consigo este error si corro configurar con o sin la opción --con-python-conf-dir. Parece que el -u _PyMac_Error Python.framework/Versions/2.7/Python es la fuente del problema, pero no estoy seguro de a dónde ir desde aquí.

¿Alguna sugerencia?

+1

Estoy ejecutando 10.6.7 y el último pitón suministrado por Apple que tengo es 2.6. ¿Estás seguro de que tienes 2.7 instalado y está ubicado en 'System/Library/Frameworks/Python.framework /'? Si desea utilizar un python diferente, probablemente deba proporcionar su ruta en el momento './Configure' o asegurarse de que sea el' python' predeterminado. De todos modos, MacVim viene con una línea de comandos con todas las funciones 'vim', ¿por qué no lo intentas? – romainl

+0

Romaini, ** python 2.7 ** definitivamente está instalado en el lugar correcto y está configurado como ** Actual ** python. './configure' falla la comprobación de Python independientemente de si le proporciono la ruta o no. El bit '_PyMac_Error' obviamente está suministrando una ruta relativa que está causando el problema. MacVim es lo que uso, pero no sabía que podía invocar MacVim como una aplicación de línea de comandos. Realmente resuelve el problema ya que lo compilé contra Python 2.7 y es el Vim 7.3 actual (mac 10.6 vim es 7.2, que es la razón por la que empecé en este camino, para empezar). –

+0

Eso es genial. Lo siento, pero no he podido ayudar con el problema de Python. Fui por el mismo camino al mismo tiempo (con ruby ​​que necesitaba un montón de plugins geniales). Descubrir el ejecutable 'vim' en el paquete de MacVim resolvió muchas cosas a la vez. – romainl

Respuesta

0

Romainl dio la respuesta aceptada: MacVim viene con una versión de línea de comandos de vim, así como la versión de interfaz gráfica de usuario - algo que no estaba al tanto de - y yo ya había compilado correctamente MacVim con Python 2.7 (sin ningún tipo de los problemas que encontré con las fuentes vim estándar).

El uso de macports o homebrew no era una opción que estaba viendo.

N.B. si alguien puede asignar esta respuesta a Romainl, por favor sigue y hazlo. Solo me estoy respondiendo a mí mismo para cerrar esta.

2

No es una respuesta directa a su pregunta, pero instalar macports y ejecutar sudo port install vim +python27 es una forma de llegar.

7

Resulta que el error está realmente en el Makefile de Python, créalo o no.

Abrir el archivo

/usr/local/Cellar/python/2.7.2/Frameworks/Python.framework/Versions/2.7/lib/python2.7/config 

o lo que sea el camino adecuado es para ti, y la búsqueda de PyMac_Error. Debe estar en la línea que define LINKFORSHARED, y en esta línea debe cambiar PYTHONFRAMEWORKDIR a PYTHONFRAMEWORKINSTALLDIR. Luego vuelve a tu fuente vim y ./configure, todo debería ir sin problemas.

También asegúrese de que SYMLINK marcos de Python de OS X a los que en el Homebrew Bodega:

/Library/Frameworks/Python.framework/Versions/2.7 
/Library/Frameworks/Python.framework/Versions/Current 
/System/Library/Frameworks/Python.framework/Versions/2.7 
/System/Library/Frameworks/Python.framework/Versions/Current 

debe apuntan a

/usr/local/Cellar/python/2.7.2/Frameworks/Python.framework/Versions/2.7 
No

entendemos para qué lo tenía en tantos lugares , o si eso es malo, pero ahí está.

+1

Este problema es realmente [rastreado en bugs.python.org] (http://bugs.python.org/issue3588) pero no está claro cuál debería ser la solución. Aparentemente, Vim no debería estar fisgoneando en LINKFORSHARED en primer lugar. En cualquier caso, la solución anterior funciona. –

+0

No estoy seguro acerca de macvim, pero solucioné este error en particular en PythonMagick estableciendo una variable PYTHON_EXTRA_LDFLAGS, './configure PYTHON_EXTRA_LDFLAGS =" - u _PyMac_Error /Library/Frameworks/Python.framework/Versions/2.7/Python "' . Tal vez haya una solución más limpia si no quiere modificar el archivo make del sistema. – gatoatigrado

+0

¿Hay una versión actualizada de esta solución? Todavía tengo un error de enlace, pero cuando revisé el archivo MAKE de Python decía 'PYTHONFRAMEWORKINSTALLDIR'. En las versiones recientes de macOS SIP, los usuarios no pueden agregar a/System/Library. Lo hice, el problema no está solucionado y ahora 'make' no funciona y Xcode no se abre. Mi computadora está realmente rellena ahora. – yeeeeee