[lldb-dev] Swig/Python version incompatibility
Adrian McCarthy via lldb-dev
lldb-dev at lists.llvm.org
Mon Jun 24 16:05:54 PDT 2019
tl;dr: To avoid a compatibility problem with Swig, don't upgrade to Python
3.7.
While chasing down the cause of lots of lldb test failures on Windows, I
discovered that there's a compatibility bug with Python 3.7 and Swig 3.0.12.
Python 3.7 tighted up the tp_new API, which SWIG generates calls to.
Specifically, you can see assertion failures for "PyTuple_Check(args)" for
pretty much any invocation of the SBAPI. (This appears only if you're
using a debug version of Python, because the assertion is in the Python
implementation.)
Swig 4.0 has a fix to satisfy Python's tighter expectation, so I upgraded
to Swig 4.0, but then other problems surfaced (like undefined references to
__swig_getmethods__).
Some context: https://github.com/swig/swig/issues/1321
So, for now, it looks like we have to stick with Python 3.6/Swig 3.0.12.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/lldb-dev/attachments/20190624/86a40039/attachment.html>
More information about the lldb-dev
mailing list