Take the 2-minute tour ×
Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems.. It's 100% free, no registration required.

I receive the following errors from yum install postgresql90-server:

Error: Package: postgresql90-9.0.15-1PGDG.rhel6.x86_64 (pgdg90)
       Requires: libssl.so.10(libssl.so.10)(64bit)
Error: Package: postgresql90-server-9.0.15-1PGDG.rhel6.x86_64 (pgdg90)
       Requires: libssl.so.10(libssl.so.10)(64bit)
Error: Package: postgresql90-libs-9.0.15-1PGDG.rhel6.x86_64 (pgdg90)
       Requires: libcrypto.so.10(libcrypto.so.10)(64bit)
Error: Package: postgresql90-server-9.0.15-1PGDG.rhel6.x86_64 (pgdg90)
       Requires: libcrypto.so.10(libcrypto.so.10)(64bit)
Error: Package: postgresql90-libs-9.0.15-1PGDG.rhel6.x86_64 (pgdg90)
       Requires: libssl.so.10(libssl.so.10)(64bit)

The first result on google indicated that postgresql 9+ requires openssl 1.0.1.

A yum info openssl revelaed that I had openssl 1.0.0. A yum update openssl told me that I had the latest upgrade.

So I figured I would build 1.0.1:

wget http://www.openssl.org/source/openssl-1.0.1e.tar.gz
tar -xvf openssl-1.0.1e.tar.gz
cd openssl-1.0.1e
./config
make
make test
make install

But now I am at a loss on how I would get yum to realize that I have the right openssl. The yum install postgresql90-server results in the same error message above.

I figure if I could sync up yum with my new version of openssl, I would be good. But I am a Linux noob.

share|improve this question

2 Answers 2

It won't. You have 3 options if you want yum to deal with your new software.

Option #1 - use deadly force

Download the .rpm files that you're attempting to install and tell rpm to install them for you. You can do this using 1 or a combination of these 2 switches to get what you want.

  --nodeps                         do not verify package dependencies
  --force                          short hand for --replacepkgs --replacefiles

Example

$ rpm -ivh --nodeps <rpmfile1> <rpmfile2> ...

NOTE: I would not do it this way!

Option #2 - Repackaging a package.

You'll often run into this scenario, especially with openssl. I would download the source rpm (src.rpm) file and then install that in a develop area for building RPMs.

NOTE: If you don't have one you can use the tool rpmdev-setuptree to make one. It's in the package rpmdevtools.

You can grab one of the openssl packages available on Fedora's Koji build service, for example, this one. You'll want to download the .src.rpm package and install it into your dev area ($HOME/rpmbuild):

$ rpm -ivh http://kojipkgs.fedoraproject.org/packages/openssl/1.0.1e/34.fc21/src/openssl-1.0.1e-34.fc21.src.rpm

Once installed you have the skeleton of the pieces that go into a packaged version of openssl. I'll often edi the SPEC/openssl.spec file and swap in my own openssl-latest.tar.gz file.

Once I've done the surgery on this package, you can rebuild it:

$ rpmbuild -tb SPEC/openssl.spec

As an alternative, if the .src.rpm is at a recent level and you just want to rebuild it then do this instead:

$ rpmbuild --rebuild openssl..src.rpm

Once you've rebuilt using either method, the resulting RPM file(s) are here:

$ $HOME/rpmbuild/RPMS/x86_64/openssl-...rpm

Option #3 - use yum's shell

You can consult this yum page for tips on how to deal with a system where you're mixing packages up. This method is more for when you need to do more complex tasks with yum than one can accomplish with a single command line.

It might be helpful to you here as well.

share|improve this answer

I had a very similar problem with installing the exact same RPMs as you.

I tried forcing it but postgres didn't work once installed - despite having the correct libssl it refused to run.

I'd suggest trying to install the RPMs directly but for version 9.0.14 - as far as I can tell the 9.0.15 RPM is broken. This worked for me.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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