tgetent() не найден при компиляции vim

В настоящее время я пытаюсь установить расширение YouCompleteMe для моей установки vim, но для этого требуется, чтобы у моего vim была версия 7.3.584 или выше. Vim, поставляемый с моей Ubuntu 12.10, - это 7.3.547, поэтому я должен был перекомпилировать vim из источника, следуя этой инструкции.

Как сказано в инструкции, я выполнил:

sudo apt-get установить libncurses5-dev libgnome2-dev libgnomeui-dev \
libgtk2.0-dev libatk1.0-dev libbonoboui2-dev \
libcairo2-dev libx11-dev libxpm-dev libxt-dev python-dev ruby-dev mercurial

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

...
проверять tgetent в -lcurses... да
библиотека termcap не используется
библиотека терминалов не найдена
проверка на tgetent()... configure: error: НЕ НАЙДЕНО!
    Вам необходимо установить библиотеку терминалов; например нкурсы.
    Или укажите имя библиотеки с помощью --with-tlib.

Я провел некоторое исследование и понял, что должен указывать ncurses в качестве моей терминальной библиотеки. Но когда я сделал

./configure --with-tlib=ncurses

это кричит в ответ

...
проверка аргумента --with-tlib... ncurses
проверка связи с библиотекой ncurses... ОК
проверка наличия tgetent()... configure: error: НЕ НАЙДЕНО!
    Вам необходимо установить библиотеку терминалов; например нкурсы.
    Или укажите имя библиотеки с помощью --with-tlib.

Я не знаю, есть ли что-то, что я пропустил, или есть ли другой способ получить новейшую версию vim? Большое спасибо!

5 ответов

Решение

Я использовал PPA этого парня, чтобы поддерживать Vim в актуальном состоянии на Ubuntu 11.04. Последняя версия - 7.3.854, которая, я считаю, работает с YouCompleteMe.

Это связано с тем, что в системе отсутствует библиотека ncurses, которую можно решить, установив libncurses5-dev.

      sudo apt-get install libncurses5-dev

Я решил это с помощью этой статьи.введите описание ссылки здесь

У меня была точно такая же проблема (перекомпиляция vim для использования YCM), и я исправил ее, удалив src/auto/config.cache (в дереве VIM) и повторного запуска ./configure, Кажется устаревшим configure кеш был еще там.

Я использую Ubuntu 16.10 и не могу получить VIM 8.0 для компиляции. Погуглив проблему, я сказал установить пакет "ncurses-dev", но я не смог найти этот пакет. В конце концов я обнаружил, что установка пакета "libtinfo-dev" сделала свое дело, и я смог скомпилировать vim.

В Ubuntu (и других дистрибутивах на основе Debian) вы можете получить все необходимые условия с помощью:

$ sudo apt-get build-dep vim-gnome

Я не знаю, решает ли это проблему зависимости, но стоит попробовать.

Другие вопросы по тегам