怎样解决libiconv.so.2: cannot open shared object file

2015年7月14日 | 分类: 【技术】

编译PHP时,会遇到错误如下:

    error while loading shared libraries: libiconv.so.2: cannot open shared object file: No such file or directory
    make[1]: *** [install-pear-installer] 错误 127
    make: *** [install-pear] Error 2

find发现/usr/local/lib里面有库文件,但是/usr/lib里面没有

find / -name libiconv.so.2
/usr/local/lib/libiconv.so.2

于是用软链接:

ln -s /usr/local/lib/libiconv.so.2 /usr/lib/libiconv.so.2

之后

make clean

再编译 生成 安装,一切正常。

使用此方法的时候需要考虑到在configure时的支持选项–with-iconv-dir=/usr/local,所以创建连接这方式可能是无效的

解决方法是将/usr/local/lib路径添加到/etc/ld.so.conf文件中,然后用ldconfig命令加载,再重新输入make install命令就可以了

1.在/etc/ld.so.conf中加一行/usr/local/lib,

include ld.so.conf.d/*.conf
/usr/local/lib

2.然后运行

/sbin/ldconfig