Dependency Resolution Fails on Installed Library

Dependencies have module names, which are listed in parenthesis to prevent collisions between packages. However, openssl in RHEL or openssl-libs on Fedora provide libcrypto.so.10 with four different module names for two architectures:

$ rpm -q --provides openssl-libs | grep libcrypto.so.10
libcrypto.so.10()(64bit)
libcrypto.so.10(OPENSSL_1.0.1)(64bit)
libcrypto.so.10(OPENSSL_1.0.1_EC)(64bit)
libcrypto.so.10(libcrypto.so.10)(64bit)
libcrypto.so.10
libcrypto.so.10(OPENSSL_1.0.1)
libcrypto.so.10(OPENSSL_1.0.1_EC)
libcrypto.so.10(libcrypto.so.10)

It seems to be the case for CentOS too, which is RHEL based.

In your case, openssl seems to provide only libcrypto.so.10 without any module name, making geramer-server believe that dependency is missing as it requires libcrypto.so.10 from module libcrypto.so.10.


I know this thread is kinda old, but I ran into this problem recently, and wanted to share what I did to fix it, especially since @divanov's answer helped me debug the issue.

In my case, I was unable to install a particular postgres rpm (postgresql91), and was seeing the same error:

Error: Package: postgresql91-libs-9.1.12-1PGDG.rhel6.x86_64 (/postgresql91-libs-9.1.12-1PGDG.rhel6.x86_64)
           Requires: libcrypto.so.10(libcrypto.so.10)(64bit)
Error: Package: postgresql91-libs-9.1.12-1PGDG.rhel6.x86_64 (/postgresql91-libs-9.1.12-1PGDG.rhel6.x86_64)
           Requires: libssl.so.10(libssl.so.10)(64bit)

Basically, I was able to fix the problem by upgrading the version of openssl that was installed. At the time of this writing, openssl-1.0.1e-15 is available in the CentOS (6) repository, here: openssl-1.0.1e-15.el6.x86_64.rpm and provides the libssl and libcrypto dependencies that were previously missing.
To install, you can:

sudo yum install http://mirror.centos.org/centos/6/os/x86_64/Packages/openssl-1.0.1e-15.el6.x86_64.rpm

Again, if the version in the CentOS repo changes, that URL may no longer be valid.

Ok, now for the gory details...

Originally, my machine had openssl-1.0.0-27.el6_4.2.x86_64.rpm installed, which didn't provide all of the packages my postgres rpm was requiring:

> rpm -q --provides openssl
config(openssl) = 1.0.0-27.el6_4.2
...
libcrypto.so.10()(64bit)
...  
libssl.so.10()(64bit)  
...

After installing the newer openssl version:

> rpm -q --provides openssl
config(openssl) = 1.0.1e-16.el6_5.4
...
libcrypto.so.10()(64bit)  
libcrypto.so.10(OPENSSL_1.0.1)(64bit)  
libcrypto.so.10(OPENSSL_1.0.1_EC)(64bit)  
libcrypto.so.10(libcrypto.so.10)(64bit)  
...
libssl.so.10()(64bit)  
libssl.so.10(OPENSSL_1.0.1)(64bit)  
libssl.so.10(OPENSSL_1.0.1_EC)(64bit)  
libssl.so.10(libssl.so.10)(64bit)  
...

And all are happy now...

Bottom line, install a newer version of openssl and it should provide the dependencies you need. Good Luck!

Tags:

Rpm