如何添加RPM依赖性的自定义路径



我正在尝试安装一些需要glib 2.14

的软件

所以我使用本教程安装了它:如何将GLIBC从CENTOS上的版本2.12升级到2.14?

问题是glib 2.14路径是/opt/glibc-2.14/lib/libc.so.6

因此,当我尝试使用rpm安装软件时,我仍然会遇到此错误:

error: Failed dependencies:
        libc.so.6(GLIBC_2.14)(64bit) is needed by xyz-4.6.6-1.x86_64
        libc.so.6(GLIBC_2.15)(64bit) is needed by xyz-4.6.6-1.x86_64
        libc.so.6(GLIBC_2.17)(64bit) is needed by xyz-4.6.6-1.x86_64

如何添加RPM依赖性的自定义路径?

如果您给我们尝试安装的软件包的名称,这将有所帮助。您不能只提供一条路径,rpm检查是否有记录的任何包裹提供这些库,而没有任何包装。这是您可以使用的几种方法:

  1. 使用--nodeps

    如果您已经知道自己拥有所需的一切,则使用--nodeps完全很好。

  2. 为缺少的库创建虚拟软件包(高级(

    您缺少以下库:libc.so.6(GLIBC_2.14)(64bit) libc.so.6(GLIBC_2.15)(64bit) libc.so.6(GLIBC_2.17)(64bit)

    这是一个示例.spec文件,可以创建一个虚拟软件包,该软件包 Sopears 提供这些库:

    Name: libc-virtual-provides
    Provides: libc.so.6(GLIBC_2.14)(64bit)
    Provides: libc.so.6(GLIBC_2.15)(64bit)
    Provides: libc.so.6(GLIBC_2.17)(64bit)
    Version: 1.0
    Release: 1
    Summary: Virtual package providing libc 2.14, 2.15, 2.17
    License: Public domain
    %description
    Virtual package providing libc 2.14, 2.15, 2.17
    %prep
    %files
    %changelog
    

    要从此规格文件创建一个虚拟软件包,首先创建一些目录:

    mkdir -p ~/rpmbuild/BUILD ~/rpmbuild/BUILDROOT ~/rpmbuild/RPMS ~/rpmbuild/SOURCES ~/rpmbuild/SPECS ~/rpmbuild/SRPMS
    

    然后将规格文件复制到~/rpmbuild/SPECS,然后构建一个RPM:

    cp virtual-glibc-provides.spec ~/rpmbuild/SPECS
    cd ~/rpmbuild/SPECS
    rpmbuild -ba virtual-glibc-provides.spec
    

    您将获得这样的输出:

    Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.6Jni5u
    + umask 022
    + cd /home/.../rpmbuild/BUILD
    + exit 0
    Processing files: glib2.14-virtual-provides-2.14-1.x86_64
    Checking for unpackaged file(s): /usr/lib/rpm/check-files /home/.../rpmbuild/BUILDROOT/glib2.14-virtual-provides-2.14-1.x86_64
    Wrote: /home/.../rpmbuild/SRPMS/glib2.14-virtual-provides-2.14-1.src.rpm
    Wrote: /home/.../rpmbuild/RPMS/x86_64/glib2.14-virtual-provides-2.14-1.x86_64.rpm
    Executing(%clean): /bin/sh -e /var/tmp/rpm-tmp.YNj8gP
    + umask 022
    + cd /home/.../rpmbuild/BUILD
    + /bin/rm -rf /home/.../rpmbuild/BUILDROOT/glib2.14-virtual-provides-2.14-1.x86_64
    + exit 0
    

    您将在/home/.../rpmbuild/RPMS/下使用RPM,然后可以使用rpm -ivh ....rpm安装。然后,您应该能够在没有任何问题的情况下安装其他软件包。

最新更新