最近服务器上新安装了一个交叉编译器,但是研发同事反馈,使用编译器时候会提示报错 error while loading shared libraries: libiconv.so.2: cannot open shared object file: No such file or directory 检查发现是服务器上没有 libiconv.so.2 这个库,需要安装libiconv。

下载libiconv

访问http://ftp.gnu.org/pub/gnu/libiconv/ 下载最新版的tar.gz压缩包。当前最新版本为1.18
你也可以直接在服务器上wget下载

# wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.18.tar.gz

解压文件并进入目录

# tar -zxvf libiconv-1.18.tar.gz && cd libiconv-1.18

编译并安装

# ./configure --prefix=/usr/local
# make
# make install

建立软连接

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

添加动态库路径

# echo "/usr/local/lib" >> /etc/ld.so.conf
# /sbin/ldconfig

到此,libiconv.so.2这个库就安装完成了,可以尝试启动编译器了。

最后修改:2025 年 11 月 21 日
如果觉得我的文章对你有用,请随意赞赏