[Bug 21920] New: Find a solution to the Python debug/release problem on Windows

Bug ID 21920
Summary Find a solution to the Python debug/release problem on Windows
Product lldb
Version unspecified
Hardware PC
OS Windows NT
Status NEW
Severity normal
Priority P
Component All Bugs
Assignee zturner@google.com
Reporter zturner@google.com
CC lldb-dev@cs.uiuc.edu
Classification Unclassified

Linking against Python on Windows requires linking against debug python when
doing a debug build of LLDB, and release python when doing a release build of
LLDB.  Linking against a debug build of python is very non-user friendly, since
it requires building your own python.  We should try as hard as possible to see
if there's a way for a debug build of LLDB to link against a release python. 
Failing that, we should perhaps check in a minimal pre-built debug version of
python into a separate repo that LLDB can locate automatically.

Zachary Turner changed bug 21920

What | Removed | Added |

  • | - | - |
    Status | NEW | RESOLVED |
    Resolution | — | WONTFIX |

Comment # 7 on bug 21920 from Zachary Turner

In hindsight I don't think this will work.  The different MSVCRTs are not ABI
compatible, so we can't compile against headers for one MSVCRT and then
dynamically link against another one.  I guess I need to mark this as WONTFIX,
there doesn't really seem to be anything we can do about it except require
people to build python.

Zachary Turner changed bug 21920

What | Removed | Added |

  • | - | - |
    Status | RESOLVED | REOPENED |
    Resolution | WONTFIX | — |

Comment # 10 on bug 21920 from Zachary Turner

Investigate whether this can help us:

[http://www.microsoft.com/en-us/download/details.aspx?id=44266](http://www.microsoft.com/en-us/download/details.aspx?id=44266)

To use it, we would probably need to create an additional layer of separation
in the existing code, so that all of the python stuff, SWIG bindings, and
Python API calls were linked into one DLL, and everything else was linked into
another DLL.  Currently it's all one big DLL, liblldb.dll. I suspect this won't
be easy, but it might be possible.

Zachary Turner changed bug 21920

What | Removed | Added |

  • | - | - |
    Status | REOPENED | RESOLVED |
    Resolution | — | FIXED |

Comment # 12 on bug 21920 from Zachary Turner

Python has been split out and isolated from the rest of the codebase.  We've
decided that the way forward on this is to move to Python 3.5 A separate bug
will be created to track this.