./configure
checking for readline/readline.h... yes
checking for readline in -lreadline... no
checking for library containing tgetent... no
checking for rl_initialize in -lreadline... no
configure: WARNING: readline library not found
configure: error: Could not find a working readline library (see config.log for details).
Лезу в config.log и вижу:
Код: Выделить всё
configure:14915: checking for readline in -lreadline
configure:14940: gcc -o conftest -g -pipe -Wno-long-long -I/home/user/build/deps/include -L/home/user/build/deps/lib conftest.c -lreadline >&5
/home/user/build/deps/lib/libreadline.a(display.o): In function `rl_redisplay':
/home/user/build/readline-6.3/display.c:1123: undefined reference to `tputs'
<тут ещё до фига аналогичных ошибок>
collect2: error: ld returned 1 exit status
То есть долбаный autoconf для проверки функциональности библиотеки пытается её слинковать без учёта зависимостей. (Здесь должна быть куча матерных слов в адрес того, кто вообще придумал такие проверки, но я их опущу.)
Вопрос: как с этим бороться? То есть понятно, что есть разные способы типа игнорирования проверки путём передачи переменной с предопределённым её результатом (понятно, положительным). Но как бы вы решали данную проблему? Вдруг есть более элегантный способ (например как-то заставить configure использовать для сборки проверок libtool)?