Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

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

share|improve this question
    
+1 thx for asking. I just shifted from natty to Mint as well! –  Alain Pannetier Jul 6 '11 at 13:14

2 Answers 2

up vote 5 down vote accepted

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

share|improve this answer
    
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? –  Gearoid Murphy Jul 6 '11 at 13:17
    
I'm not sure to be honest, but it's what worked for me! :) (p.s. Mark the answer if you like it!). :) –  Ruairi Fullam Jul 6 '11 at 13:21
    
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. –  Gearoid Murphy Jul 6 '11 at 13:36
    
Interesting stuff, thanks for the info. :) –  Ruairi Fullam Jul 6 '11 at 13:40

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|improve this answer
    
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 Jul 6 '11 at 13:31

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.