Michael Felt added the comment:
a) https://bugs.python.org/review/26439/#msg12, but getting HTML 500 error)
The call to find_library here is for "ease of use" with existing code who use,
e.g., cdll("libcrypto.so"). This format fails unless someone has previously
done, e.g.: (cd /usr/lib; ar -X32 x libcrypto.a; mkdir -p /usr/lib64; cd
/usr/lib64; ar -X64 x ../lib/libcrypto.a)
What I do think would be a valid addition here is to look for a '/' in the name
anywhere (i.e., path info in name, and skip aix.find_library(). IMHO - if a
programmer is usiong a relative path - he/she should take full responsilibilty
(and this is basically what find_library will return anyway)
However, If there is a syntax issue I can rework the aixutil.py so there are
multiple entry points - e.g., find_library() finds the .a file, and
find_member() finds an archive containing a member (and returns a suitable
base(member) argument for dlopen() and/or add an (undocumented) argument to
modify find_library() return value.
But I think that only creates complexity for the user/programmer - additional
complexity is an additional for an error (of omission) to occur.
Here, as it is now, if find_library() was used to find the name, find_library()
is not called again. Again, if there is a behavior you want to force - then it
can be made stricter - but compatibility with existing programs (I have been
looking at cloud-init and salt) would be weak/non-existent. And, if
...startswith("aix") will be a very common addition to code.
Difficult to use is a reason programmers avoid a platform - and I would not
like to see my favorite platform avoided because they had to add lots of
"startswith("aix") - as one would always be forgotten, and then the attitude
becomes - not going to bother with python on AIX. - my two bits.
p.s. Notice in the patches from yesterday - I have added the 'export' of
RTLD_NOW and RTLD_MEMBER to Modules/_ctype/_ctype.c.
The "export" only occurs if the variable is defined, and the import only occurs
in __init__.py behind 'startswith("aix")' blocks.
b) Yes, I can load and use GNU diff and resubmit (you can ignore them if you
prefer - and I shall move the src/Python* to parallel with the build
directories.
FYI: I tried to pip install Mercurial - but got an error message from an
include file so the last bit did not compile. Problem for a later date - could
be a user error on my part, or an AIX version dependency.
----------
_______________________________________
Python tracker <[email protected]>
<http://bugs.python.org/issue26439>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com