Почему `configure` не завершается ошибкой, а `config.log` содержит ошибки?

В моей попытке скомпилировать GCC я заметил, что хотя ./configure не выдает сообщений об ошибках и возвращает код ошибки 0, в config.log по-прежнему регистрируются ошибки, которые впоследствии приводят к сбою make. Итак, почему configure уже не выходит из строя? Или make позже изменяет config.log?


person Tobias Kienzler    schedule 14.12.2012    source источник


Ответы (1)


config.log содержит выходные данные всех configure зондов. Ожидается, что некоторые из них потерпят неудачу. Например, Autoconf часто ищет несколько различных возможных альтернативных реализаций определенной функциональности, и ожидается, что некоторые из них потерпят неудачу в зависимости от характеристик вашей системы.

Таким образом, автор сценария Autoconf configure.ac должен явным образом отказаться от этапа настройки, если результаты не являются жизнеспособными. Некоторые люди делают это, когда пишут свои configure.ac, а некоторые нет. Иногда во время настройки может быть довольно сложно узнать, является ли конкретный набор выводов жизнеспособным. Есть также разумный аргумент, что легче диагностировать проблемы во время сборки позже, чем выдавать сообщение об ошибке из configure и заставлять людей искать подробности в config.log. Это особенно верно, если проблемы относительно неясны.

Краткий ответ заключается в том, что configure не дал сбой, потому что люди, которые написали скрипт configure, который вы запускаете, не запрограммировали его на сбой для конкретных ошибок, которые вы видите по той или иной причине.

person rra    schedule 17.03.2013