Как указать autoconf / automake на нестандартные пакеты


Я пытаюсь построить ZooKeeper на коробке RedHat Linux. (Точно, что такое 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 в стандартном месте. (Не имеет привилегий суперпользователя, команды системы имеет политику "никаких отклонений" от стандартной конфигурации.)

Я обошел проблему, комментируя ссылки на AM_PATH_CPPUNIT в моем configure.ac файл, но то, что я действительно хотел бы сделать это к установите CPPPUNIT в мой личный каталог и укажите на него, но я не могу его найти. не делая большого прогресса в выяснении, как сказать autoconf/auotmake система, чтобы искать его в нестандартном месте. У кого-нибудь есть какие-нибудь намеки на как это сделать?

4 6

4 ответа:

Вы хотите задать переменную среды 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 не может быть добавлена в ваш профиль, или environmen.. или что у вас есть, вы можете попробовать "экспортировать" путь до запуска autoconf. Это установит этот параметр, по крайней мере для данного сеанса...

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

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

make clean

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

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

В случае множественного пути добавьте их с помощью: separator. Например:

export ACLOCAL_PATH="/usr/share/aclocal/:/usr/local/share/aclocal"