При компиляции Vim библиотека терминалов не найдена

31

Я использую Ubuntu 12.04.

Я пытаюсь получить определенный плагин для работы vim, и он требует, чтобы в vim была включена поддержка ruby ​​(плагин - command-t).

Люди говорят мне, что я должен зайти в свой каталог vim и запустить

./configure --enable-rubyinterp

Когда я делаю это, я получаю следующую ошибку:

    no terminal library found
checking for tgetent()... configure: error: NOT FOUND!
      You need to install a terminal library; for example ncurses.
      Or specify the name of the library with --with-tlib.

Теперь я проверил и ncurses-base установлен.

Что мне нужно сделать?

Fawkes5
источник
4
Я думаю, что вы должны установить ncurses-devбиблиотеку
epsilonhalbe
Не могли бы вы предоставить содержаниеsrc/auto/config.log
epsilonhalbe
спасибо, эпсилон, это решило. Не могли бы вы сделать это в ответ, чтобы я мог отдать вам должное
Fawkes5

Ответы:

47

Я думаю, что вы должны установить ncurses-devбиблиотеку.

Вы можете сделать это, запустив sudo apt-get install libncurses5-dev libncursesw5-dev

epsilonhalbe
источник
1
Я использую Ubuntu 16.10 и не могу найти пакет "ncurses-dev". Я наконец обнаружил, что установка libtinfo-dev сделала свое дело.
Марникс А. ван
3
в Ubuntu 16.04: sudo apt-get install ncurses-dev
Гари
Последние подходящие репозитории libncurses5-devncurses-dev
выбраны
17

Запустите, sudo apt-get build-dep vimчтобы установить все пакеты, которые использовались для сборки пакета vim из репозиториев.

geirha
источник
+1 для команды build-
dep
13

если ты нет доступа к sudo, решение будет следующим:

загрузить последнюю (или любую) версию ncurses с http://ftp.gnu.org/pub/gnu/ncurses/

запустите эти команды bash:

mkdir ~/usr/local
cd <path_to_ncurses>
tar xzvf <ncurses>.tar.gz # change the tar command if it is not a tar.gz
cd <ncurses>
./configure --prefix=$HOME/usr/local
make
make install
cd <path_to_vim>
LDFLAGS=-L$HOME/usr/local/lib ./configure # then add any options e.g. --prefix=$HOME/usr/local
make
make install

И вот, пожалуйста. Не часто люди не имеют доступа sudo к машине, но это был мой случай, и эта ветка не предоставила мне необходимую информацию :) Теперь она делает

Джейкоб Миншалл
источник
1
В моем случае вышеприведенный шаг все еще недостаточно хорош. Мне нужно добавить, $HOME/usr/local/libчтобы LD_LIBRARY_PATH.
Пенге Гэн
1

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

Марникс А. ван Аммерс
источник
0

Основываясь на моем опыте, я сделал sudo apt-get install libncurses5-dev libncursesw5-dev.

Я был на Ubuntu 14.04. Это сработало.

iparjono
источник
Это добавляет что-нибудь к принятому ответу?
Анвар
# sudo apt-get install libncurses5-dev libncursesw5-dev Чтение списков пакетов ... Готово Построение дерева зависимостей Чтение информации о состоянии ... Готово libncurses5-dev уже самая новая версия (6.0 + 20160213-1ubuntu1). libncursesw5-dev уже является новейшей версией (6.0 + 20160213-1ubuntu1). 0 обновлено, 0 вновь установлено, 0 для удаления и 40 не обновлено. ............................ все еще получаю ошибку: / usr / bin / ld: help.o: неопределенная ссылка на символ 'delwin @ @ NCURSES_5.0.19991023 '
Ашиш Карпе
//usr/local/lib/libncurses.so.5: ошибка при добавлении символов: DSO отсутствует в командной строке collect2: error: ld вернул 1 состояние выхода Makefile: 18: рецепт для цели 'omnitty' не выполнен make: *** [omnitty ] Ошибка 1
Ашиш Карпе