[issue26439] ctypes.util.find_library fails when ldconfig/glibc not available (e.g., AIX)

David Edelsohn report at bugs.python.org
Mon Feb 29 10:20:32 EST 2016


David Edelsohn added the comment:

AIX traditionally used member names like shr.o or shr<version>.o or shr<aix_release>.o insider the archive, with _64 designating a 64 bit object when there is a naming collision.

GNU libtool defaults to the SO name and version number insider the archive.

AIX objects (and shared objects) contain a bit in the header that specifies 32 bit or 64 bit.  Both 32 bit and 64 bit objects are intended to be archived together.  The linker only processes objects of the correct mode.

AIX shared objects contain a bit that specifies if the object may be used at link-edit time or only should be used for loading.  This is controlled by the AIX strip -e/-E option (yes, I know, strange place to hide that option).

This combination of features allows all of the libraries to be placed in a single /usr/lib directory and all of the objects to be collected into a single archive, avoiding /usr/lib64 and explosion of shared objects and symbolic links clutter.  Various packages have created /usr/local/lib64 anyway using Linux/Solaris/SVR4-style naming.

----------

_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue26439>
_______________________________________


More information about the Python-bugs-list mailing list