Как указать autoconf / automake на нестандартные пакеты - PullRequest
7 голосов
/ 16 сентября 2009

Я пытаюсь собрать 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 Система искать его в нестандартном месте. У кого-нибудь есть намеки на как это сделать?

Ответы [ 4 ]

7 голосов
/ 16 сентября 2009

Вы хотите установить переменную окружения ACLOCAL_PATH.

ACLOCAL_PATH="/home/YOU/path/to/share/aclocal" autoreconf -if

Чтобы выяснить, на какой каталог нужно указать ACLOCAL_PATH, вам нужно найти каталог, содержащий файл .m4, который определяет AM_PATH_CPPUNIT.

5 голосов
/ 25 февраля 2014

В моем случае я получил эту ошибку из-за отсутствия пакета cppunit-devel. После установки этого пакета на моем сервере Centos yum -y install cppunit-devel все работает хорошо.

1 голос
/ 25 ноября 2015

В случае нескольких путей, добавьте их с помощью: разделителя. Как:

export ACLOCAL_PATH="/usr/share/aclocal/:/usr/local/share/aclocal"
1 голос
/ 30 апреля 2011

Если переменная пути не может быть добавлена ​​в ваш профиль или среду ... или что у вас есть, вы можете попробовать "экспортировать" путь до запуска autoconf. Это установит эту опцию, по крайней мере, для этой сессии ...

export ACLOCAL_PATH=/home/YOU/path/to/share/aclocal

Кроме того, если push доходит до пуша, вы можете .. (Это очищает ваши Makefiles от любого нерабочего дерьма, которое оставили команды autoconf / configure ...)

make clean

И откройте свой сценарий "./configure", и это маленькие друзья (все, что называется "configure. *") .. в текстовом редакторе. Затем, несколько осторожно, «Найдите и замените» случаи того, что «Вещи» портит вас. Как только вы исправите директивы в сценариях настройки и запустите их снова ... если вам повезет, ваши make-файлы будут работать в вашей среде.

Примечание. Это то, что я делаю на своем MAC, обычно для компиляции LINUX SW, который НЕ тестировался или предназначен для работы на Mac. Это может быть неправильный способ сделать это, но когда вариантов не так много, иногда вам просто нужно войти туда и проклясть его.

...