[CentOS] rpms for 32 bit

Sat Jul 28 20:23:57 UTC 2007
Tony Barratt <tbarratt at mibtree.com>

Thanks Johnny,
I dont think there is Internet access on the boxes I have to deal with.
What I am trying to get to grips with is the problems described here:
http://www-128.ibm.com/developerworks/eserver/library/es-rhel-coexist/

Although actually the hardware is different and I will be using centos 4.0

I guess I need
Legacy, Compatibility ARCH Development Support 8
Legacy Software Development 5
Compatibility ARCH Development Support 191

But I dont know which rpms are in these 3 groups, I will only have remote
text based access and if I had a list of these rpms I could do a rpm -q to
see if they were installed. (maybe these are in a packing list or xml file
somewhere?)

Also I recall doing some similar application install on 32 bit hardware
with Centos 4.0 which meant I had to install some (32 bit) compat libs cos
the app was expecting to run on Centos 3.0.

So now I might need to install, with ssh/scp, rpms for 32 bit
compatability and also 4.0/3.0 compatability.

Any further pointers, so I can crack on, rather than scratch my head ;-)

TIA

Tony





Tony Barratt wrote:
> Hello!
>
> Need to install the required rpmz to support 32bit apps on 64bit Centos
4.
> How to find out which rpmz are needed?

Probably the easiest way is to first make sure you have a .rpmmacros file
(in at least root's home directory, also any users that you
routinely use to solve dep issues) ... in that file, put this line:

%_query_all_fmt %%{name}-%%{version}-%%{release}.%%{arch}

That will make all rpm queries show you the $ARCH of the RPMS ...

Then, you should be able to bring the file in question onto the machine
and do:

yum localinstall <filename>

---OR---

If the packages are in the x86_64 repos now, just:

yum install <name>.i386

There are some i386 packages inside the x86_64 tree, if you are trying to
run others (specifically from 3rd party repos) then you are going to have
issues if you try to install the i386 and x86_64 programs at the same time
because of shared files (files that exist in both the i386 and x86_64
repos).  Most of these shared files are in /usr/share/doc or /etc ..
though, maybe also /usr/include and others.

The way shared files work is that the shared file MUST have the same
md5sum on both $ARCHs (i386 and x86_64) ... which for doc files that are
generated via texinfo or other things is quite hard to accomplish.  You
can minimize shared file problems by installing all i386 duplicate
packages with this option:

rpm -Uvh --excludedocs <package>

This is quite a PITA because you loose the ability to use yum for
installs or updates.

You could also use the "tsflags=excludedocs" in your /etc/yum.conf file
... but then you get no documentation from any i386 OR x86_64 packages
that you install.

Either way ... running 32bit packages on x86_64 machines is a royal PITA,
and I would recommend that you use a 32bit OS where you know you will need
32bit packages if at all possible.

Thanks,
Johnny Hughes


Tony