Вопрос по python – компилирование vim с поддержкой Python в Ubuntu

8

Я пытаюсь скомпилировать vim из исходного кода с помощью интерпретатора Python в Ubuntu. Я установил зависимости для vim, установил пакеты python2.7-devel и python2.7-dbg в Ubuntu и выполняю шаг настройки следующим образом

<code>./configure --enable-pythoninterp --with-python-config-dir=/usr/lib/python2.7/config
</code>

Каталог config содержит файл config.c. Шаг make завершается ошибкой со следующей ошибкой.

<code>...

objects/py_config.o:(.data+0xcc): undefined reference to `initcStringIO'
objects/py_config.o:(.data+0xd4): undefined reference to `initcPickle'
objects/py_config.o:(.data+0xdc): undefined reference to `initzlib'
collect2: ld returned 1 exit status
make: *** [vim] Error 1
</code>

Я пробовал стабильные сборки, настраивал и т. Д., Но не нашел однозначного ответа. Также vim собирается без python-интерпретатора.

Здесь полный

выход -http://paste.pocoo.org/show/577749/

ошибка -http://paste.pocoo.org/show/577752/

Makefile -http://paste.pocoo.org/show/577751/

Да @ АндрейЯзу. Я сделал sudo apt-get build-dep vim (это команда). Senthil Kumaran
Почему ты просто не пытаешьсяvim-nox? neoascetic
@eleweek - включены ссылки на вывод и ошибку. Senthil Kumaran
Не могли бы вы включить больше строк сообщений об ошибках? Кстати, это ошибка компоновки, которая часто происходит из-за неправильных путей к библиотеке. Вы проверяли пути к библиотекам? Alexander Putilin
Тыsudo apt-get build-dep vim-common? yazu

Ваш Ответ

3   ответа
3

получить configdir с/usr/bin/python2.7-config --configdir

то есть:

sudo apt-get build-dep vim 
hg clone https://vim.googlecode.com/hg/ vim
./configure --enable-pythoninterp --with-features=huge --prefix=$HOME/opt/vim --with-python-config-dir=$(/usr/bin/python2.7-config --configdir)
make && make install
2

Перед компиляцией Vim установитеpython-dev а такжеpython2.7-dev (или какой бы dev ни подходил к вашей версии на python). Эти два пакета могут указывать на одни и те же файлы, но у меня это сработало.

Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
3

Отвечая на мой собственный вопрос после проведения значительных исследований. Смотрит в определенных установках Ubuntu, файлы, которые ищет vimкомпиляция может отсутствовать.

Поняв, что я продолжил выборочную установку исходного кода Python (./configure --prefix=/home/senthil/localpython; make; make install), а затем приступил к компиляции vim против этого.

  1. Set your path so that python points to the new local install.

    PATH=/home/senthil/localpython/bin:$PATH

  2. Then start the compilation with the following flags.

    ./configure --enable-pythoninterp --with-features=huge --with-python-config-dir=/home/senthil/localpython/lib/python2.7/config

Вы должны увидеть, что vim прекрасно компилируется с использованием локального интерпретатора Python. Как сообщалось из различных источников, это увеличивает размер vim, и я также чувствовал, что скорость значительно замедлилась. Думаю, что сразу после завершения этого упражнения (по-настоящему терпеливо) я хотел бы использовать систему, скомпилированную самим vim.

Похожие вопросы