How to install different architecture binaries on Linux

by Marion Bates <mbates at>

Background: Server running Fedora Core 3 x86 64bit Linux.

Problem: Needed to install an i386 RPM (in this case, the Retrospect Remote client for Linux). When I tried, it complained:

[username@host ~]$ sudo rpm -Uvh retroclient-65.rpm 
error: Failed dependencies: is needed by retroclient-6.5.108-1.i386 is needed by retroclient-6.5.108-1.i386
That file is there, of course, but only in the /usr/lib64/ path:
[username@host ~]$ locate libglib-1.2
To find out which package it came from:
[username@host ~]$ rpm -qf /usr/lib64/
Solution: Install the 32-bit version alongside the 64-bit one. How did we know that would be ok? Well, because George and Bill both said so; but I have read that you can see what emulations are supported on your system by running ld:
[username@host ~]$ ld --verbose
GNU ld version 20040927
  Supported emulations:

We already had yum set up on this machine, and yum lets you specify a package's architecture (if multiple choices are available) when you ask to install it.

[username@host ~]$ yum search glib
glib.x86_64                              1:1.2.10-15            installed   
glibc.i686                               2.3.3-74               [some repository]
If you're not seeing enough choices, add some repositories to your yum.conf. For example:
[username@host ~]$ wget
[username@host ~]$ cat yum.conf.addme > yum.conf
Then edit yum.conf, add "gpgcheck=0" in top section AND comment out all three lines of the "atrpms" section, if it's there; reason being that this repository has a Python version mismatch and can cause yum itself to break. If that happens anyway, and you get Python errors when you try to run yum, then remove it and replace it with a version original to your distro:
[username@host ~]$ rpm -e yum-2.1.12-0.fc3
[username@host ~]$ rpm -Uvh
[username@host ~]$ cat yum.conf.rpmsave > yum.conf

You need yum version 2.1.12 or better; 2.1.11 has a bug that won't let you install a package with a different architecture alongside another one.

[username@host ~]$ yum --version
to find out. If yours is old, do
[username@host ~]$ yum check-update
[username@host ~]$ yum update yum
If it still whines about the GPG thing, do:
[username@host ~]$ rpm --import
and update again.

When yum is up to date and working, install the package:

[username@host ~]$ yum install glib.i386