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 <rep...@bugs.python.org>
<http://bugs.python.org/issue26439>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to