Martin Panter added the comment:
Tamás, it might be a good idea for you to sign a contributor agreement
<https://www.python.org/psf/contrib/contrib-form/>.
I compiled Python in 32-bit mode and tried your v2 patch out, which found the
wrong library as I predicted. Then I tried your new regex and it picked out the
correct line. I had to edit it to get it to extract just the filename from the
line:
r'lib%s\.[^\s]+\s\(%s(?:,\s.*)?\)\s=>\s(.*)' % (re.escape(name), abi_type)
I factored out the closing bracket from the comma + space bit, moved the group
brackets to the end to extract the filename, and made it a raw string.
Without the patch, in 32-bit mode it will find 64-bit-only libraries:
>>> find_library("m") # 32- and 64-bit available
'libm.so.6'
>>> find_library("tcl8.6") # Only 64-bit version available!
'libtcl8.6.so'
With my edited regex:
>>> find_library("m")
'/usr/lib32/libm.so.6'
>>> find_library("tcl8.6") is None # No 32-bit version found
True
----------
_______________________________________
Python tracker <[email protected]>
<http://bugs.python.org/issue21042>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com