诺亚方舟

沉淀

error while loading shared libraries: libiconv.so.2: cannot open (转载)

启动zabbix时,报错zabbix_server: error while loading shared libraries: libiconv.so.2: cannot open shared object file: No such file or directory。意思是,在zabbix_server启动是,找不到共享库libiconv.so.2,排查思路是:

1、先确认是否安装了libiconv.so.2这个共享库

使用locate的快速查找文件功能。

locate功能简介,locate将文件名及路径保存在数据库/var/lib/mlocate/mlocate.db之中,方便快速查找文
件位置。正常情况下这个数据库是不会更新的,我们需要使用命令updatedb这个命令来更新。

shell> updatedb

然后locate libiconv.so.2,发现该库已经安装,位置在/usr/local/lib/libiconv.so.2

既然已经安装,为什么提示找不到那?继续下一步排查

2、是否是路径错了?确认zabbix_server启动时查找的路径

strace zabbix_server将打印出所有zabbix_server启动时调用的文件及程序名称,

在输出的信息中发现查找库libiconv.so.2的路径是/lib目录和/usr/lib这两个目录

好了,问题找到了,将/usr/local/lib下面该库链接到/usr/lib下面即可,代码

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

再次启动,发现不再报如下错误:zabbix_server: error while loading shared libraries: libiconv.so.2: cannot open shared object file: No such file or directory,问题解决。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

您可以使用这些HTML标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>