mikemaccana
mikemaccana

Reputation: 123248

Can Python ctypes load a 32bit C library on x86-64?

I have a 64 bit RHEL host with 32 bit libraries installed. One vendor has a 32 bit .so I'd like to load into Python using ctypes.

from ctypes import CDLL
CDLL('32bitdinosaur.so')                        

OSError: 32bitdinosaur.so: wrong ELF class: ELFCLASS32

Of course 64 bit libraries are OK. Eg:

CDLL('libc.so.6')

Works fine.

Upvotes: 3

Views: 2943

Answers (1)

mikemaccana
mikemaccana

Reputation: 123248

It looks like the best way to do this is to have a 32 bit python in a separate process load the .so, and call the 32 bit python from a 64 bit Python.

Upvotes: 1

Related Questions