Я пытаюсь собрать и установить клиент Mutt на моем Slackware (14.2). Я следую стандартной процедуре configure && make && make install . Вот мои вопросы по теме.

  1. Как проверить, все ли 3 шага (настроить, сделать, выполнить установку) прошли правильно? Правильно ли я могу перенаправить ошибку std в такой файл:

.configure 2> configure_errors.log
make 2> make_errors.log

и затем предположим, что если соответствующий файл пуст (без ошибок), соответствующий шаг выполнен успешно?

  1. Каковы параметры по умолчанию для скрипта configure ? Я могу найти список опций с их значением, но не могу найти, какие по умолчанию?
  2. Я хотел бы установить Mutt в пользовательском каталоге ($ HOME/ Mutt), но опция --prefix похоже, не работает. Когда я добавляю --prefix=$HOME/mutt к скрипту configure итоге получается, что mutt устанавливается только в директорию, из которой я выпустил скрипт (то есть в директорию, где он не был обработан). Мой $HOME/mutt пуст.

1 ответ1

0

1) Обычный способ сделать это (или, по крайней мере, как я это делаю), если вы не уверены, что он будет работать без ошибок, - это выполнить все шаги по отдельности и просто посмотреть на сообщения терминала.

Так что configure , смотрите, как он жалуется на отсутствующие библиотеки, устанавливайте пакеты для отсутствующих библиотек, повторяйте configure и т.д. До тех пор, пока это не удастся. Затем сделайте make , исправьте ошибки в исходных файлах, если это необходимо (надеюсь, что нет). Наконец, сделайте make install , если необходимо, от имени пользователя root.

Перенаправление стандартной ошибки в файлы журнала звучит излишне сложно, обычно вы сразу же увидите проблему. И терминал можно прокрутить вверх. Я еще не столкнулся с проблемой, когда мне нужно было бы это сделать, хотя иногда я смотрел на подробный журнал, который configure по себе (поскольку он содержит тестовые программы, которые он пытается скомпилировать), если я не мог понять точно, что было не так из сообщения об ошибке.

2) Я не думаю, что есть способ найти значения по умолчанию. Вы можете посмотреть файлы configure.in , Makefile.am и т.д., Чтобы понять, что они делают, если конкретный параметр неясен. С каким вариантом у вас проблемы?

3) Как правило, для самоскомпилированных программ я рекомендую устанавливать их в /usr/local с использованием stow , как описано, например, здесь. Установка в подкаталоги $HOME будет работать только в том случае, если вы не устанавливаете какие-либо библиотеки или другие материалы, которые уже найдены в /usr/local большинством частей системы, поскольку пути поиска для них существуют по умолчанию.

К сожалению, все программное обеспечение выполняет установку немного по-разному, даже с автоинструментами, поэтому я не знаю, почему оно не было установлено в каталог --prefix . Какие сообщения вы получили после ввода make install? Они обычно говорят вам, где он пытается установить все. Иногда части или все файлы игнорируют различные префиксы и устанавливаются где-то еще, поэтому вам нужно изменить Makefile.am и т.д., Чтобы он работал правильно.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .