错误信息:
/opt/lnmp+memcached/php-5.4.9/ext/xmlrpc/libxmlrpc/encodings.c:73:
undefined reference to `libiconv_open'
/opt/lnmp+memcached/php-5.4.9/ext/xmlrpc/libxmlrpc/encodings.c:81:
undefined reference to `libiconv'
/opt/lnmp+memcached/php-5.4.9/ext/xmlrpc/libxmlrpc/encodings.c:101:
undefined reference to `libiconv_close'
collect2: ld returned 1 exit status
make: *** [sapi/cli/php] 错误
1
原理分析:
在安裝 PHP 到系统中时要是发生「undefined reference to
libiconv_open'」之类的错误信息,那表示在「./configure 」没抓好一些环境变数值。错误发生点在建立「-o
sapi/cli/php」是出错,没給到要 link 的 iconv 函式库参数。 解决方法:编辑Makefile 大约77
行左右的地方: EXTRA_LIBS = ..... -lcrypt 在最后加上 -liconv,例如: EXTRA_LIBS =
..... -lcrypt -liconv 然后重新再次 make 即可。
解决方式1:执行以下语句编译
make ZEND_EXTRA_LIBS='-liconv'
解决方式2:将库文件链接到/usr/lib64
ln -s /usr/local/lib/libiconv.so.2
/usr/lib64