https://superuser.com/questions/565988/autoconf-libtool-and-an-undefined-ac-prog-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.