安装php的xcache扩展模块时出现如下错误:
[root@www xcache-3.2.0]# /usr/local/php/bin/phpize
Configuring for:
PHP Api Version: 20121113
Zend Module Api No: 20121212
Zend Extension Api No: 220121212
Cannot find autoconf. Please check your autoconf installation and the
$PHP_AUTOCONF environment variable. Then, rerun this script.
查找资料知道要编译安装m4和autoconf两个包(版本可自己指定)
[root@www lamp]# wget />
[root@www lamp]# wget />
先编译安装m4 (如果系统已经安装的有应该可以省略,我的先前安装的有,但是怕在出问题又重新安装了一个)
[root@www lamp]# mv m4-1.4.16.tar.gz /usr/src/
[root@www lamp]# cd /usr/src/
[root@www src]# tar zxf m4-1.4.16.tar.gz
[root@www src]# cd m4-1.4.16
[root@www m4-1.4.16]# ./configure && make && make install
接下来编译安装autoconf
[root@www lamp]# tar zxf autoconf-2.68.tar.gz
[root@www lamp]# cd autoconf-2.68
[root@www autoconf-2.68]# ./configure && make && make install
再次测试没有出现错误
[root@www xcache-3.2.0]# /usr/local/php/bin/phpize
Configuring for:
PHP Api Version: 20121113
Zend Module Api No: 20121212
Zend Extension Api No: 220121212
原文对autoconf的补充说明:
Autoconf是一个用于生成可以自动地配置软件源代码包以适应多种Unix类系统的 shell脚本的工具。由Autoconf生成的配置脚本在运行的时候与Autoconf是无关的, 就是说配置脚本的用户并不需要拥有Autoconf。
由Autoconf生成的配置脚本在运行的时候不需要用户的手工干预;通常它们甚至不需要 通过给出参数以确定系统的类型。相反,它们对软件包可能需要的各种特征进行独立 的测试。(在每个测试之前,它们打印一个单行的消息以说明它们正在进行的检测, 以使得用户不会因为等待脚本执行完毕而焦躁。)因此,它们在混合系统或者从各种 常见Unix变种定制而成的系统中工作的很好。没有必要维护文件以储存由各个Unix变种 、各个发行版本所支持的特征的列表。
对于每个使用了Autoconf的软件包,Autoconf从一个列举了该软件包需要的,或者可以 使用的系统特征的列表的模板文件中生成配置脚本。在shell代码识别并响应了一个被 列出的系统特征之后,Autoconf允许多个可能使用(或者需要)该特征的软件包共享该特征。 如果后来因为某些原因需要调整shell代码,就只要在一个地方进行修改; 所有的配置脚本都将被自动地重新生成以使用更新了的代码。
Metaconfig包在目的上与Autoconf很相似,但它生成的脚本需要用户的手工干预,在配置一个 大的源代码树的时候这是十分不方便的。不象Metaconfig脚本,如果在编写脚本时小心谨慎, Autoconf可以支持交叉编译(cross-compiling)
阅读(750) | 评论(0) | 转发(0) |