Skip to content

Missing Python DLL in Windows binary #74073

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
luc0x61 opened this issue Dec 1, 2023 · 6 comments
Open

Missing Python DLL in Windows binary #74073

luc0x61 opened this issue Dec 1, 2023 · 6 comments

Comments

@luc0x61
Copy link

luc0x61 commented Dec 1, 2023

[LLVM 17.0.6]
Note that lldb depends on liblldb.dll, which in turn depends on python310.dll: this last one is missing in Windows x64 binary files - i.e. lldb can't be run, out of the box.
The obvious way to run it is by providing the missing Python library.

@DimitryAndric
Copy link
Collaborator

I think the assumption is that you must install Python first, which is not that difficult to do on Windows. But of course you must use the same version 3.10.

@llvmbot
Copy link
Member

llvmbot commented Dec 1, 2023

@llvm/issue-subscribers-lldb

Author: None (luc0x61)

[LLVM 17.0.6] Note that `lldb` depends on `liblldb.dll`, which in turn depends on `python310.dll`: this last one is **missing** in Windows x64 binary files - i.e. `lldb` can't be run, out of the box. The obvious way to run it is by providing the missing Python library.

@luc0x61
Copy link
Author

luc0x61 commented Dec 1, 2023

I think the assumption is that you must install Python first, which is not that difficult to do on Windows. But of course you must use the same version 3.10.

Note that installing Python doesn't satisfy it in itself:

  • you have to install Python 3.10, not the latest, or the DLL won't be found
  • lldb still doesn't find the DLL, unless you move it to a searchable path (no, not where the Python installer puts it, anyway)

@bulbazord
Copy link
Member

LLDB doesn't depend on Python 3.10 specifically. You can use any version between 3.6 and 3.11 (3.12 and newer have issues -- See #70453). Likely your CMake configuration chose this based on the python interpreter that it found on your machine (but I'm not 100% sure).

Please see the instructions for building LLDB on Windows for more information: https://lldb.llvm.org/resources/build.html

@ynyyn
Copy link

ynyyn commented Jan 31, 2024

It seems that downloading a Python's official release variant of Windows embeddable package (e.g. python-3.10.11-embed-amd64.zip released from https://www.python.org/downloads/windows/ for win64 LLVM) and copying the python310.dll that comes with the package to lldb.exe's location (that is bin\ directory) could fix the dependency issue to make lldb.exe runable. However, as for the functionality and integrity of the Python scripting, I don't know much about this and have not tested it in depth.

Credits: https://www.reddit.com/r/LLVM/comments/ziw1h4/lldb_doesnt_work_on_windows_10/

@HeavySnowJakarta
Copy link

why it's not providing python310.dll by default? i don't think it makes sence

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

7 participants