27

Im trying to install an rpm file on CentOS 5 and Im not sure how to resolve this issues it brings up:

$ rpm --install epel-release-6-5.noarch.rpm
warning: epel-release-6-5.noarch.rpm: Header V3 RSA/SHA256 signature: NOKEY, key ID 0608b895
error: Failed dependencies:
    rpmlib(FileDigests) <= 4.6.0-1 is needed by epel-release-6-5.noarch
    rpmlib(PayloadIsXz) <= 5.2-1 is needed by epel-release-6-5.noarch

What do the lines rpmlib(FileDigests) <= 4.6.0-1 mean? is rpmlib out of date or FileDigests out of date? Whats with the syntax of something followed by parentheses?

Ive tried to use yum so that it can resolve dependencies automatically but it is unable:

$ sudo yum --nogpgcheck install epel-release-6-5.noarch.rpm
...
Running rpm_check_debug
ERROR with rpm_check_debug vs depsolve:
rpmlib(FileDigests) is needed by epel-release-6-5.noarch
rpmlib(PayloadIsXz) is needed by epel-release-6-5.noarch
Complete!
(1, [u'Please report this error in https://bugzilla.redhat.com/enter_bug.cgi?product=Red%20Hat%20Enterprise%20Linux%205&component=yum'])

On this page https://bugzilla.redhat.com/show_bug.cgi?id=665073, they say my rpm is out of date but then say I should request an rpm file that works with my version of rpm (which is 4.4.2.3) but I don't want to do that. How do I make my system compatible with this rpm file?

Bonus points if you tell me how I can fix the public key error.

  • While this is not exactly installing a package, one could at least extract a package and then use its contents w/o installing it: rpm2cpio some-package.rpm | cpio -tv to list its contents and with cpio -ivd to extract it. – ckujau Aug 24 '17 at 5:32
30

Whats with the syntax of something followed by parentheses?

From http://jfearn.fedorapeople.org/en-US/RPM/0.1/html/RPM_Guide/ch-advanced-packaging.html:

Scripting languages such as Perl and Tcl allow for add-on modules. Your package may require some of these add-on modules. RPM uses a special syntax with parenthesis to indicate script module dependencies. For example: Requires: perl(Carp) >= 3.2 This indicates a requirement for the Carp add-on module for Perl, greater than or equal to version 3.2.

In this case, it is referring to particular features of the rpm library.

error: Failed dependencies: rpmlib(FileDigests) <= 4.6.0-1 is needed by epel-release-6-5.noarch rpmlib(PayloadIsXz) <= 5.2-1 is needed by epel-release-6-5.noarch

This suggests you're trying to install the epel-release rpm on a system for which it was not designed. In fact, in your question, you state you're installing this on CentOS 5, while the package you're attempting to install is designed for CentOS 6 (or RHEL 6). For CentOS 5, you want epel-release-5-4.noarch.rpm. You might want to read the EPEL documentation before you proceed, which would have answered this question as well as others you might have.

Ive tried to use yum so that it can resolve dependencies automatically but it is unable:

Right, because those features aren't available on CentOS 5. From the perspective of yum you've asked it for magic unicorns. It can't find any.

Bonus points if you tell me how I can fix the public key error.

Install the EPEL signing key. If you read the EPEL documentation -- it's amazing what you'll find there -- you'll get a link to https://fedoraproject.org/keys, which includes instructions on installing the public keys used by the Fedora project.

  • 15
    This is a good answer, lots of answers that clear things up. Too bad about the tone that is slightly snarky. Maybe the lay of the land is clear to you, but for me it's all still covered by fog of war... – Pieter Breed Oct 5 '12 at 8:48
7

You want EPEL release 5.x (not 6.x).

http://download.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm

You're running CentOS 5. CentOS 6 is not out yet.

4

The current rmp link that worked for me on CentOS 5.5 is:

# rpm -ivh http://dl.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm

Handles dependencies automagically.

Also note it can be helpful to peruse the repost at eg: http://dl.fedoraproject.org/pub/epel/5/i386/ (/6/i386/ etc) to find the most appropriate/correct address.

0

The best command will be $ yum install epel-release and yum will get the correct rpm

You can further run the below commands to fix the public key error.

$ yum clean all
$ yum makecache
$ yum update
-1

My problem was described in this thread: http://comments.gmane.org/gmane.linux.redhat.fedora.general/410408

The links posted on the documentation are redirects that (somehow?) cause problems with the download. Did what the thread said and then the rest of the EPEL docs worked out.

  • 1
    While this link may answer the question, it is better to include the essential parts of the answer here and provide the link for reference. Link-only answers can become invalid if the linked page changes. – Michael Hampton Oct 13 '12 at 20:15

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.