Когда я набираю ./autogen.sh, произошла некоторая ошибка.
Цель Autotools состоит в том, чтобы они не были частью обычных сборок..Автоинструменты используются для построения системы сборки, которая является обязанностью сопровождающего пакета.Люди, которые просто хотят собрать проект, не должны (в соответствии с философией Autotools) вообще вызывать Autotools - вместо этого им следует использовать уже предоставленную им систему сборки, состоящую из скрипта configure
, Makefile и заголовка.шаблоны, и т. д. ..
Таким образом, первое, что нужно попробовать, это всегда распаковывать чистую копию дистрибутива, и, без запуска autogen.sh
, autoreconf
,или аналогичный , выполните стандартную последовательность configure; make; make install
.В этом случае Autotools даже не нужно устанавливать на хост сборки.Только в том случае, если необходимо изменить существующую систему сборки для вашей среды или если она вообще не предусмотрена, вы должны изучить (пере) сборку системы сборки.
Если вам нужно перестроить систему сборки - что не так уж редко, как хотелось бы GNU - тогда самый плавный путь вперед - это использовать те же версии Autotools, которые используют сопровождающие пакетов.Более поздние версии часто являются жизнеспособной заменой, но иногда они требуют корректировки входных данных Autotools.Старые версии могут быть проблематичными.Однако вы должны хорошо понимать, что это ставит вас в роли сопровождающего пакета, а не просто сборщика пакетов.Перестройка системы сборки открывает вам необходимость решать проблемы, характерные для этой задачи.
Иногда проблемы совместимости версий могут быть частично или полностью решены путем указания Autotools заменять сценарии и локальные макросы m4, в которые они устанавливаютсяисходное дерево проекта.Если проект предоставляет autogen.sh
, он может или не может сделать это.Команда autoreconf --install --force
, запускаемая из корня дерева исходного кода, позаботится обо всех этих частях Autotools, но может не выполнять других действий, которые autogen.sh
делает.Вероятно, стоит потратить время на то, чтобы узнать, что делает ваш конкретный autogen.sh
, и может быть полезно запустить оба autoreconf
и autogen.sh
, вероятно, в таком порядке.
Я думаю, может бытьневерный файл .bashrc
Маловероятно, что указанное вами сообщение об ошибке отражает проблему с конфигурацией вашей среды.Это может отражать проблему с вашими локальными инструментами Autotools - скорее, Libtool, чем с другими - но есть большая вероятность, что это отражает несовместимость между версиями Autotools, используемыми сопровождающими пакета, и версиями, которые вы создали.