Run a 32 bit application in a 64 bit-multi arch system ?

Hello.

When trying to run a 32 bit application in a 64 bit-multi arch system, there is that message:
Code:
ELF interpreter /usr/libexec/ld-elf.so.1 not found, error 8
Abort
So I have checked but the symlink-file /usr/libexec/ld-elf.so.1 exists and link to /libexec/ld-elf.so.1.

So, after trying many things, I have modified the symlink-file /usr/libexec/ld-elf.so.1 but this one linked to /libexec/ld-elf32.so.1.

And, now the 32 bit application is perfectly working. But, of course, all the 64 bit applications can not run any more.

So the question is: why a 32 bit application want to load ld-elf.so.1 in place of ld-elf32.so.1.
And how to correct this ?

Many thanks.

PS: The program was linked with ld with that parameters:
/ld -b elf32-i386-freebsd -m elf32-i386-freebsd -L. -o

Fre;D
 
Last edited by a moderator:
Yep, I get it.

This fpc parameter (that I was using) is not compatible for running 32 bit applications on a 64 bit system::
-XX (Link smart).

Without this, fpc(1) can compile FreeBSD 32 bit applications on a FreeBSD 64 bit system and those 32 bit applications can run. ;-)

Fre;D
 
Back
Top