2016-12-04 16 views
0

Я новичок в autotools и пытаюсь его изучить. Я столкнулся с проблемой при попытке запустить Configure на существующий проект с открытым исходным кодом и получить эту ошибку:configure: ПРЕДУПРЕЖДЕНИЕ: сценарий «отсутствует» слишком стар или отсутствует

./configure 
checking for a BSD-compatible install... /usr/bin/install -c 
checking whether build environment is sane... yes 
/home/myaccount/coding/Plotutils/missing: Unknown `--is-lightweight' option 
Try `/home/kzhou/coding/Plotutils/missing --help' for more information 
configure: WARNING: 'missing' script is too old or missing 

Я не вижу никакой пользы проводки для исправления этой проблемы. Как решить эту проблему?

+0

Попробуйте найти "missing: Unknown' --is-lightweight "option". – user2864740

ответ

1

При поиске внутри отсутствующего файла в каталоге проекта имеет

scriptversion=2009-04-28.21; # UTC 

В моей системе Ubuntu Я нашел скрипт на

/usr/share/libtool/build-aux/missing 

Это версия

scriptversion=2013-10-28.13; # UTC 

Просто скопируйте новую версию в ваш проект, исправите эту проблему:

+0

Не копируйте файл таким образом, он может сломать материал :((API может не соответствовать тому, что ожидает 'Makefile'.) –

+0

Я новичок в этой области, как пропал файл, скопированный в проект? –

+0

Если вы используете 'cp' из произвольной версии libtool, это может не соответствовать остальной части сгенерированных autotools. См. мой ответ ниже для канонического решения. –

0

Это обычно вызвано mispackaged источников, например, если они зарегистрировались в ДМВ файл configure, но не остальных вспомогательных файлов, или источник тарболом не был сгенерирован make dist.

Быстрое решение заключается в обеспечении всех Autotools повторно выполняются:

autoreconf -fi 

это будет повторно генерировать configure, Makefile.in и так далее, и принести новый набор вспомогательных файлов. Нужно установить autoconf, automake и, возможно, пакеты libtool, так что это может быть немного перебор.