Sie müssen libtool installieren
in Ubuntu:
sudo apt-get install libtool
in redhat basiert:
yum install libtool
Ich versuche, eine Bibliothek zu erstellen, und die README-Anweisungen sollen "configure.ac" aufrufen und "make" ausführen.
Leider stoße ich auf einen Fehler:
configure.ac:75 :error: possibly undefined macro: AC_PROG_LIBTOOL If this token is legitimate please use m4_pattern_allow
Jetzt weiß ich, dass ich libtool installiert habe (ich verwende Scientific Linux 6.2 (nicht aktualisiert)) und habe yum --downloadonly nur für den Fall verwendet, um die RPMs von automake, autoconf, libtool und libtool-devel zu erhalten.
Sie sind installiert und libtool lebt derzeit in / usr / share / libtool. Autoconf scheint es jedoch nicht zu finden.
Alle Google-Ergebnisse waren von der Art 'install libtool', was mir überhaupt nicht weiterhilft. Jede Hilfe oder Anleitung wäre sehr dankbar. Ich bin mir nicht sicher, ob das Problem darin besteht, dass rpm -i hier ein Problem mit dem Libtool hat, oder ob ich das / usr / share / libtool mit einem anderen verknüpfen muss (also was und alles andere es finden kann).
Sie müssen libtool installieren
in Ubuntu:
sudo apt-get install libtool
in redhat basiert:
yum install libtool
Ich war nicht zufrieden mit all den Antworten, die ich in verschiedenen Foren im Internet gefunden hatte. Daher war ich fest entschlossen, dieses Problem zu lösen, ohne ein nicht-distro-libtool zu installieren. (Ich arbeite mit CentOS 7.)
Die Glühbirne über meinem Kopf leuchtet auf, wenn ich https://www.gnu.org/software/automake/manual/html_node/Macro-Search-Path.html lese . Der Suchpfad zum Suchen der Makrodateien ist der von --prefix
, der standardmäßig definiert wird /usr/local
. Also autoconf für ein Paket, das zu /usr/local
Suchen /usr/local/share/aclocal-APIVERSION
und installiert wird /usr/local/share/aclocal
.
Auf vielen Distributionen, einschließlich CentOS7, die sieben Makrodateien für libtools
installiert sind unter /usr/share/aclocal
nicht unter /usr/local/share/aclocal
. Daher werden sie nicht gefunden, wenn das zu erstellende Paket das Präfix setzt /usr/local
.
Um dies zu beheben, wenn Sie bereits über ein /usr/local/share/aclocal
Verzeichnis verfügen, geben Sie Folgendes als root ein:
for file in argz libtool ltdl ltoptions ltsugar ltversion lt~obsolete do ln -s /usr/share/aclocal/$file.m4 /usr/local/share/aclocal/$file.m4 done
Um dies zu beheben, wenn Sie kein /usr/local/share/aclocal
Verzeichnis haben, geben Sie Folgendes als root ein:
ln -s /usr/share/aclocal /usr/local/share/aclocal
Voilà - Problem gelöst
Ich habe auch libtool und andere in nicht standardisierte Verzeichnisse installiert, und dieser Fehler ist eigentlich die Tatsache, dass autoconf die m4-Makros von libtool nicht finden kann. Ja, es kann durch nicht installiertes libtool verursacht werden, aber auch durch ein nicht standardmäßiges Installationsverzeichnis. Hier ist mein Fix:
export ACLOCAL_PATH=$HOME/install/libtool/share/aclocal:$ACLOCAL_PATH
die ich in meine .bash_profile
Sie müssen es erneut installieren, um den Fehler zu beheben. Führen Sie die folgenden Schritte aus:
1] Aktuelles Libtool entfernen, falls installiert: sudo apt-get purge libtool
2] Laden Sie es von der offiziellen Website https://www.gnu.org/software/libtool/ herunter.
3] mache es los: tar -xzvf "name of the tar_file"
4] Ordner und Typ eingeben: ./configure && make
5] Installiere es: sudo make install
Und du bist fertig, der Fehler sollte behoben sein!
configure.ac:75 :error: possibly undefined macro: AC_PROG_LIBTOOL If this token is legitimate please use m4_pattern_allow
Jetzt weiß ich, dass ich libtool installiert habe ...
Ich habe festgestellt, dass dies normalerweise darauf hinweist, dass Sie keine libtool
Entwicklungsausrüstung installiert haben (obwohl Sie möglicherweise bereits libtool
installiert haben).
Sie sollten libltdl-dev
auf Debian und Ubuntu installieren . und libtool-ltdl-devel
auf Fedora.
Hier sind die Suchen nach den Paketen.
Fedora
$ yum search libtool ======================== Name Exactly Matched: libtool ========================= libtool.x86_64 : The GNU Portable Library Tool ======================= Summary & Name Matched: libtool ======================== libtool-ltdl.x86_64 : Runtime libraries for GNU Libtool Dynamic Module Loader libtool-ltdl.i686 : Runtime libraries for GNU Libtool Dynamic Module Loader libtool-ltdl-devel.x86_64 : Tools needed for development using the GNU Libtool : Dynamic Module Loader libtool-ltdl-devel.i686 : Tools needed for development using the GNU Libtool : Dynamic Module Loader =========================== Summary Matched: libtool =========================== mingw32-libltdl.noarch : Runtime libraries for GNU Libtool Dynamic Module Loader mingw64-libltdl.noarch : Runtime libraries for GNU Libtool Dynamic Module Loader
Ubuntu
$ apt-cache search libtool autotools-dev - Update infrastructure for config. files libltdl-dev - System independent dlopen wrapper for GNU libtool libltdl7 - System independent dlopen wrapper for GNU libtool libtool - Generic library support script libtool-bin - Generic library support script (libtool binary) libtool-doc - Generic library support script ...