У меня проблемы с установкой набора настраиваемых rpms-пакетов. Файл спецификации производит 7 двоичных оборотов в минуту. Я установил 5 из них, используя rpm -ivh, а затем решил, что мне также нужны оставшиеся два. Когда я пытаюсь их установить, rpm жалуется:
# sudo rpm -ivh foo-lib-cpp-devel-0.7.0-1.x86_64.rpm
error: Failed dependencies:
foo = 0.7.0-1 is needed by foo-lib-cpp-devel-1:0.7.0-1.x86_64
Тем не менее, эта точная зависимость уже установлена:
# rpm -q foo
foo-0.7.0-1.x86_64
Я обнаружил 'rpm -R', который предоставляет более подробную информацию о пакете:
# rpm -qvRp foo-lib-cpp-devel-0.7.0-1.x86_64.rpm
auto: /usr/bin/pkg-config
manual: boost-devel
manual: libevent-devel >= 1.2
auto: libfoo.so.0()(64bit)
auto: libfootnb.so.0()(64bit)
auto: libfooz.so.0()(64bit)
auto: pkgconfig(foo) = 0.7.0
rpmlib: rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib: rpmlib(FileDigests) <= 4.6.0-1
rpmlib: rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rpmlib: rpmlib(VersionedDependencies) <= 3.0.3-1
manual: foo = 0.7.0-1
manual: zlib-devel
rpmlib: rpmlib(PayloadIsXz) <= 5.2-1
Единственное, что я вижу подозрительно, - это токен «-1:» в пакете lib-cpp-devel, который я не могу объяснить.
Что такое "-1:" и может ли это быть связано с этой проблемой? Как я могу отладить это дальше или исправить это? FWIW все это происходит на относительно новой установке CentOS 6.
Спасибо!
Если вы абсолютно уверены, что эти два пакета совместимы, вы можете сделать одно из следующих действий:
1а. Установите новый пакет foo-lib-cpp-devel с помощью rpm (возможно, придется использовать переключатели --nodeps или --force)
OR
В -1:
token - это тег Epoch, поэтому похоже, что ваш RPM мог быть построен с Epoch, равным 1. В этом случае foo-lib-cpp-devel
зависимость от foo
должен включать эпоху, вот так:
Requires: foo = 1:0.7.0-1
Или, используя макросы:
Requires: foo = %{epoch}:%{version}-%{release}