Message 151427 - Python tracker (original) (raw)
When compiling modules under Solaris, distutils generates directories like "build/lib.solaris-2.10-i86pc-3.2". The "i86pc" part is the same both in 32 and 64 bits.
So when building 32 and 64 bit C code, the binaries are mixed and the best result you can get is something like:
""" ImportError: ld.so.1: python: fatal: /home/pybsddb/build/lib.solaris-2.10-i86pc-2.7/bsddb3/_pybsddb.so: wrong ELF class: ELFCLASS64 """
In other platforms, bitness is correctly detected and included in the directory name.
Since Solaris is explicitly managed in the sourcecode ("distutils.util.get_platform()"), adding "platform.architecture()[0]" in the directory name seems trivial.
I think this patch should be applied to 2.6 and 3.1, unless they are open only for security fixes.