[Python-Dev] What version is an extension module binary compatible with
Nathaniel Smith
njs at pobox.com
Tue Mar 28 12:31:58 EDT 2017
More information about the Python-Dev mailing list
Tue Mar 28 12:31:58 EDT 2017
- Previous message (by thread): [Python-Dev] What version is an extension module binary compatible with
- Next message (by thread): [Python-Dev] What version is an extension module binary compatible with
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On Mar 28, 2017 8:29 AM, "Serhiy Storchaka" <storchaka at gmail.com> wrote: On 28.03.17 14:24, Miro HronĨok wrote: > However, recently we found an issue with this approach [1]: an extension > module built against Python 3.6.1 cannot be run on Python 3.6.0, because > it uses a macro that, in 3.6.1, uses the new PySlice_AdjustIndices > function. > The macro expanding to PySlice_AdjustIndices is used only when Py_LIMITED_API is not defined or is defined to the version equal or greater the version in which PySlice_AdjustIndices was added. That's nice, but not sufficient. Py_LIMITED_ABI is cool, but the vast majority of distributed packages don't use it, and instead rely on the "unlimited" ABI being forward and backwards compatible within each minor release. For example, this assumption is hard coded in the wheel format, which has no way to even describe a wheel that needs 3.6.x with x >= 1. People uploading packages to pypi use whatever version of 3.6 they have lying around and assume it will work for everyone downloading. IMO this is a bug, and depending on how many packages are affected it might even call for an emergency 3.6.2. The worst case is that we start getting large numbers of packages uploaded to pypi that claim to be 3.6.0 compatible but that crash like crash with an obscure error when people download them. -n -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://mail.python.org/pipermail/python-dev/attachments/20170328/f378cdcd/attachment.html>
- Previous message (by thread): [Python-Dev] What version is an extension module binary compatible with
- Next message (by thread): [Python-Dev] What version is an extension module binary compatible with
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-Dev mailing list