Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

We have a lot of 32-bit CentOS 6 servers with custom rpms built for i386 and i686 architectures in our own RPM repos.

We now have some 64-bit CentOS 6 servers, but would like to be able to install the 32-bit packages from the 32-bit repos.

I know that Debian supports "multiarch" that allows one to install 32-bit libraries and packages. What is the CentOS equivalent?

share|improve this question

3 Answers 3

up vote 1 down vote accepted

The way all the major repos solve this is to actually copy the relevant 32-bit packages into the 64-bit repository. You can see this from a careful inspection of any such repo (CentOS, Fedora, etc.).

So, after you copy all the 32-bit packages to the 64-bit repo and re-run createrepo --update ... you should be able to install them. Since this can use a lot of space, I suggest hard linking them rather than copying them.

CentOS repository package listing

share|improve this answer

CentOS has multilib support. If your software is 32 bit and is a rpm, you can try to yum install it. Is the RPM properly built, and you've got access to the CentOS yum repositories it should hopefully be able to satisfy any 32 bit dependency (if available in repo)

If you search your 64 bit CentOS repos, you will find a lot of 32-bit packages listed. CentOS Wiki excerpt:

x86_64 installation by default will install iX86 32-bit packages on
a 64-bit installation for compatibility purposes.
share|improve this answer
    
yum installing it does not work: it does not see the packages. –  Rob Jun 3 '13 at 11:38
    
I've also tried yum groupinstall "Legacy Software Support" but I get an error that the group does not exist. –  Rob Jun 3 '13 at 11:39
    
what does yum say when you try to install your package?, also are you able to install on 32 bit CentOS but not 64? –  Petter H Jun 3 '13 at 11:40
    
I am trying to install i386 packages on it. Yum says no package by that name is available. I can install them on 32-bit CentOS machines, yes. –  Rob Jun 3 '13 at 11:51
1  
with multilib_policy=all, or did you try yum install packagename.i?86, also, what package does it say is not available? your custom rpm? have you tried copying that rpm to the box locally and then running yum install /path/to/package.rpm? –  Petter H Jun 3 '13 at 11:53

In yum.conf you'll see a line like this:

multilib_policy=best

Change it to:

multilib_policy=all

This will allow yum to install 32-bit packages without you having to specify *.i686 specifically.

share|improve this answer
    
I've done that too. That doesn't work. (There is no multilib_policy line there, but I added one.) –  Rob Jun 3 '13 at 11:49
    
You can also specify the packages explicitly by adding .i386 or .i686 to the end of the package. Example: yum install libstdc++.i686 –  Nathan C Jun 3 '13 at 11:57
    
I've found that h10025.www1.hp.com/ewfrf/wc/… has useful information. yum groupinstall "Compatibility Libraries" seems to work. –  Rob Jun 3 '13 at 12:10
    
Actually, installing "Compatability Libraries" still doesn't fix the problem. yum cannot see the 32-bit packages in the repo. –  Rob Jun 3 '13 at 12:13

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.