Ubuntu – Run 64-bit app on 32-bit Ubuntu system

32bit64bitlinuxUbuntu

All the questions I've seen refer to running a 32-bit app in a 64-bit system.

I'm running 32-bit Ubuntu 12.04 (actually elementary OS Luna, which is based on it) and I'm trying to run a 64-bit app which refuses open. Running:

./64bit_app.run

(where 64bit_app.run is the 64-bit app I'm trying to run) results in:

bash: ./64bit_app.run: no se puede ejecutar el fichero binario

which translates to "can't execute/run/open binary file".

Should I be able to run it? Is it possible to run a 64-bit app in a 32-bit system? If so, how?

Best Answer

You can't do that directly on Linux on x86_64 with a 32bit kernel. You need a 64bit kernel to be able to run 64bit code. (Note: kernel. You can have 32bit userland running on a 64bit kernel, and install support for 64bit binaries. How easy this is depends on the distribution. Example here for Debian.)

Some virtualization software is able to do that (with restrictions on the type of CPU you're using), and emulators can do that too. But to run it natively you'll need a 64bit kernel.

Since most 64bit distributions out there have 32bit support (either by default or installable), that's what you should be using if you need to run both 64bit and 32bit binaries on the same OS.