On 19/10/19 11:55 pm, Michał Górny wrote:
Hello,

I've noticed that the compiled module suffix keeps changing between
PyPy3 releases: it's been .pypy3-71-*.so for 7.1, now it's .pypy3-72-
*.so (also .pyc).  However, this is a bit surprising to me given that
for PyPy2 it's still at .pypy-41.so.

Is the bytecode generated by successive PyPy3 releases really
incompatible between them?  Or are the suffix changes only incidental?
They cause quite some trouble for us, since they make it necessary to
recompile installed modules on Gentoo, and PyPy's overzealous compiling
causes access violations for our users.

TIA for any help.

I committed changes that:

- on py3.6 (for python 3.6, 3.7 and up) change the *.pyc file name to follow the cpython spec: filename.pypy-36.pyc

- on default (for python2) change the DEFAULT_SOABI to track the pypy_version; so's will now be named .pypy-72.so (on py3.6 they are named filename.pypy3-72-x86_64-linux-gnu.so so they will not clash)

For CFFI, we discussed a pypy-specific "stable-api" extension to mirror the cpython3 "abi3" tag, the idea still needs to be fleshed out and implemented.

The reasoning behind the changes to the pyc filename and so filenames is explained earlier in this mail thread, I will not repeat them here but if I was mistaken please help me get it right.

The changes, if not reverted, will be part of the next release cycle.

Matti

_______________________________________________
pypy-dev mailing list
pypy-dev@python.org
https://mail.python.org/mailman/listinfo/pypy-dev

Reply via email to