全部博文(584)
分类: LINUX
2010-11-15 11:47:51
最近在重新编译php的时候,看到pecl官方网站已经挂出了sphinx的 pecl扩展,于是就想尝试一下,在安装sphinx库的时候,需要先build一个configure文件。自从安装fedora9之后,我还从来没有 build过任何东西,所以没有料到会出问题。在执行buildconf.sh的时候,遇到了这样的报错:
Libtool library used but `LIBTOOL’ is undefined
产生这个报错的原因有两种,一种是没有安装libtool,一种是安装了libtool但是aclocal和libtool未安装在同一文件夹下。我的问题属于后者。
新版的Fedora系统在安装新的automake工具的时候,并没有安装到默认的automake文件夹,而是安装到automake-version,比如automake-1.9文件夹,于是aclocal也被安装到了aclocal-version中,跟默认的libtool显然就不是同一文件夹,出现找不到libtool的 情况也是正常的了。那么该如何修改呢?其实很简单把默认的aclocal文件夹中的文件,copy到aclocal-version文件夹中,然后删除 aclocal文件夹,做一个aclocal的Symbolink连接,连接到aclocal-version文件夹中。
以我的系统为例:系统自带的aclocal文件夹安装在/usr/share/aclocal中,后来升级的aclocal就安装到了/usr/share/aclocal-1.9中,于是
cp /usr/share/aclocal/* /usr/share/aclocal-1.9/
rm /usr/share/aclocal
ln -s /usr/share/aclocal-1.9 /usr/share/aclocal
然后把可执行程序也替换一下:
rm /usr/bin/aclocal
ln -s /usr/bin/aclocal-1.9 /usr/bin/aclocal
最后执行
aclocal
autoconf
就可以正常make了。
当aclocal找不到libtool的时候,可能的报错还有:
macro `AM_DISABLE_STATIC’ not found in library
macro `AM_PROG_LIBTOOL’ not found in library
用这种方法都可以解决。