J'ai ce qui suit dans configure.ac:
AC_CHECK_PROGS(MAKE,$MAKE make gmake,error)
if test "x$MAKE" = "xerror" ;then
AC_MSG_ERROR([cannot find a make command])
fi
Cela fait longtemps dans notre projet, mais dans certaines configurations, j'obtiens cette erreur:
configure.ac:45: error: possibly undefined macro: AC_MSG_ERROR
If this token and others are legitimate, please use m4_pattern_allow.
See the Autoconf documentation.
Les lignes récemment ajoutées au-dessus:
AC_CONFIG_MACRO_DIR([m4])
LT_INIT
Quelqu'un peut-il expliquer ce qui cause cette erreur et comment localiser le problème?
EDIT: Ajout de détails sur les différences.
Boîte qui fonctionne:
uname -a Linux host1 2.6.38-13-generic #53-Ubuntu SMP Mon Nov 28 19:33:45 UTC 2011 x86_64 x86_64 x86_64 GNU/Linux
automake: 1.11.1
autoconf: 2.67
m4: 1.4.14
libtoolize: 2.2.6b
Boîte qui ne fonctionne pas:
Linux host2 2.6.32-35-generic-pae #78-Ubuntu SMP Tue Oct 11 17:01:12 UTC 2011 i686 GNU/Linux
automake: 1.11.1
autoconf: 2.65
m4: 1.4.13
libtoolize: 2.2.6b
NOUVELLE MODIFICATION: seules les machines 32 bits rencontrent cette difficulté.
MIS À JOUR Je suis en mesure de reproduire le problème sur une machine CentOS avec autoconf 2.67
, automake 1.11.1
, libtool 2.2.6b
et m4 1.4.14
. Est-ce juste un bug avec les machines 32 bits?
Réponses:
J'ai eu ce même problème et j'ai trouvé que
pkg-config
paquet était manquant.Après avoir installé le package, tout s'est généré correctement.
la source
"-I /toolchain_local/pkg-config-0.23/share/aclocal"
à laautoreconf
ligne de commande. Il m'a fallu un certain temps pour réaliser que pkg-config n'installe pas que des binaires.rpm -ql pkgconfig
aidé.libtool
.AC_MSG_ERROR
a essayé de dire "vous devez installer pkg-config" mais pour une raison quelconque, il n'a pas pu imprimer ce message (donnant l'erreur à propos deAC_MSG_ERROR
). En installant,pkg-config
il n'était plus nécessaire d'imprimer un message d'erreur, donc laAC_MSG_ERROR
ligne a été sautée et les choses fonctionnent. Bien si vous installez le package de quelqu'un d'autre, mais si c'est votre propre code, vous n'avez toujours pas résolu le problème :-)autoconf-archive
package a résolu le problème.Il est recommandé d'utiliser
autoreconf -fi
au lieu d'appeler manuellementaclocal;autoconf;automake; #and whatever else
pour remplir correctement aclocal.m4 et ainsi de suite.L'ajout
ACLOCAL_AMFLAGS = -I m4
(au niveau supérieur Makefile.am) etAC_CONFIG_MACRO_DIR([m4])
est actuellement toujours facultatif si vous n'utilisez pas vos propres fichiers m4, mais bien sûr, cela fera taire le processus :)la source
autoreconf -fi
fait compiler PCRE.ACLOCAL_AMFLAGS
enMakefile.am
- merci!J'ai eu ce problème avec le mien
configure.ac
, mais dans ce cas (et pour le bénéfice de quiconque ici de Google), c'était parce que j'avais accidentellement cité leAC_MSG_ERROR
donc il était traité comme une chaîne:Une fois que j'ai supprimé les crochets autour de la
AC_MSG_ERROR
macro, cela a fonctionné:Ces commentaires disant que vous devez installer
pkg-config
ou certains packages manquent le point. LeAC_MSG_ERROR
est censé fonctionner et vous donner un message utile comme "Vous devez installer le package XYZ", mais à cause d'un problème, leAC_MSG_ERROR
ne fonctionne pas. L'installation du package XYZ fera certainement disparaître l'erreur, mais uniquement parce qu'une fois le package là, il n'est plus nécessaire d'imprimer un message d'erreur!Donc, installer
pkg-config
ou un package particulier contourne simplement le problème, cela ne le résout pas réellement.la source
j'ai également eu un problème similaire .. ma solution est de
(j'avais déjà installé libcurl) a fonctionné pour moi au moins ..
la source
J'ai rencontré ce même problème sous CentOS 7
Dans certains cas, le problème s'est produit après l'installation de
libcurl-devel
(libcurl
était déjà installé sur cette machine)la source
J'ai eu le même problème sur RHEL7.5 avec otto-de / libvmod-uuid
Il a été corrigé en installant les packages "autoconf-archive"
la source
Configurez-vous un
m4
répertoire local ' '? par exemple,> aclocal -I m4 --install
Certains paquets sont livrés avec un script
autogen.sh
ouinitgen.sh
shell pour exécuter glibtoolize, autoheader, autoconf, automake. Voici unautogen.sh
script que j'utilise:ÉDITER
Vous devrez peut-être ajouter
ACLOCAL_AMFLAGS = -I m4
au niveau supérieurMakefile.am
.la source
ACLOCAL_AMFLAGS
variable?Pour Debian. Les packages requis sont: m4 automake pkg-config libtool
la source
L'erreur est générée par autom4te. Si les choses sont correctement configurées, la partie du code qui génère cette erreur ne devrait jamais voir «AC_MSG_ERROR», car elle aurait dû être étendue par m4 avant ce point. Vous dites que l'erreur ne se produit que "dans certaines configurations". Je suggérerais que dans ces configurations, votre installation autoconf soit fubar. Vous avez peut-être une version incompatible de m4 installée.
la source
Utilisation de MacOS X
était la solution!
la source
Sur Mac OS X el captain avec brew, essayez:
brew install pkgconfig
Cela a fonctionné pour moi.
la source
Il y a deux raisons possibles à ce problème:
n'a pas installé aclocal.
solution : installer libtool
sudo apt-get install libtool
sudo yum install libtool
le chemin vers LIBTOOL.m4 est une erreur.
Solution:
aclocal --print-ac-dir
pour vérifier le chemin actuel vers aclocal. (Il devrait généralement être "/ usr / share / aclocal" ou "/ usr / share / aclocal")cp /usr/share/aclocal/*.m4 /usr/local/share/aclocal/
- être oucp /usr/local/share/aclocal/*.m4 /usr/share/aclocal/
)J'espère que ça aide
la source
J'ai eu le même problème sur Ubuntu (
error: possibly undefined macro: AC_MSG_ERROR
) mais les réponses ci-dessus n'ont pas fonctionné pour moi. J'ai trouvé la solution iciCela a fait l'affaire:
la source
Mon problème est résolu après l'installation de pkg-config sur Mac (brew install pkg-config)
la source
J'ai résolu ça en
yum install libtool
la source
Cela m'est arrivé lorsque j'ai oublié un, dans les arguments pour une macro définie localement. J'ai passé des heures à essayer de le comprendre (à peine familiarisé avec les outils automatiques) ...
aurait du être
On dirait qu'il aurait dû me donner une erreur ou autre, mais je suppose qu'en tant que macro-processeur, il ne peut faire que ce qu'il dit.
la source
Je viens de perdre quelques heures sur celui-ci. Ma conclusion:
la source
J'ai eu des problèmes similaires en essayant de construire amtk et utthpmock avec jhbuild.
J'avais besoin d'installer la version la plus récente d'autoconf-archive. Les instructions sont disponibles sur https://github.com/autoconf-archive/autoconf-archive/blob/master/README-maint . J'ai fait un autre
sudo make install
à la fin.La dernière étape consistait à mettre à jour mon
ACLOCAL_PATH
:Après a
source ~/.bashrc
, toutes les macros ont finalement été trouvées et les builds ont réussi.la source
J'ai eu le même problème avec le port Macports "openocd" (modifié localement le Portfile pour utiliser le dépôt git) sur une machine fraîchement installée.
Le correctif permanent est simple, définissez une dépendance à pkgconfig dans le fichier Portfile: depend_lib-append port: pkgconfig
la source