4

I am using a 32-bit machine, but I am having to use a relatively obscure semantic database which only comes in 64-bit versions.

What are my options for running it in my local dev environment?

Currently when I try to run it, I get an error message that looks like this:

cannot execute binary file

and when I check my machine info, I get this:

$ uname -a
Linux slabrams-desktop 2.6.32-29-generic #58-Ubuntu SMP Fri Feb 11 19:00:09 UTC 2011 i686 GNU/Linux
1
  • If you tell what software you're trying to run, may be you get more help ;-)
    – desgua
    Apr 27, 2011 at 1:13

3 Answers 3

6

If its a compiled binary, in only a 64 bit version, I think you're stuck. The binary instructions within the 64 bit program won't be understood by your 32 bit processor. It might be possible somehow to run it through some kind of emulator but I've never seen one designed to do that, and it would most likely run very slow if there was one.

4
  • Should I then set up some VM and install the database there? Would that be a viable solution?
    – Genadinik
    Apr 26, 2011 at 20:03
  • If you install a VM it will still be 32 bit so no it won't work.
    – wojox
    Apr 26, 2011 at 20:38
  • I thought Qemu supported emulating 64-bit on 32-bit. I always assumed it would be in super-slow-motion though. Apr 26, 2011 at 23:06
  • I've just had a quick google around and it seems that all 64bit system emulators require 64bit hardware. I still think it would be possible, but I have no idea how and I've never seen it done.
    – Slipstream
    Apr 27, 2011 at 8:31
2

In case your CPU supports hardware virtualization (most modern processors do) you are able to run a 64-bit guest virtual machine on a 32-bit host by using Virtual Box (see here for reference).

However this may not be as stable as running on a native 64-bit OS. If you need to run 64-bit applications I would strongly recommend an upgrade of your system to an amd64 Ubuntu version.

1

You can run 64bit application if you install a 64 bit kernel (which is possible while staying with 32 bit libs) and after that building a 64 bit chroot environment for the application. Well, a completely virtual solution may be easier, but if you need a direct hardware access this is an only way. You may install 645 bit kernel as additional, and load it with kexec.

4
  • 1
    No, a 64bit kernel won't boot on a 32bit system.
    – Egil
    Apr 27, 2011 at 12:03
  • Why? Debian Lenny used to ship that config, for example. May be you'll need a lib or two in 64 as well, but that doesn't matter. Apr 27, 2011 at 12:09
  • Because of hardware limits. You can't run 64bit instructions on a 32bit cpu.
    – Egil
    Apr 27, 2011 at 12:13
  • 1
    In case of old CPU it is too obvious to mention, isn't it? There is although no way to print without printer. Apr 27, 2011 at 12:17

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .