Running 32 bit executables on a 64 bit machine (Ubuntu Linux)

1 July, 2010 - 11:55
Categories:

I recently had this strange problem with running a 32 bit executable on a 64 bit machine. It executed just fine on 32 bit machines and some other 64 bit machine. But on this particular machine I got the strange error message:

bash: some32bitexecutable: No such file or directory

which is confusing because bash seems to complain that it does not find the executable, while I knew it was there. Using absolute paths and double checking the permissions didn't help.

The problem was however that the 32 bit runtime libraries were not available.

The fix on Ubuntu is to install the ia32-libs package, described as:

ia32 shared libraries for use on amd64 and ia64 systems.
This package contains runtime libraries for the ia32/i386 architecture, configured for use on an amd64 or ia64 Debian system running a 64-bit kernel.

(FYI: it will pull down some other packages too, like lib32gcc1, libc6-i386 and lib32stdc++6.)