How to run 32-bit app in Ubuntu 64-bit?

How to run 32-bit app in Ubuntu 64-bit?

up vote 46 down vote favorite
23

I installed Ubuntu 14.04 and the current Android development SDK, which contains 32-bit executables. I found that I cannot run those 32-bit binaries. Trying to start them from bash gives me an error:

thomas@thinkpad$ ./adb

bash: ./adb: No such file or directory

It is there though:

thomas@thinkpad$ ls -al ./adb

-rwxrwxrwx 1 thomas thomas 1231255 Jan 17 13:31 ./adb

thomas@thinkpad$ file ./adb

./adb: ELF 32-bit LSB  executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.8, not stripped. Same symptom for all the other 32-bit tools in the Android SDK. 

In olden days one could just install 32-bit libraries on 64-bit Ubuntu to get 32-bit support, but that does not seem to work anymore.

How do I run 32-bit apps on a 64-bit Ubuntu 14.04?

share improve this question
 

4 Answers

active oldest votes
up vote 68 down vote accepted

To run a 32-bit executable file on a 64-bit multi-architecture Ubuntu system, you have to add the i386 architecture and install the three library packages libc6:i386, libncurses5:i386, and libstdc++6:i386:

sudo dpkg --add-architecture i386

Or if you are using Ubuntu 12.04 LTS (Precise Pangolin) or below, use this:

echo "foreign-architecture i386" > /etc/dpkg/dpkg.cfg.d/multiarch

Then:

sudo apt-get update
sudo apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386

After these steps, you should be able to run the 32-bit application:

./example32bitprogram

你可能感兴趣的:(How to run 32-bit app in Ubuntu 64-bit?)