How do I enable 32-bit support on my 64-bit OS?
When I first created my Linode, it was running on a 32-bit system. I've since upgraded to a 64-bit version. Running a uname command from my Linode's command line confirms that my OS is using a 64-bit kernel.
I have software installed that can only run on 32-bit systems. How can I run this software on my current Linode?
2 Replies
64 bit kernels and userspace can execute 32 bit programs without issue so long as any dependent libraries (ie libc6-i386) are present. What specifically are you attempting to do?
-Chris
To run your 32-bit software on a 64-bit OS, you'll need to enable 32-bit support.
The following commands will work for Debian-based distributions and Ubuntu versions 13.10 through 20.04 LTS.
First, verify your Linode is using 64-bit kernel architecture:
dpkg --print-architecture
You should see a return similar to:
amd64
Next, verify that you have Multiarch support enabled. (Multiarch allows you to use 32-bit libraries alongside 64-bit libraries.) Ubuntu also offers a Multiarch help page. Run the command:
dpkg --print-foreign-architectures
The output should read i386
.
If not, you'll need to enable Multiarch:
sudo dpkg --add-architecture i386
sudo apt-get update
You can then check if there are newer libraries of the packages you already have installed:
sudo apt-get dist-upgrade
You've now successfully installed 32-bit support for your 64-bit system.
If necessary, you can find missing dependencies using a command such as:
objdump -p /path/to/program | grep NEEDED
Missing 32-bit libraries can be downloaded using the apt install
command.