Как указать autoconf / automake на нестандартные пакеты
-
07-07-2019 - |
Вопрос
Я пытаюсь создать ZooKeeper на RedHat Linux box.(Что именно такое ZooKeeper, вероятно, не важно :-)
Когда я следую инструкциям на упаковке, я получаю:
$ autoreconf -if
aclocal:configure.ac:33: warning: macro `AM_PATH_CPPUNIT' not found in library
aclocal:configure.ac:33: warning: macro `AM_PATH_CPPUNIT' not found in library
configure.ac:33: error: possibly undefined macro: AM_PATH_CPPUNIT
If this token and others are legitimate, please use m4_pattern_allow.
See the Autoconf documentation.
autoreconf: /usr/bin/autoconf failed with exit status: 1
Я не могу установить CPPPUNIT в стандартном месте.(У вас нет прав root, системная команда придерживается политики "без отклонений" от стандартной конфигурации.)
Я обошел эту проблему, закомментировав ссылки на
AM_PATH_CPPUNI
T в моем configure.ac файле, но что я действительно хотел бы сделать
это установить CPPPUNIT в мой личный каталог и указать на него, но я
не добился большого прогресса в выяснении, как сообщить системе autoconf / auotmake
искать его в нестандартном месте.У кого-нибудь есть какие-нибудь подсказки о том,
как это сделать?
Решение
Вы хотите установить переменную окружения ACLOCAL_PATH.
ACLOCAL_PATH="/home/YOU/path/to/share/aclocal" autoreconf -if
Чтобы выяснить, на какой каталог нужно указать ACLOCAL_PATH, вам нужно найти каталог, содержащий файл .m4, который определяет AM_PATH_CPPUNIT.
Другие советы
В моем случае я получил эту ошибку из-за отсутствия пакета cppunit-devel. После установки этого пакета на моем сервере centos с помощью yum -y install cppunit-devel
все работает хорошо.
Если переменная path не может быть добавлена в ваш профиль или среду..или что у вас есть, вы можете попробовать "экспортировать" путь перед запуском autoconf.Это установит этот параметр, по крайней мере, для данного сеанса...
export ACLOCAL_PATH=/home/YOU/path/to/share/aclocal
Кроме того, если уж на то пошло, вы можете..(Это очищает ваши Make-файлы от всего нерабочего дерьма, с которым вас оставили команды autoconf / configure ...)
make clean
И откройте свой скрипт "./configure", и это little friends (все, что называется "configure.*")..в текстовом редакторе.Затем несколько осторожно "Найдите и замените" экземпляры любой "Вещи", которая вас сбивает с толку.Как только вы исправите директивы в скриптах наСтройки, запустите их снова...если повезет, ваши make-файлы будут работать в вашей среде.
Примечание:Это то, что я делаю на своем MAC, обычно для компиляции LINUX SW, которая НЕ тестировалась и не предназначена для запуска на Mac.Возможно, это неправильный способ сделать это, но когда вариантов не так много, иногда вам просто нужно вмешаться и смириться с этим.
В случае нескольких путей, добавьте их с разделителем. Как:
export ACLOCAL_PATH="/usr/share/aclocal/:/usr/local/share/aclocal"