PHP 5.4编译undefined reference to `libiconv

2013 年 7 月 25 日3890

昨天朋友开发一个PHP程序,make的时候提示错误undefined reference to `libiconv_open',这是什么问题呢?其实是缺少libiconv库的原因。

解决的办法网站很多:

解决方法一:下载安装libiconv,并安装

$ wget http://http://www.zjjv.com///pub/gnu/libiconv/libiconv-1.14.tar.gz

$ tar xzf libiconv-1.14.tar.gz

$ ./configure --prefix=/soft/lib/libiconv-1.14

wget http://http://www.zjjv.com///projects/mcrypt/files/Libmcrypt/2.5.8/libmcrypt-2.5.8.tar.gz/download

$ tar zxf php-5.4.x.tar.gz

$ cd php-5.4.x-src/

$ ./configure --prefix=/soft/php/php-5.4.x --enable-fpm --with-iconv=/soft/lib/libiconv-1.14

解决方法二:舍弃libiconv模块

1.编译php的时候去除--enable-static选项,即可

2.libiconv编译的时候指定为静态

./configure --prefix=/usr/local/libiconv --enable-static ....

所以综上不管你是否静态编译php在编译libiconv的时候加上参数--enable-static,libiconv 默认是动态加载,php编译时如果加enable-static就会出现问题,这样就一劳永逸了。

0 0