【问题标题】:rpmlib(FileDigests) dependency error on SuSESuSE 上的 rpmlib(FileDigests) 依赖错误
【发布时间】:2014-11-04 16:26:01
【问题描述】:

在 SuSE 11.2(64 位)和 CentOS 5.8(64 位)上执行 yum install A-3.6.0,弹出以下安装要求错误:

error: Failed dependencies:
    rpmlib(FileDigests) <= 4.6.0-1 is needed by A-3.6.0-1.noarch
    rpmlib(PayloadIsXz) <= 4.6.0-1 is needed by A-3.6.0-1.noarch
    which is needed by A-3.6.0-1.noarch

谷歌搜索错误显示其他人在 SuSE 和 CentOS 上遇到了此问题,但我无法找到问题的解决方案。有谁知道我在哪里可以找到可以下载的 rpmlib RPM 和 rpm -i?或者是否有 SuSE 和/或 CentOS 解决方案?或者 rpmlib 源所在的 URL,我将提供 SuSE 和 CentOS 软件包。

【问题讨论】:

    标签: dependencies rpm yum suse


    【解决方案1】:

    您的软件包是用比您在 CentOS 和 SuSE 系统上的更新版本的 rpmlib 构建的,它支持 xz(在 CentOS 6 中可用,并且可能是一些更新版本的 SuSE)。

    不要试图“修复”你的系统,这样你几乎肯定会破坏某些东西。

    找到适合您的发行版的软件包。

    【讨论】:

    • 所以,它与 requires: 标记无关: rpmlib(FileDigests) rpmlib(PayloadFilesHavePrefix) rpmlib(PayloadIsXz) cyrus-sasl-gssapi, cyrus-sasl-plain, libxml2, libxslt, zlib, sqlite, rpmlib(VersionedDependencies)
    • 如果您在规范文件中看到 Requires: 行,其中列出了类似的 rpmlib 行,我会非常感到惊讶。据我所知,这些是 rpm 在基于它使用的 rpmlib 功能创建包时添加的自动要求。所以rpmlib(PayloadIsXz),例如,意味着rpm包的内容是用xz而不是gzip压缩的。
    【解决方案2】:

    我在here 发布的答案也可能对您有所帮助。您只需在命令行上或通过修改系统上的全局或本地宏文件来提供一些参数:

    %_binary_payload    w9.gzdio
    %_binary_filedigest_algorithm   1
    

    显然,正如我在另一个问题的回答中详述的那样,redhat 提供的股票宏文件声称这些参数是默认值,但如果是这种情况,您不必将它们注释掉以获取它们.

    【讨论】:

    • 否决我的帮助尝试的人会解释一下原因吗?
    【解决方案3】:

    这个已经很老了,但我刚刚在 SLES11.4 上遇到了同样的问题(或者至少是类似的问题):

    user@machine:~> sudo /bin/rpm -f -U --oldpackage /tmp/local_python27.rpm
    error: Failed dependencies:
            rpmlib(FileDigests) <= 4.6.0-1 is needed by local_python27-2.7.14-3.x86_64
    

    对我来说,使用 zypper 而不是 rpm 安装有效:

    user@machine:~> sudo zypper install /tmp/local_python27.rpm
    

    不确定 zypper 是否也可以处理缺少的 xz 支持。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-12-18
      • 1970-01-01
      • 1970-01-01
      • 2021-10-29
      • 2015-09-04
      • 2015-06-11
      • 2011-07-15
      • 1970-01-01
      相关资源
      最近更新 更多