2

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?

3 Answers 3

1

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

8

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.

4
  • I've done that too. That doesn't work. (There is no multilib_policy line there, but I added one.)
    – Rob
    Jun 3, 2013 at 11:49
  • 2
    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, 2013 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, 2013 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, 2013 at 12:13
4

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.
10
  • yum installing it does not work: it does not see the packages.
    – Rob
    Jun 3, 2013 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, 2013 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, 2013 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, 2013 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, 2013 at 11:53

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .