Vim не может скомпилировать с python на OS X - PullRequest
7 голосов
/ 27 июня 2011

Я пытался скомпилировать vim 7.3 с поддержкой python 2.7 на mac OS X 10.6 . Сам Vim компилируется нормально, но встроенного питона не так уж и много.

Шаги, которые я предпринял:

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

Это дает мне рабочий vim, но без питона.

auto / config.log указывает на наличие ошибки файла:

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

Я получаю эту ошибку независимо от того, запускаю ли я конфигурацию с параметром - with-python-conf-dir или без него. Похоже, что -u _PyMac_Error Python.framework/Versions/2.7/Python является источником проблемы, но я не уверен, куда идти дальше.

Есть предложения?

Ответы [ 3 ]

7 голосов
/ 26 ноября 2011

Оказывается, ошибка на самом деле в Makefile Python, хотите верьте, хотите нет.

Откройте файл

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

или любой другой подходящий вам путь и найдите PyMac_Error.Он должен быть в строке, определяющей LINKFORSHARED, и в этой строке вам нужно изменить PYTHONFRAMEWORKDIR на PYTHONFRAMEWORKINSTALLDIR.Затем вернитесь к исходному коду vim и ./configure, все должно пройти гладко.

Также убедитесь, что вы связываете Python Framework OS X с теми, что в Homebrew Cellar:

/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

все указывают на

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

Не совсем уверен, почему у меня было так много мест, или если это плохо, но это так.

2 голосов
/ 09 августа 2011

Это не прямой ответ на ваш вопрос, но установка macports и запуск sudo port install vim +python27 - это один из способов получить это.

0 голосов
/ 13 августа 2011

Romainl дал принятый ответ: MacVim поставляется с версией командной строки vim, а также версией с графическим интерфейсом - чего я не знал - и я уже успешно скомпилировал MacVim с Python 2.7 ( без каких-либо проблем я столкнулся со стандартными источниками vim).

Использование macports или homebrew не было вариантом, на который я смотрел.

N.B. если кто-нибудь может передать этот ответ Ромэнлу, пожалуйста, сделайте это. Я только отвечаю себе, чтобы закрыть это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...