Ошибка зависимости rpmlib(FileDigests) от SuSE

При выполнении yum install A-3.6.0 как на SuSE 11.2 (64-разрядная версия), так и на CentOS 5.8 (64-разрядная версия) возникла следующая ошибка требований к установке:

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

Поиск ошибки в Google показывает, что другие сталкивались с этой проблемой в SuSE и CentOS, но я не могу найти решение этой проблемы. Кто-нибудь знает, где я могу найти RPM-файл rpmlib, который я могу скачать, и rpm -i? Или есть решение для SuSE и/или CentOS? Или URL-адрес, где находится исходный код rpmlib, и я возьму пакет SuSE и CentOS.


person user2569618    schedule 10.09.2014    source источник


Ответы (3)


Ваш пакет был собран с более новой версией rpmlib, чем у вас в системах CentOS и SuSE, которая имеет поддержку xz (доступна в CentOS 6 и, предположительно, в какой-то более новой версии SuSE).

Не пытайтесь "починить" вашу систему, вы почти наверняка что-нибудь сломаете.

Вместо этого найдите пакет, подходящий для ваших дистрибутивов.

person Etan Reisner    schedule 10.09.2014
comment
Таким образом, это не имеет ничего общего с тегом require:, содержащим следующее: rpmlib(FileDigests) ‹= 4.6.0-1, rpmlib(PayloadFilesHavePrefix) ‹= 4.0-1, rpmlib(CompressedFileNames) ‹ = 3.0.4-1, rpmlib(PayloadIsXz) ‹= 4.6.0-1, cyrus-sasl-gssapi, cyrus-sasl-plain, libxml2, libxslt, zlib, sqlite, rpmlib(VersionedDependencies) ‹= 3.0.3-1, redhat-lsb-core, /bin/bash, /usr/bin/env, который, bash, /bin/sh - person user2569618; 11.09.2014
comment
Если вы увидите строку Requires: в файле спецификаций, в котором перечислено rpmlib таких строк, я буду очень удивлен. Насколько мне известно, это автоматические требования, добавляемые rpm при создании пакета на основе использованных функций rpmlib. Например, rpmlib(PayloadIsXz) означает, что содержимое пакета rpm сжато с помощью xz, а не gzip. - person Etan Reisner; 11.09.2014

Ответ, который я разместил здесь, может помочь вам также. Вам просто нужно указать некоторые параметры либо в командной строке, либо изменив глобальный или локальный файл макросов в вашей системе:

%_binary_payload    w9.gzdio
%_binary_filedigest_algorithm   1

По-видимому, как я подробно описал в своем ответе на другой вопрос, файл стандартных макросов, предоставленный Redhat, утверждает, что эти параметры являются параметрами по умолчанию, но если бы это было так, вам не пришлось бы их комментировать, чтобы получить их.

person Steve Cohen    schedule 05.12.2015
comment
Будет ли человек, который проголосовал против моей попытки быть полезным, объяснить, почему? - person Steve Cohen; 07.12.2015

Этот довольно старый, но я только что столкнулся с той же проблемой на 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.

person paul    schedule 23.11.2017