Message265302
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. |
|
Date |
User |
Action |
Args |
2016-05-11 10:50:20 | Michael.Felt | set | recipients:
+ Michael.Felt, martin.panter, David.Edelsohn, aixtools@gmail.com |
2016-05-11 10:50:20 | Michael.Felt | set | messageid: <1462963820.29.0.585114138046.issue26439@psf.upfronthosting.co.za> |
2016-05-11 10:50:20 | Michael.Felt | link | issue26439 messages |
2016-05-11 10:50:19 | Michael.Felt | create | |
|