[Mono-list] PINVOKE can't find 32 bit shared library on 64 bit MONO
jonpryor at vt.edu
Sun Jun 7 16:56:54 EDT 2009
On Sat, 2009-06-06 at 08:30 -0700, johnslaby wrote:
> johnslaby wrote:
> I am trying to use PInvoke in an application. The library is a
> 32 bit .so. When I try to run the app, I get a 'DLL not found'
> exception. Looking into more detail, there is a message in the
> debug trace 'Wrong base ELF class: ELFCLASS32'. Does this mean
> I either need a 64 bit version of the library or a 32 bit
> version of Mono?
> We tested the app on a 32 bit Linux and it worked fine, so I guess we
> answered our own question.
Yes. However, if you're running openSUSE you can install the
mono-core-32bit package (and other -32bit packages), which will give you
a mono32 command you can use to launch your app. Apps started with
mono32 will run in a 32-bit address space, so you'll be able to load
32-bit shared libraries while running under a 64-bit OS (though you
obviously will be limited to a 32-bit address space with mono32).
More information about the Mono-list