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:
$ ./adb
bash: ./adb: No such file or directory
It is there though:
$ ls -al ./adb
-rwxrwxrwx 1 thomas thomas 1231255 Jan 17 13:31 ./adb
$ 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 distribution?
Best Answer
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 packageslibc6:i386
,libncurses5:i386
, andlibstdc++6:i386
:Or if you are using UbuntuĀ 12.04 LTS (Precise Pangolin) or below, use this:
Then:
If fails, do also
After these steps, you should be able to run the 32-bit application: