VIM двоичный со всеми библиотеками статически связаны

Я хочу собрать vim со всеми библиотеками, от которых зависит vim, статически связанных. Версии Vim достаточно для запуска YouCompleteMe. Я использую следующие флаги со скриптом configure:

$./configure --with-features=huge \
             --enable-multibyte \
             --enable-rubyinterp \
             --enable-pythoninterp \
             --enable-perlinterp \
             --enable-luainterp \
             --enable-gui=gtk2 \
             --enable-cscope

Я установил LDFLAGS на "-static"

$export LDFLAGS='-static'

Я также установил все зависимости сборки vim:

$sudo apt-get build-dep vim

Оказывается, что-то все еще не хватает, потому что я получаю следующее сообщение об ошибке из скрипта configure:

checking --with-tlib argument... empty: automatic terminal library selection
checking for tgetent in -ltinfo... no
checking for tgetent in -lncurses... no
checking for tgetent in -ltermlib... no
checking for tgetent in -ltermcap... no
checking for tgetent in -lcurses... no
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 - да, у меня в следующем месте:

/usr/lib/i386-linux-gnu/libncurses.a

Без статического LDFLAG vim собирает без проблем.

У вас есть идеи, почему это происходит?

1 ответ

У меня была похожая проблема при попытке некоторых вещей с pkgsrc на порту vim. Попробуйте открыть файл config.log. В моем случае скрипт configure сказал мне это:

| int
| main ()
| {
| char s[10000]; int res = tgetent(s, "thisterminaldoesnotexist");
|   ;
|   return 0;
| }
configure:11408: error: NOT FOUND!
      You need to install a terminal library; for example ncurses.
      Or specify the name of the library with --with-tlib.

Проблема в том, что в фрагменте кода C отсутствует заголовок termcap.h. Поэтому я пропатчил скрипт настройки, добавив #include <termcap.h> и тогда все было в порядке.

Я не знаю, если это та же проблема на вашей платформе, но вы должны попробовать:)

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