Mandate that manylinux1 wheels be built without --with-fpectl (#166)
This commit is contained in:
parent
e4c4632b00
commit
e526964e5d
23
pep-0513.txt
23
pep-0513.txt
|
@ -244,6 +244,7 @@ This is a rather complex and subtle issue that extends beyond
|
||||||
the scope of ``manylinux1``; for more discussion see: [9]_, [10]_,
|
the scope of ``manylinux1``; for more discussion see: [9]_, [10]_,
|
||||||
[11]_.
|
[11]_.
|
||||||
|
|
||||||
|
|
||||||
UCS-2 vs UCS-4 builds
|
UCS-2 vs UCS-4 builds
|
||||||
---------------------
|
---------------------
|
||||||
|
|
||||||
|
@ -282,10 +283,30 @@ But you should never have a wheel with a name like::
|
||||||
PKG-VERSION-cp27-none-manylinux1_x86_64.whl
|
PKG-VERSION-cp27-none-manylinux1_x86_64.whl
|
||||||
^^^^ BAD! Don't do this!
|
^^^^ BAD! Don't do this!
|
||||||
|
|
||||||
|
This wheel claims to be simultaneously compatible with *both* ucs2 and
|
||||||
|
ucs4 builds, which is bad.
|
||||||
|
|
||||||
We note for information that the ``ucs4`` ABI appears to be much more
|
We note for information that the ``ucs4`` ABI appears to be much more
|
||||||
widespread among Linux CPython distributors.
|
widespread among Linux CPython distributors.
|
||||||
|
|
||||||
|
|
||||||
|
fpectl builds vs. no fpectl builds
|
||||||
|
----------------------------------
|
||||||
|
|
||||||
|
All extant versions of CPython can be built either with or without the
|
||||||
|
``--with-fpectl`` flag to ``configure``. It turns out that this
|
||||||
|
changes the CPython ABI: extensions that are built against a
|
||||||
|
no-``fpectl`` CPython are always compatible with yes-``fpectl``
|
||||||
|
CPython, but the reverse is not necessarily true. (Symptom: errors at
|
||||||
|
import time complaining about ``undefined symbol: PyFPE_jbuf``.) See:
|
||||||
|
[16]_.
|
||||||
|
|
||||||
|
For maximum compatibility, therefore, the CPython used to build
|
||||||
|
manylinux1 wheels must be compiled *without* the ``--with-fpectl``
|
||||||
|
flag, and manylinux1 extensions must not reference the symbol
|
||||||
|
``PyFPE_jbuf``.
|
||||||
|
|
||||||
|
|
||||||
Compilation of Compliant Wheels
|
Compilation of Compliant Wheels
|
||||||
===============================
|
===============================
|
||||||
|
|
||||||
|
@ -600,6 +621,8 @@ References
|
||||||
(https://fedoraproject.org/wiki/Bundled_Software_policy)
|
(https://fedoraproject.org/wiki/Bundled_Software_policy)
|
||||||
.. [15] Debian Policy Manual -- 4.13: Convenience copies of code
|
.. [15] Debian Policy Manual -- 4.13: Convenience copies of code
|
||||||
(https://www.debian.org/doc/debian-policy/ch-source.html#s-embeddedfiles)
|
(https://www.debian.org/doc/debian-policy/ch-source.html#s-embeddedfiles)
|
||||||
|
.. [16] numpy bug report:
|
||||||
|
https://github.com/numpy/numpy/issues/8415#issuecomment-269095235
|
||||||
|
|
||||||
|
|
||||||
Copyright
|
Copyright
|
||||||
|
|
Loading…
Reference in New Issue