configure: ошибка: GNU libltdl (Libtool) не найден, см. README

Я пытаюсь установить GNU Guile, чтобы позже установить Guix. Моя среда довольно закрыта, но они позволяют нам создавать инструменты. Я пытался установить пианобар в течение последних нескольких дней, и он работает, но я получаю вывод «Не удается открыть аудиоустройство». Мне нужно скомпилировать libao-pulse, для чего требуется Guile, но какие бы аргументы я ни передал скрипту configure, он всегда заканчивается на configure: error: GNU libltdl (Libtool) not found, see README.

Я пытался установить LD_LIBRARY_PATH, LD_FLAGS, CFLAGS и некоторые другие, но не могу пройти этот шаг.

Моя среда сборки выглядит так:

├── ~/local
   ├── bin
   ├── build
   ├── include
   ├── lib
   └── share

У меня есть переменные среды ($PREFIX, $build и $PATH), установленные для отражения этой настройки.

Что я делаю не так?

config.log: https://gist.github.com/ijustlovemath/e197ee17db459ab46c1a


person ijustlovemath    schedule 23.02.2016    source источник
comment
Можете ли вы вставить содержимое файла config.log в Gist и связать его здесь?   -  person Chris Jester-Young    schedule 24.02.2016
comment
gist.github.com/ijustlovemath/e197ee17db459ab46c1a   -  person ijustlovemath    schedule 24.02.2016


Ответы (1)


Важные строки из вашего журнала таковы:

configure:44552: checking for libltdl
configure:44574: gcc -o conftest -g -O2 -I/home/redacted/local/include -L/home/redacted/local/lib conftest.c /home/redacted/local/lib/libltdl.so -L/usr/lib /usr/lib/libdl.so -Wl,-rpath -Wl,/home/redacted/local/lib -Wl,-rpath -Wl,/usr/lib  >&5
/usr/lib/libdl.so: could not read symbols: File in wrong format
collect2: ld returned 1 exit status

Это единственное место в вашем config.log, где упоминается /usr/lib/libdl.so. Я подозреваю, что ваша локальная копия libtool настроена неправильно.

person Chris Jester-Young    schedule 23.02.2016
comment
Вы имеете в виду ту, что в /usr/lib? Или тот, что в $PREFIX/lib? Как я должен настроить его, чтобы исправить это? Кроме того, в прошлом вы задавали именно этот вопрос, вы что-то вроде мастера компиляции Guile? - person ijustlovemath; 24.02.2016
comment
Я имею в виду, что я считаю, что ваша локальная копия libtool (в $PREFIX/lib) каким-то образом неправильно настроена для ссылки на /usr/lib/libdl.so. Он должен просто использовать -ldl без ссылки на /usr/lib. (Не уверен, на какой платформе вы работаете, но в моей системе Debian libdl.so находится в /usr/lib/x86_64-linux-gnu.) Что касается вашего второго вопроса, я долгое время использовал Guile и довольно хорошо знаю инструменты сборки GNU. :-) - person Chris Jester-Young; 24.02.2016
comment
Я считаю, что это система RHEL, судя по отсутствию apt-get и наличию yum. Что может вызвать такое поведение? Как я могу это исправить? Кроме того, мы можем перенести это в чат? - person ijustlovemath; 24.02.2016
comment
Итак, я обнаружил, что libltdl.la в $PREFIX/lib ссылается на /usr/lib и изменил его, та же ошибка. Должен ли я перекомпилировать libltdl? - person ijustlovemath; 24.02.2016
comment
Да, вам, вероятно, следует пересобрать libtool и запустить make check, чтобы убедиться, что он работает правильно. Если вы используете довольно стандартные флаги, и он по-прежнему создает libltdl, Gist the libtool config.log, и я взгляну на него, когда найду время. - person Chris Jester-Young; 24.02.2016
comment
Пересборка libtool помогла. Ух ты! Не могу поверить, что это было проблемой все время. Еще не сделали, но, по крайней мере, мы на пути к новым проблемам. Ура, я отмечу это как закрытое. - person ijustlovemath; 24.02.2016
comment
Да, не стесняйтесь публиковать новый вопрос с вашей новой проблемой (опять же с новым выводом config.log). :-) - person Chris Jester-Young; 24.02.2016
comment
К сожалению у меня аналогичная проблема. Я перекомпилировал libtool, но это не помогло; Я удалил все старые версии libtool, но imagemagick все еще жалуется. Я думаю, что действительно пора отказаться от libtool в целом - он действительно сдерживает нас. Я имею в виду, кто будет просеивать около 5000 строк шелл-кода, чтобы выяснить, что он делает, когда что-то пойдет не так в наши дни? - person shevy; 19.03.2021