【整理】CentOS 6.5/7.x 安装libiconv库

原创文章,转载请注明: 转载自勤奋的小青蛙
本文链接地址: 【整理】CentOS 6.5/7.x 安装libiconv库

CentOS 6.5/7.x libiconv库的安装和使用:

1.libiconv包的下载路径

包的下载页面http://www.gnu.org/software/libiconv/

2.编译安装libiconv库

tar zxvf libiconv-1.14.tar.gz
cd libiconv-1.14
./configure --prefix=/usr/local
make
make install

在/usr/local/lib/目录下,拷备需要的库文件libcharset.so.1, libiconv.so.2。

注意如果是CentOS 7.x,可能会遇到如下问题:

./stdio.h:1010:1: 错误: ‘gets’未声明(不在函数内)

或者英文:

./stdio.h:1010:1: error: ‘gets’ undeclared here (not in a function) 

解决办法:

在源码目录中:

cd srclib
sed -i -e '/gets is a security/d' ./stdio.in.h

然后再次编译即可正常通过。更多参考:

源码编译安装 libiconv-1.14 报:./stdio.h:1010:1: error: ‘gets’ undeclared here (not in a function) [

      centos7 编译libiconv ./stdio.h:1010:1: 错误: ‘gets’未声明(不在函数内)

3.在makefile文件中使用-liconv调用libiconv动态库文件时,若出现“error while loading sharedlibraries: libiconv.so.2”错误,解决方法为:

 

updatedb
locate libiconv.so.2

发现该库已经安装,位置在/usr/local/lib/libiconv.so.2。既然已经安装,为什么提示找不到?继续下一步排查。

strace ./program

将打印出所有program启动时调用的文件及程序名称,在输出的信息中,发现查找库libiconv.so.2的路径是/lib目录和/usr/lib这两个目录。
好了,问题找到了,将/usr/local/lib下面该库链接到/usr/lib下面即可

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

至此,解决该问题。

原创文章,转载请注明: 转载自勤奋的小青蛙
本文链接地址: 【整理】CentOS 6.5/7.x 安装libiconv库

文章的脚注信息由WordPress的wp-posturl插件自动生成



|2|left
打赏

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: