Question

J'essaie de construire ZooKeeper sur une machine RedHat Linux. (Exactement ce que ZooKeeper est n’est probablement pas important: -)

Lorsque je suis les instructions du paquet, je reçois:

 $ 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

Je ne peux pas installer CPPPUNIT à la place standard. (Ne pas avoir les privilèges root, équipe système a une politique de "pas de déviations" de la configuration standard.)

J'ai résolu le problème en commentant les références à AM_PATH_CPPUNI T dans mon fichier configure.ac, mais ce que j'aimerais vraiment faire est d’installer CPPPUNIT dans mon répertoire personnel et de le pointer dessus, mais je suis ne pas faire beaucoup de progrès pour trouver comment dire à l'autoconf / auotmake système pour le rechercher dans un endroit non standard. Quelqu'un a des allusions sur comment faire cela?

Était-ce utile?

La solution

Vous souhaitez définir la variable d'environnement ACLOCAL_PATH.

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

Pour déterminer le répertoire dans lequel vous devez pointer ACLOCAL_PATH, vous devez rechercher le répertoire contenant le fichier .m4 définissant AM_PATH_CPPUNIT.

Autres conseils

Dans mon cas, j'ai eu cette erreur parce que le paquet cppunit-devel était manquant. Après avoir installé ce paquet sur mon serveur centos avec yum -y install cppunit-devel , tout fonctionne correctement.

Si la variable de chemin d'accès ne peut pas être ajoutée à votre profil, à votre environnement ou à ce que vous avez, vous pouvez essayer d '"exporter". le chemin avant d'exécuter autoconf. Cela définira cette option, au moins pour cette session ...

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

De plus, si les choses se gâtent, vous pouvez .. (Cela efface vos Makefiles de toutes les conneries qui ne fonctionnent pas et que les commandes autoconf / configure vous ont laissées ...)

make clean

Et ouvrez votre " ./ configure " script, et ce sont de petits amis (tout ce qui est nommé "configure. *") .. dans un éditeur de texte. Puis, avec un peu de précaution, "Rechercher et remplacer". les occurrences de "Chose" vous dérange. Une fois que vous avez corrigé les directives dans les scripts de configuration, puis que vous les avez exécutées à nouveau, vos fichiers de création fonctionneront avec votre environnement.

Remarque: C’est ce que je fais sur mon MAC, généralement pour compiler un logiciel Linux non testé ni destiné à être exécuté sur un Mac. C’est peut-être une mauvaise façon de faire les choses, mais quand il n’ya pas beaucoup d’options, il suffit parfois d’y entrer et de tout gâcher.

Si vous avez plusieurs chemins, ajoutez-les avec: separator. J'aime:

export ACLOCAL_PATH="/usr/share/aclocal/:/usr/local/share/aclocal"
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top