Running old 32 bit applications

I’m migrating from an old CentOs server to a new AlmaLinux machine. I am running a 20 year old 32 bit application (Webinator) on the old server. On the new (AlmaLinux) server, I can see the executable with ls -al, but attempting to run it results in bash saying it can’t find the file. The publisher suggests an update but says there may be a method to run 32 bit applications on the 64 bit system. Is there something I can try?

Thanks!

Harold

32-bit executable probably depends on 32-bit dynamic libraries. Alma has some. You should get a list of most with:

dnf list *.i686

You probably need to install at least package glibc.i686 before utilities – like file and ldd – can tell anything about the file.

However, if dynamically linked executable was compiled two decades ago, then there is high chance that it depends on very old versions of libraries, which are not available in Alma. Backward compability has its limits.

Thanks! Based on your suggestion, I’ve made a little progress.

dnf install glibc.i686

I then tried running the application again and got:

./texis: error while loading shared libraries: libcrypt.so.1: cannot open shared object file: No such file or directory

I then ran:

yum provides “libcrypt.so.1”

and got

libxcrypt-4.1.1-4.el8.i686 : Extended crypt library for DES, MD5, Blowfish and others

Then ran

dnf install libxcrypt-4.1.1-4.el8.i686

and ran texis again. Each time I was able to find the missing library until I got to this:

./texis: error while loading shared libraries: libtermcap.so.2: cannot open shared object file: No such file or directory

[root@kiwi bin]# yum provides “libtermcap.so.2”
Last metadata expiration check: 3:05:06 ago on Thu 23 Sep 2021 03:41:11 PM MST.
Error: No Matches found

So, is there a way to get libtermcap.so.2 ?

THANKS!

Harold

First, you can see the libraries required by executable with: ldd texis
(Not a complete truth though; application could do explicit linking, but that is usually optional.)

Lets look for filename with wildcards: dnf provides */libtermcap\* (Btw, yum is symlink to dnf.)
Result: only ncurses-devel packages have /usr/{lib64,lib}/libtermcap.so

I did test-install ncurses-devel and /usr/lib64/libtermcap.so is a regular file – not a symlink to some libtermcap.so.N.

Workaround to el7 bug might still work. See 0011423: broken libtermcap.so in ncurses-devel - CentOS Bug Tracker

TH:ANK YOU! I did the following, and texis is now working!

dnf install ncurses-devel-6.1-7.20180224.el8.i686

(cd /usr/lib ;rm -f libtermcap.so ;ln -sf libtinfo.so libtermcap.so ;ln -sf libtermcap.so libtermcap.so.2)

The second command is from the workaround at

0011423: broken libtermcap.so in ncurses-devel - CentOS Bug Tracker

Again, THANK YOU!

Harold