[issue21042] ctypes.util.find_library() should return full pathname instead of filename in linux

Martin Panter report at bugs.python.org
Tue Mar 8 22:20:59 EST 2016


Martin Panter added the comment:

It looks like the ldconfig parsing isn’t working for some ABIs. See the following buildbot failures:

* Cortex A15 armv7l: http://buildbot.python.org/all/builders/ARMv7%20Ubuntu%203.x/builds/3721/steps/test/logs/stdio
* ppc64le POWER8: http://buildbot.python.org/all/builders/PPC64LE%20Fedora%203.x/builds/769/steps/test/logs/stdio

I presume there are other flags in the ABI string, perhaps like (libc6,hard-float) on ARM. The code that produces these strings seems to be here: <https://sourceware.org/git/gitweb.cgi?p=glibc.git;a=blob;f=elf/cache.c;h=fbee172#l72>.

Looking closer at the find_library() implementation, I also realize it is not correct to say an absolute path is always returned. If the ldconfig check fails, it falls back to _get_soname(). I think we have the following options:

* Adjust the documentation to say an absolute path is only returned if the ldconfig call works
* Figure out how to get the right ldconfig flags for ARM and PPC
* Use the old parsing code on ARM and PPC platforms, and only return a full path on x86 or other platforms
* Revert the whole change

----------

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


More information about the Python-bugs-list mailing list