вы должны установить libtool
в убунту:
sudo apt-get install libtool
в основе redhat:
yum install libtool
Я пытаюсь собрать библиотеку, и инструкции README должны вызвать configure.ac, а затем make.
К сожалению, я сталкиваюсь с ошибкой:
configure.ac:75 :error: possibly undefined macro: AC_PROG_LIBTOOL If this token is legitimate please use m4_pattern_allow
Теперь я знаю, что у меня установлен libtool (я использую Scientific Linux 6.2 (без обновления) и использую yum --downloadonly для получения rpms от automake, autoconf, libtool и libtool-devel на всякий случай).
Они установлены, и в настоящее время libtool находится в / usr / share / libtool. Однако autoconf не может его найти.
Все результаты Google были типа «установить libtool», что мне совсем не помогло. Любая помощь или руководство будут очень признательны. Я не уверен, что проблема в том, что rpm -i облажался с получением libtool здесь, или мне нужно связать / usr / share / libtool где-то еще (так, чтобы кто-нибудь еще мог найти его).
вы должны установить libtool
в убунту:
sudo apt-get install libtool
в основе redhat:
yum install libtool
I wasn't satisfied with all the "just reinstall" answers I've found all over the Internet in various forums, so was bound and determined to resolve this without installing a non-distro libtool. (I'm running on CentOS 7.)
The lightbulb above my head lit up when I read https://www.gnu.org/software/automake/manual/html_node/Macro-Search-Path.html. The search path used to find the macro files is the one defined by --prefix
, which by default is usually /usr/local
. So autoconf for a package which will be installed to /usr/local
searches /usr/local/share/aclocal-APIVERSION
and /usr/local/share/aclocal
.
On many distros, including CentOS7, the seven macro files for libtools
are installed under /usr/share/aclocal
rather than under /usr/local/share/aclocal
. Consequently, they aren't found when the package you are building sets prefix to /usr/local
.
To fix this if you already have a /usr/local/share/aclocal
directory, type the following as root:
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
To fix this if you don't have a /usr/local/share/aclocal
directory, type the following as root:
ln -s /usr/share/aclocal /usr/local/share/aclocal
Voilà -- problem solved.
Я также установил libtool и другие файлы в нестандартные каталоги, и эта ошибка на самом деле означает, что autoconf не может найти макросы libtool m4. Да, это может быть вызвано не установкой libtool, а также тем, что он находится в нестандартном каталоге установки. Вот мое исправление:
export ACLOCAL_PATH=$HOME/install/libtool/share/aclocal:$ACLOCAL_PATH
который я поместил в свой .bash_profile
Вам необходимо переустановить его, чтобы исправить ошибку, поэтому выполните следующие действия:
1] Удалить текущий libtool, если он установлен: sudo apt-get purge libtool
2] Загрузите его с официального сайта https://www.gnu.org/software/libtool/
3] Распакуйте его: tar -xzvf "name of the tar_file"
4] Введите папку и введите: ./configure && make
5] Установите его: sudo make install
И все готово, ошибка должна быть исправлена!
configure.ac:75 :error: possibly undefined macro: AC_PROG_LIBTOOL If this token is legitimate please use m4_pattern_allow
Теперь я знаю, что у меня установлен libtool ...
Я обнаружил, что это обычно означает, что у вас не установлено оборудование для libtool
разработки (хотя вы, возможно, и libtool
установили).
Вы должны установить libltdl-dev
на Debian и Ubuntu; и libtool-ltdl-devel
на федоре.
Вот поиски пакетов.
мягкая фетровая шляпа
$ 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 ...