动态链接库缺失
问题现象描述
验证二进制文件时,输入命令后返回以下回显信息。
cmake: error while loading shared libraries: libarchive.so.13: cannot open shared object file: No such file or directory
原因分析
操作系统缺少对应的动态链接库文件。
解决方案
- 执行以下命令进入解压后文件目录,并查看程序运行所需要的共享库。
cd /home/usr/bin ldd cmake
返回以下信息:
linux-vdso.so.1 => (0x0000ffff9c180000) libdl.so.2 => /lib64/libdl.so.2 (0x0000ffff9c130000) libexpat.so.1 => /lib64/libexpat.so.1 (0x0000ffff9c0e0000) libz.so.1 => /lib64/libz.so.1 (0x0000ffff9c0a0000) libarchive.so.13 => not found libcurl.so.4 => /lib64/libcurl.so.4 (0x0000ffff9c010000) libstdc++.so.6 => /lib64/libstdc++.so.6 (0x0000ffff9bee0000) libm.so.6 => /lib64/libm.so.6 (0x0000ffff9be20000) libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x0000ffff9bde0000) libc.so.6 => /lib64/libc.so.6 (0x0000ffff9bc50000) ...
确认“libarchive.so.13”文件为缺失文件。
- 执行以下命令查找“libarchive.so.13”所在的软件包。
yum provides */libarchive.so.13
返回以下信息:
Loaded plugins: fastestmirror, priorities Loading mirror speeds from cached hostfile * base: ftp.yz.yamagata-u.ac.jp * extras: ftp.yz.yamagata-u.ac.jp * updates: ftp.yz.yamagata-u.ac.jp libarchive-3.1.2-14.el7_7.aarch64 : A library for handling streaming archive formats Repo : base Matched from: Filename : /usr/lib64/libarchive.so.13
- 执行以下命令安装查询到的软件包即可解决依赖库缺失问题。
yum install -y libarchive-3.1.2-14.el7_7.aarch64
父主题: 异常处理