-
-
Notifications
You must be signed in to change notification settings - Fork 31.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
EXT_SUFFIX is missing '.sl' on HP-UX #89122
Comments
On HP-UX, python can no longer find extension modules with the '.sl' suffix. [fspatar@hpux1131:/cust/fspatar/buildtest/hp-ux/11.31/build]> ~/tmp/investigation3/old/bin/python3
Python 3.8.11 (default, Aug 3 2021, 06:15:31)
[GCC 4.2.4] on hp-ux-pa
Type "help", "copyright", "credits" or "license" for more information.
>>> import M2Crypto
Traceback (most recent call last):
File "/cust/fspatar/buildtest/hp-ux/11.31/build/M2Crypto/m2crypto.py", line 16, in swig_import_helper
fp, pathname, description = imp.find_module('_m2crypto', [dirname(__file__)])
File "/h/fspatar/tmp/investigation3/old/lib/python3.8/imp.py", line 296, in find_module
raise ImportError(_ERR_MSG.format(name), name=name)
ImportError: No module named '_m2crypto'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/cust/fspatar/buildtest/hp-ux/11.31/build/M2Crypto/__init__.py", line 37, in <module>
from M2Crypto import (ASN1, AuthCookie, BIO, BN, DH, DSA, EVP, Engine, Err,
File "/cust/fspatar/buildtest/hp-ux/11.31/build/M2Crypto/ASN1.py", line 15, in <module>
from M2Crypto import BIO, m2, py27plus, six, has_typing
File "/cust/fspatar/buildtest/hp-ux/11.31/build/M2Crypto/BIO.py", line 9, in <module>
from M2Crypto import m2, py27plus, six, has_typing
File "/cust/fspatar/buildtest/hp-ux/11.31/build/M2Crypto/m2.py", line 30, in <module>
from M2Crypto.m2crypto import *
File "/cust/fspatar/buildtest/hp-ux/11.31/build/M2Crypto/m2crypto.py", line 26, in <module>
_m2crypto = swig_import_helper()
File "/cust/fspatar/buildtest/hp-ux/11.31/build/M2Crypto/m2crypto.py", line 18, in swig_import_helper
import _m2crypto
ModuleNotFoundError: No module named '_m2crypto' This works fine in python 3.8.5 [fspatar@hpux1131:/cust/fspatar/buildtest/hp-ux/11.31/build]> /opt/OPSWbuildtools/2.0.5/python/3.8.5.04/bin/python3
Python 3.8.5 (default, Jul 28 2021, 08:38:55)
[GCC 4.2.4] on hp-ux-pa
Type "help", "copyright", "credits" or "license" for more information.
>>> import M2Crypto It seems to be related to recent changes from https://bugs.python.org/issue42604 Given the file name is _m2crypto.sl, python 3.8.11 can no longer find it. Based on https://www.python.org/dev/peps/pep-3149/#pep-384, my understanding is that python should search for the following file names when extension module _m2crypto is imported (in this order): _m2crypto.cpython-38.sl Python can only load the extension module if the file name is _m2crypto.cpython-38.sl [fspatar@hpux1131:/cust/fspatar/buildtest/hp-ux/11.31/build]> ~/tmp/investigation3/old/bin/python3
Python 3.8.11 (default, Aug 3 2021, 06:15:31)
[GCC 4.2.4] on hp-ux-pa
Type "help", "copyright", "credits" or "license" for more information.
>>> import _imp
>>> _imp.extension_suffixes()
['.cpython-38.sl']
>>>
[fspatar@hpux1131:/cust/fspatar/buildtest/hp-ux/11.31/build]> /opt/OPSWbuildtools/2.0.5/python/3.8.5.04/bin/python3
Python 3.8.5 (default, Jul 28 2021, 08:38:55)
[GCC 4.2.4] on hp-ux-pa
Type "help", "copyright", "credits" or "license" for more information.
>>> import _imp
>>> _imp.extension_suffixes()
['.sl']
>>> |
Can you please try to convert your patch into a GitHub pull request? |
I assume you tried and succeeded with your patch. Could you post what I am a bit confused because you said the following, should the last line be my understanding is that python should search for the following file names when extension module _m2crypto is imported (in this order): _m2crypto.cpython-38.sl |
@mattip With the patch applied: [fspatar@hpux1131:/cust/fspatar/buildtest/hp-ux/11.31/build]> /opt/OPSWbuildtools/2.0.5/python/3.8.11.01/bin/python3
Python 3.8.11 (default, Aug 4 2021, 03:13:01)
[GCC 4.2.4] on hp-ux-pa
Type "help", "copyright", "credits" or "license" for more information.
>>> import _imp
>>> _imp.extension_suffixes()
['.cpython-38.sl', '.sl']
>>> Sorry for the confusion; I meant python should search for the following file names when extension module _m2crypto is imported (in this order): _m2crypto.cpython-38.sl @vstinner |
Can this be merged to python 3.10 as well? Thanks |
It's unclear to me if it's a new feature or a bugfix. But since the change is trivial, I'm fine with backporting it as a bugfix to 3.9 and 3.10 branches. |
Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.
Show more details
GitHub fields:
bugs.python.org fields:
The text was updated successfully, but these errors were encountered: