How to enable 32-bit binary compatibility on Linux Mint 11 x64

13,684

Solution 1

Install ia32-libs and make sure the application file is marked as executable, that should do the job! :)

Late Edit:

The lib could possibly be called ia32-libs-multiarch instead of ia32-libs.
apt-get install ia32-libs-multiarch

Solution 2

I don't know anything about MINT, but i have some experience with Debian: To run 32bit-binaries you need in almost any case the libraries supporting 32bit-binaries in a 64bit environment. Try

apt-get install ia32-libs

If theres apt-get on your system... (or try aptitude or whatever comes with MINT)

You can check which libraries are needed using ldd:

lofi:~# ldd /bin/ping
linux-vdso.so.1 =>  (0x00007ffff7dff000)
libc.so.6 => /lib/libc.so.6 (0x00007fd872ed1000)
/lib64/ld-linux-x86-64.so.2 (0x00007fd87323c000)

If there are any libraries missing, ldd will tell you.

Share:
13,684

Related videos on Youtube

Gearoid Murphy
Author by

Gearoid Murphy

Updated on September 18, 2022

Comments

  • Gearoid Murphy
    Gearoid Murphy over 1 year

    I've recently installed x64 Linux Mint 11, basically Ubuntu Natty. Since the install I've found that 32-bit applications which used to run on my Ubuntu system are rejected by my Mint 11 system. When I use the 'file' utility to check the binary, it correctly identifies it as a 32-bit elf, but I can't invoke the application.

    I've tried starting it from bash and os.system a la python, to no avail, so I suspect that it must have something to do with 32-bit binary compatibility mode but my knowledge of that sub-system and how to enable it is limited, can anyone assist?

    Thanks

    • Alain Pannetier
      Alain Pannetier almost 13 years
      +1 thx for asking. I just shifted from natty to Mint as well!
  • Gearoid Murphy
    Gearoid Murphy almost 13 years
    Excellent, that worked perfectly, thanks!. I'm a little uncertain exactly why it worked though?, even if I was missing the libs before, ldd would have at least listed the required shared object files. Prior to installing ia32-libs, ldd would simply say that the binary was not a dynamically linked executable, is there some other secret sauce that the ia32-libs uses to make 32-bit apps run?
  • Ruairi Fullam
    Ruairi Fullam almost 13 years
    I'm not sure to be honest, but it's what worked for me! :) (p.s. Mark the answer if you like it!). :)
  • Gearoid Murphy
    Gearoid Murphy almost 13 years
    When I used ldd on the 32-bit binary before I had ia32-libs installed, it returned an error saying that the binary was not a dynamically linked executable, I know that there's a kernel module built to handle different executable formats and I had anticipated that this was what needed to be configured in order to enable 32-bit binary compatibility.
  • Gearoid Murphy
    Gearoid Murphy almost 13 years
    Interesting, I removed ia32-libs and the executable still worked (it's statically linked), after closer examination of the output from 'lsmod', I can see that there's a module called "binfmt_misc", this is what I was referring to, I pretty sure that's the primary requirement for supporting alternative binary formats, such as 32-bit or COFF exe's from Windows.