中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助

动态链接库缺失

问题现象描述

在CentOS 7.6.1810操作系统验证二进制文件时,输入命令后返回以下回显信息。

cmake: error while loading shared libraries: libarchive.so.13: cannot open shared object file: No such file or directory

原因分析

操作系统缺少对应的动态链接库文件。

解决方案

  1. 执行以下命令进入解压后文件目录,并查看程序运行所需要的共享库,此处以CentOS 7.6.1810操作系统为例。
    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”文件为缺失文件。

  2. 执行以下命令查找“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
  3. 执行以下命令安装查询到的软件包即可解决依赖库缺失问题。
    yum install -y libarchive-3.1.2-14.el7_7.aarch64