[lldb-dev] The pre-built Windows LLDB binary has a dependency on an external python36.dll?

Ted Woodward via lldb-dev lldb-dev at lists.llvm.org
Fri Nov 22 08:29:05 PST 2019

> > * Dynamically load any supported Python DLL if/when needed
> That might be tricky since the different versions are not binary compatible in
> general. But it is possible, as Apple folks have shown, though it amounts to
> building multiple copies of ScriptInterpreterPython and then choosing the
> right one at runtime.

It's not just the python dll; it's the modules directory as well. My experiments with different versions of Python on Linux led me to just ship the right python with our distribution.

I saw things like building with 2.7.6 but using the 2.7.3 library/modules (and vice versa) would crash, and building with 2.7.6 but running with 2.6.x seemed to be OK, mostly. On Windows, I had crashes when loading Python 2.7.8 from python.org (built with VS 2008) in lldb built with VS 2013, so you have to think about other library dependencies too.

My conclusion - you MUST use the same python that lldb was built with. Period.

More information about the lldb-dev mailing list