[Python-Dev] Use C extensions compiled in release mode on a Python compiled in debug mode (original) (raw)
Victor Stinner vstinner at redhat.com
Tue Apr 23 21:04:49 EDT 2019
- Previous message (by thread): [Python-Dev] Use C extensions compiled in release mode on a Python compiled in debug mode
- Next message (by thread): [Python-Dev] Use C extensions compiled in release mode on a Python compiled in debug mode
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Le mer. 24 avr. 2019 à 01:44, Victor Stinner <vstinner at redhat.com> a écrit :
The current blocker issue is that the PyDEBUG define imply the PyTRACEREFS define (...):
https://bugs.python.org/issue36465 https://github.com/python/cpython/pull/12615
I updated my PR:
""" Release build and debug build are now ABI compatible: the Py_DEBUG define no longer implies Py_TRACE_REFS define which introduces the only ABI incompatibility.
A new "./configure --with-trace-refs" build option is now required to get Py_TRACE_REFS define which adds sys.getobjects() function and PYTHONDUMPREFS environment variable.
Changes:
- Add ./configure --with-trace-refs
- Py_DEBUG no longer implies Py_TRACE_REFS
- The "d" flag of SOABI (sys.implementation.cache_tag) is now only added by --with-trace-refs. It is no longer added by --with-pydebug. """
Maybe pip could be enhanced to support installing C extensions compiled in release mode when using a debug mode.
In fact, pip doesn't have to be modified. I "fixed" sys.implementation.cache_tag by removing "d" in debug mode instead ;-)
By the way, the "m" ABI flag for pymalloc is outdated. I proposed the following change to simply remove it:
https://bugs.python.org/issue36707 https://github.com/python/cpython/pull/12931/files
With my PR 12931 and my PR 12615, the only remaining ABI flag which be "d" which would only be enabled by ./configure --with-trace-refs, whereas ./configure --with-pydebug has no more effect on SOABI (sys.implementation.cache_tag).
Victor
Night gathers, and now my watch begins. It shall not end until my death.
- Previous message (by thread): [Python-Dev] Use C extensions compiled in release mode on a Python compiled in debug mode
- Next message (by thread): [Python-Dev] Use C extensions compiled in release mode on a Python compiled in debug mode
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]