Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I am a programmer, and I am trying to give a clear sure fire way for the engineering team to install libcurl on a Linux RHEL machine.

The machine already has the following installed by default:

libcurl.so.4
libssl.so.1.0.0
libcrypto.so.1.0.0
libssh2.so.1.0.1
libcidn-2.12.so

And all of the above are 64 bit. What I am trying to install are 32 bit versions of the following:

libcurl.so.3.0.0
libssl.so.0.9.8e
libcrypto.so.0.9.8e
libcidn-2.5.so

I got the rpm's for most of them, but libcurl is dependent on a lot of things. And I get this error while trying to install libssl:

  $  rpm -ivh openssl-0.9.8e-12.el5_5.7.i386.rpm
  warning: openssl-0.9.8e-12.el5_5.7.i386.rpm: Header V3 DSA/SHA1 Signature, key ID 192a7d7d: NOKEY
   Preparing...                ########################################### [100%]
    package openssl-1.0.0-25.el6_3.1.x86_64 (which is newer than openssl-0.9.8e-12.el5_5.7.i386) is already installed
    package openssl-1.0.0-25.el6_3.1.i686 (which is newer than openssl-0.9.8e-12.el5_5.7.i386) is already installed
    file /etc/pki/tls/certs/ca-bundle.crt from install of openssl-0.9.8e-12.el5_5.7.i386 conflicts with file from package ca-certificates-2010.63-3.el6_1.5.noarch
    file /etc/pki/tls/misc/CA from install of openssl-0.9.8e-12.el5_5.7.i386 conflicts with file from package openssl-1.0.0-25.el6_3.1.x86_64
    file /etc/pki/tls/certs/Makefile from install of openssl-0.9.8e-12.el5_5.7.i386 conflicts with file from package openssl-1.0.0-25.el6_3.1.x86_64

openssl does not have the compiled binaries on its page anymore. And I can only find the source rpm's online for RHEL. I tried to use a noarch one instead, but as you can see, it doesn't let me install or update.

Can you please tell me how I can force the installation in this case?

The machine OS is Linux 2.6.32-279.14.1.el6.x86_64

share|improve this question

2 Answers 2

up vote 1 down vote accepted

That won't work. RHEL uses a multilib strategy in which you can install 32 and 64-bit versions of certain packages together, but only if they are the exact same version (architecture-independent files will be shared by both packages, so they have to be identical bit for bit). You have libcurl-4 64 bit, can only install libcurl-4 32 bit.

share|improve this answer

On this system, you have installed an RHEL 6 openssl x86-64 RPM, but you're trying to install an order RHEL 5 openssl i386 RPM. You need to install an i386 version of openssl that matches your x86-64 RPM.

The easiest way to install this would be to use yum rather than rpm. The command to install via yum (with all dependencies) is:

yum -y install libcurl.i386

If you can't do that for some reason, get the openssl package you need from the RHEL updates repository, or you can use the latest openssl RPM from CentOS 6.

share|improve this answer
    
So, there is no way of installing libcurl3? –  roymustang86 Feb 22 '13 at 12:59
    
Not if you have libcurl4 installed. Is there a particular reason you need libcurl3? –  hrunting Feb 23 '13 at 3:34
    
The engineering department bought two completely different Linux boxes. One is a RHEL5, on which the code was compiled(and hence has libcurl3), and the production box is a RHEL6(which has libcurl4), and the binary doesn't start because of the dependency. –  roymustang86 Feb 25 '13 at 13:06
    
Normally, this would be handled with a compat RPM. Look for a repository providing compat-openssl and/or compat-libcurl3. RH (and by extension, CentOS) doesn't provide a repository for that, so you have to evaluate third-party repositories. –  hrunting Mar 2 '13 at 15:18

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.