How do I enable 32-bit support on my 64-bit OS?

Linode Staff

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

Linode Staff

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.

Reply

Please enter an answer
Tips:

You can mention users to notify them: @username

You can use Markdown to format your question. For more examples see the Markdown Cheatsheet.

> I’m a blockquote.

I’m a blockquote.

[I'm a link] (https://www.google.com)

I'm a link

**I am bold** I am bold

*I am italicized* I am italicized

Community Code of Conduct