./configure怎么用

https://www.cnblogs.com/dsc65749924/p/5852177.html

其实./configure、make、make  install这三个命令,我们可以用&&来把命令连接起来执行,表示当前一条命令正常结束后,后面的命令才会执行,这个办法很好,既节省时间,又可以防止发生错误。例:
./configure  &&  make  &&  make  install
 

正常的编译安装/卸载:

源码的安装一般由3个步骤组成:配置(configure)、编译(make)、安装(make install)。
 
configure文件是一个可执行的脚本文件,它有很多选项,在待安装的源码目录下使用命令./configure –help可以输出详细的选项列表。
 
其中--prefix选项是配置安装目录,如果不配置该选项,安装后可执行文件默认放在/usr /local/bin,库文件默认放在/usr/local/lib,配置文件默认放在/usr/local/etc,其它的资源文件放在/usr /local/share,比较凌乱。
 
如果配置了--prefix,如:
$ ./configure --prefix=/usr/local/test
 
安装后的所有资源文件都会被放在/usr/local/test目录中,不会分散到其他目录。
 
使用--prefix选项的另一个好处是方便卸载软件或移植软件;当某个安装的软件不再需要时,只须简单的删除该安装目录,就可以把软件卸载得干干净净;而移植软件只需拷贝整个目录到另外一个机器即可(相同的操作系统下)。
 
当然要卸载程序,也可以在原来的make目录下用一次make uninstall,但前提是Makefile文件有uninstall命令(nodejs的源码包里有uninstall命令,测试版本v0.10.35)。
 

关于卸载:

如果没有配置--prefix选项,源码包也没有提供make uninstall,则可以通过以下方式可以完整卸载:
 
找一个临时目录重新安装一遍,如:
$ ./configure --prefix=/tmp/to_remove && make install
 
然后遍历/tmp/to_remove的文件,删除对应安装位置的文件即可(因为/tmp/to_remove里的目录结构就是没有配置--prefix选项时的目录结构)。

-------------------------------------------------------

错误:

NOTICE: PHP message: PHP Warning: PHP Startup: mcrypt: Unable to initialize module
Module compiled with module API=20090626
PHP compiled with module API=20121212

当服务器中安装了2个以上的php环境时会出现以上错误,这是由于phpize编译的版本不一致

 

所以安装扩展的时候 一定要

/usr/local/php/bin/phpize #写全phpize的路径
./configure --with-php-config=/usr/local/php/bin/php-config  #配置时 要将php-config的路径附上
make && make install

这样就不会出现以上错误了。




错误:

NOTICE: PHP message: PHP Warning: PHP Startup: mcrypt: Unable to initialize module
Module compiled with module API=20090626
PHP compiled with module API=20121212

当服务器中安装了2个以上的php环境时会出现以上错误,这是由于phpize编译的版本不一致

 

所以安装扩展的时候 一定要

/usr/local/php/bin/phpize #写全phpize的路径
./configure --with-php-config=/usr/local/php/bin/php-config  #配置时 要将php-config的路径附上
make && make install

这样就不会出现以上错误了

原文地址:https://www.cnblogs.com/linewman/p/9918640.html