[lldb-dev] RFC: Separation of embedded Python from the rest of LLDB.

Antoine Pitrou solipsis at pitrou.net
Mon Mar 2 03:52:54 PST 2015


Hello,

On Wed, 25 Feb 2015 04:56:00 +0000
Zachary Turner <zturner at google.com> wrote:
> A little background: The single biggest painpoint for working with LLDB on
> Windows currently is Python.  There is a long
> <https://mail.python.org/pipermail/distutils-sig/2013-February/020006.html>
> documented <https://docs.python.org/2/extending/windows.html> history of
> the problems with python extension modules on Windows.  Part
> <https://msdn.microsoft.com/en-us/library/ms235460.aspx> of it is
> Microsoft's <https://msdn.microsoft.com/en-us/library/bb531344.aspx> fault,
> part of it is Python's fault (PEP 384
> <https://www.python.org/dev/peps/pep-0384/> attempts to solve this, but it
> appears stalled), but the end result is that it's really terrible and
> there's nothing anyone can do about it.

So, I'm not sure why you say PEP 384 is stalled. The stable ABI is
definitely supported. It's true that it's not properly advocated or
documented, so it probably sees relatively little use by extension
authors. Also, due to the stability constraint, the stable ABI can
only expose a subset of the full API. Nevertheless, the ABI is
implemented.

> *Solution 2:* *Upgrade to Python 3.5*
> *Rationale:* Hopefully I didn't send you running for the hills.  This is
> going to have to happen someday anyway.  Python 2.7 end of life is set to
> 2020 <https://hg.python.org/peps/rev/76d43e52d978>.  Seems like a long
> time, but it'll be here before we know it, and if we aren't prepared, it's
> going to be a world of hurt.
> 
> Why does this help us on Windows?  Visual Studio 2015, which releases
> sometime this year, is finally set to have a stable ABI
> <http://blogs.msdn.com/b/vcblog/archive/2014/06/10/the-great-crt-refactoring.aspx>
> for it's CRT.  This means that any application compiled against VS2015 or
> later will be forward compatible with future versions of the CRT forever
> <https://mail.python.org/pipermail/python-dev/2014-June/134888.html>.
> Python 3.5 is not yet released, but the current proposal is for Python 3.5
> <https://mail.python.org/pipermail/python-dev/2014-June/134866.html> to
> ship its binary release compiled with VC++ 2015, effectively killing this
> problem.

Note this is effectively a done deal. Python 3.5's build procedure is
now officially ported to VS 2015 (even though both are still
unreleased).

Regards

Antoine.





More information about the lldb-dev mailing list