llvm / llvm-project

The LLVM Project is a collection of modular and reusable compiler and toolchain technologies.
http://llvm.org
Other
27.9k stars 11.51k forks source link

LLDB error on windows arm64 machine #59695

Open sj6219 opened 1 year ago

sj6219 commented 1 year ago

I installed LLVM-15.0.6-woa64.exe on the surface pro-x machine and ran lldb. An error occurs as shown below.

screen-shot

llvmbot commented 1 year ago

@llvm/issue-subscribers-lldb

alvinhochun commented 1 year ago

Try downloading the "Windows embeddable package (ARM64)" from https://www.python.org/downloads/release/python-3111/ and extracting it into the LLVM bin directory.

The official release doesn't include a matching Python environment. IIRC similar confusion had come up more than a few times in the past.

sj6219 commented 1 year ago

thank you

cristianadam commented 1 year ago

Note that this happens also for the more popular x64 version of LLVM installer. It's not just an arm64 oversight.

It makes lldb.exe on Windows unusable (if you don't have the python version used to build lldb installed)

cristianadam commented 1 year ago

https://github.com/llvm/llvm-project/issues/59524 would be the corresponding x64 bug report.

A different way to fix the issue would be to ask the package manager to overcome this issue. winget is one such package manager for Windows. I've opened up a ticket for not picking the arm64 packager for LLVM here.

jimingham commented 1 year ago

Note that lldb does not use only the "binary compatible" portions of the Python C API's. There was an experiment a while back to try to do all that we need to do with that restricted set of the API but it didn't get very far. My experience on other platforms is that if you have even fairly small version skew between the Python lldb was built against and the one that it loads causes weird behaviors and often crashes. We've even seen this happen where the Python versions were the same but the two pythons were built differently. So long as that it true, I don't think we want to encourage people to use a Python that isn't the version we built against.

Jim

On Feb 3, 2023, at 1:44 AM, Cristian Adam @.***> wrote:

59524 https://github.com/llvm/llvm-project/issues/59524 would be the corresponding x64 bug report.

A different way to fix the issue would be to ask the package manager to overcome this issue. winget is one such package manager for Windows. I've opened up a ticket for not picking the arm64 packager for LLVM here https://github.com/microsoft/winget-pkgs/issues/95154.

— Reply to this email directly, view it on GitHub https://github.com/llvm/llvm-project/issues/59695#issuecomment-1415496497, or unsubscribe https://github.com/notifications/unsubscribe-auth/ADUPVW7G3NY53NJ2E6MBUVLWVTHOJANCNFSM6AAAAAATIYUXXA. You are receiving this because you are on a team that was mentioned.

cristianadam commented 1 year ago

Qt Creator needs for its binary CDB dlls to ship Python3.1x.dll and a Python3.1x.zip file with precompiled standard library.

https://github.com/qt-creator/qt-creator/blob/master/cmake/CreatePythonXY.cmake is the CMake code that creates the Python3.1x.zip file.

It would be awesome if lldb.exe would get the same treatment, install the Python dll used for compilation and precompile the Python standard library and make the zip file.

alvinhochun commented 1 year ago

More related past reports: #58095 #53817 #53646 #47381 #43432