解决 configure.ac: error: possibly undefined macro: AC_PROG_LIBTOOL

看了很多文章,这里记录一下:

1.没有安装aclocal

  • 解决方法
    #CentOS系统
    yum -y  install libtool libsysfs

2. aclocal与libtool没有安装在相同目录

  • 原因分析:aclocal是个扫描程序, 负责扫描configure.ac中所有的宏定义并展开,上面产生的原因就是找不到LIBTOOL宏的定义之处造成的.原因就是aclocal与libtool没有安装在一个相同目录下面

  aclocal是去默认 安装目录 /usr/share/aclocal下面搜索所有的.m4文件找所定义的宏,但是由于安装了多个aclocal,可能aclocal目录不存在,实际目录为/usr/local/share/aclocal等,这就造成了aclocal找不到m4文件的情况。

  • 解决方法

把/usr/share/aclocal面的.m4文件都copy至/usr/local/share/aclocal中.

#将系统拥有的/usr/share/aclocal中文件拷贝到重复安装路径
cp -rf /usr/share/aclocal/* /usr/local/share/aclocal/

3. 没有配置正确aclocal的库路径

解决方法

  如果相应的*.m4文件不在这个目录下,则重新配置路径(aclocal -I DIR).

#设置指定路径
#aclocal -I DIR   #add directory to search list for .m4 files
aclocal -I /usr/local/share/aclocal -I /usr/share/libtool/m4 --install

#查看aclocal的路径
aclocal --print-ac-dir

#设置aclocal路径
aclocal --system-acdir=/usr/share/aclocal   #directory holding third-party system-wide files
aclocal --automake-acdir=DIR                #directory holding automake-provided m4 files

《解决 configure.ac: error: possibly undefined macro: AC_PROG_LIBTOOL》有1个想法

  1. 爱学习的水先生

    就这个有用,确实是安装了多个aclocal的原因,其他博客都是去安装libtool。感谢博主

发表评论

邮箱地址不会被公开。 必填项已用*标注