Skip to content

"import _lldb" doesn't work on Windows with Python 3.8+ #46235

Open
@tkrasnukha

Description

@tkrasnukha
Bugzilla Link 46891
Version unspecified
OS Windows NT
CC @JDevlieghere

Extended Description

This happens when liblldb.dll depends on non-system libraries (e.g. libxml2.dll).

To reproduce this issue, build LLDB with LibXML2 and run python_d -c "import _lldb".
The error will be "ImportError: DLL load failed while importing _lldb: The specified module could not be found". Neither PATH nor PYTHONPATH makes a difference.

Since version 3.8, Python stopped searching dlls in directories specified by PATH.
Now such paths should be specified by calling add_dll_directory() (https://docs.python.org/3.8/whatsnew/3.8.html#bpo-36085-whatsnew).

Seems like the function call should be placed in bindings/python.swig right before importing _lldb, however, I don't see a way to determine paths to dependencies there.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugzillaIssues migrated from bugzillalldb

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions