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

Martin Panter report at bugs.python.org
Sat Oct 1 02:44:02 EDT 2016


Martin Panter added the comment:

Hi Michael, I have done some cleanup and modifications to your patch. The result is in aix-library.161001.patch, which has all the changes, i.e. it is not based on another patch. More significant changes I made:

* Change getExecLibPath_aix() and find_parts() to return a list object, rather than building a colon-separated string only to be pulled apart again
* Escape dots in get_legacy() regular expressions, so that they no longer match [shr_64xo], [shrxo], etc.
* Make get_dumpH() return the a list of (object, objectinfo) tuples, where objectinfo is a list of lines; avoids building multiline strings and then splitting them apart again
* Rewrite get_exactMatch() and get_version() without nested inline “for” loops; use RE capture group
* Reuse util._last_version() instead of copying the _num_version() function
* Use lower case B for liB in get_member(). This means e.g. libcrypto.so is now preferred over libcrypto.so.1.0.0.

I did test it a bit on Linux with faked dump -H output, but I may have made mistakes that I did not pick up.

Also, this still needs documentation, and I think some more tests for the test suite exercising various aspects of find_library() would be nice if possible.

Another thing: in the last few patches, you dropped the definition of RTLD_MEMBER from Modules/_ctypes/_ctypes.c. Is that intended, or just a temporary thing?

----------
versions:  -Python 3.6
Added file: http://bugs.python.org/file44902/aix-library.161001.patch

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


More information about the Python-bugs-list mailing list