Dependency resolution on the installed library

I am trying to install rpm and get the following error:

---> Package geramer-server.x86_64 0:3.6.0.117-1 will be an update --> Processing Dependency: libcrypto.so.10(libcrypto.so.10)(64bit) for package: geramer-server-3.6.0.117-1.x86_64 ---> Package geramer-ui.x86_64 0:3.6.0.98-1 will be updated ---> Package geramer-ui.x86_64 0:3.6.0.117-1 will be an update --> Finished Dependency Resolution Error: Package: geramer-server-3.6.0.117-1.x86_64 (/geramer-server-3.6.0.117.x86_64) Requires: libcrypto.so.10(libcrypto.so.10)(64bit) 

My first thought was that libcrypto.so was not installed. But this is not so, see:

 $ ldconfig -p | grep libcrypto.so libcrypto.so.10 (libc6,x86-64) => /usr/lib64/libcrypto.so.10 

It also exists on disk:

 $ ls -l /usr/lib64/libcrypto.so.10 lrwxrwxrwx 1 root root 18 Dec 4 13:11 /usr/lib64/libcrypto.so.10 -> libcrypto.so.1.0.0 

And RPM knows about this:

 $ yum whatprovides "*/libcrypto.so.10" Loaded plugins: product-id, rhnplugin, subscription-manager *Note* Red Hat Network repositories are not listed below. You must run this command as root to access RHN repositories. openssl-1.0.0-25.el6_3.1.x86_64 : A general purpose cryptography library with TLS implementation Repo : installed Matched from: Filename : /usr/lib64/libcrypto.so.10 

So, any ideas what I am missing?

Regards, Andi

+8
rpm
source share
7 answers

Dependencies have module names that are listed in parentheses to prevent collisions between packages. However, openssl in RHEL or openssl-libs on Fedora provides 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) 

This is similar to CentOS too , which is based on RHEL.

In your case, openssl seems to provide only libcrypto.so.10 without a module name, forcing the geramer server to assume that there is no dependency, since libcrypto.so.10 is required for libcrypto.so.10.

+6
source share

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

In my case, I could not install the specific postgres rpm (postgresql91) and saw 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 this problem by updating the version of openssl installed. At the time of this writing, openssl-1.0.1e-15 is available in the CentOS repository (6): openssl-1.0.1e-15.el6.x86_64.rpm and provides libssl and libcrypto dependencies that were previously missing.
For installation 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 repository changes, this URL may be invalid.

Ok now for gory details ...

Initially, openssl-1.0.0-27.el6_4.2.x86_64.rpm was installed on my machine, which did not provide all the packages that my postgres rpm required:

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

After installing the new version of openssl:

 > 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 now everyone is happy ...

On the bottom line, install the newer version of openssl and it should provide the dependencies you need. Good luck

+9
source share

I was able to fix this by removing openssl from the exclude line in /etc/yum.conf. We have managed servers, so it fit there by default. Then I just ran the normal yum installation, which I needed, and everything worked out fine.

+1
source share

Try installing openssl and openssl-libs simultaneously with the following command for RHEL7 or CentOS 7:

 sudo yum install http://mirror.centos.org/centos/7/os/x86_64/Packages/openssl-1.0.2k-8.el7.x86_64.rpm http://mirror.centos.org/centos/7/os/x86_64/Packages/openssl-libs-1.0.2k-8.el7.x86_64.rpm 

Since both opensl and openssl-libs require each other as dependencies, and working without sudo can cause problems with a conflict with the old version.

+1
source share

I used yumdownloader to create a local copy of the openssl raster file. Then I used rpmrebuild with the -e -p PACKAGE flags to add the missing Provides and create a new rpm. Then set this resulting artifact. The value of Release has also increased.

0
source share

Download the appropriate rpm package from this link .

To be specific,

 wget http://mirror.centos.org/centos/7/os/x86_64/Packages/openssl-libs-1.0.2k-16.el7.x86_64.rpm rpm -ivh openssl-libs-1.0.2k-16.el7.x86_64.rpm --force 

And then yum install package again.

0
source share

All Articles