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

Adrian McCarthy via lldb-dev lldb-dev at lists.llvm.org
Fri Nov 22 09:39:27 PST 2019


Yes, I think it's pretty reasonable to expect a specific version of Python,
especially if the pre-built Python DLLs for Windows are still built with
versions as old as VS 2013.  Once you get to VS 2015 or 2017, I think the
compatibility improves.

Perhaps the best thing for the pre-built LLDB is to include the right
Python DLL in the distro, assuming the licensing allows that.

The more sophisticated solutions are probably more work than is justified
by the value.

On Fri, Nov 22, 2019 at 8:29 AM Ted Woodward <tedwood at quicinc.com> wrote:

>
>
> > > * 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.
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/lldb-dev/attachments/20191122/24d78f2c/attachment.html>


More information about the lldb-dev mailing list