llvm / llvm-project

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

LLDB build failed with " fatal error: 'lldb/API/SBLanguages.h' file not found" #97714

Open saruagithub opened 1 week ago

saruagithub commented 1 week ago

build env and command

centos 3.10.0-1160.114.2.el7.x86_64 #1 SMP Wed Mar 20 15:54:52 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux ninja 1.10.2 I pull the repo based on the main branch and commit aec7670b5d6354b63b011c9ed0632b70983b0328.

cmake -G Ninja ../lldb -DCMAKE_INSTALL_PREFIX=pwd/../install2 -DLLVM_PARALLEL_COMPILE_JOBS=7 -DLLVM_PARALLEL_LINK_JOBS=1 -DLLVM_TARGETS_TΟ_BUILD="X86" -DCMAKE_BUILD_TYPE=Release -DLLVM_ENABLE_ASSERTIONS=ON -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DLLVM_INCLUDE_TESTS=OFF -DLLVM_ENABLE_PROJECTS='lldb' -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -DLLVM_ENABLE_LLD=ON -DLLVM_INSTALL_UTILS=ON

failed when running ninja install

ninja install

llvm-project/lldb/include/lldb/API/SBExpressionOptions.h:13:10: fatal error: 'lldb/API/SBLanguages.h' file not found 13 | #include "lldb/API/SBLanguages.h" | ^~~~~~~~ 1 error generated. [5/94] Building CXX object source/API/CMakeFiles/liblldb.dir/SBFile.cpp.o [6/94] Linking CXX executable bin/lldb-instr

llvmbot commented 1 week ago

@llvm/issue-subscribers-lldb

Author: XueWang (saruagithub)

### build env and command centos 3.10.0-1160.114.2.el7.x86_64 #1 SMP Wed Mar 20 15:54:52 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux ninja 1.10.2 I pull the repo based on the main branch and commit aec7670b5d6354b63b011c9ed0632b70983b0328. `cmake -G Ninja ../lldb -DCMAKE_INSTALL_PREFIX=`pwd`/../install2 -DLLVM_PARALLEL_COMPILE_JOBS=7 -DLLVM_PARALLEL_LINK_JOBS=1 -DLLVM_TARGETS_TΟ_BUILD="X86" -DCMAKE_BUILD_TYPE=Release -DLLVM_ENABLE_ASSERTIONS=ON -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DLLVM_INCLUDE_TESTS=OFF -DLLVM_ENABLE_PROJECTS='lldb' -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -DLLVM_ENABLE_LLD=ON -DLLVM_INSTALL_UTILS=ON` ### failed when running ninja install `ninja install` llvm-project/lldb/include/lldb/API/SBExpressionOptions.h:13:10: fatal error: 'lldb/API/SBLanguages.h' file not found 13 | #include "lldb/API/SBLanguages.h" | ^~~~~~~~~~~~~~~~~~~~~~~~ 1 error generated. [5/94] Building CXX object source/API/CMakeFiles/liblldb.dir/SBFile.cpp.o [6/94] Linking CXX executable bin/lldb-instr
bulbazord commented 1 week ago

Hmm, the install target might not have all the correct dependencies hooked up. I haven't tried this yet, but I would be interested to know if just a regular build before installation would work? Specifically, run ninja lldb before ninja install.

saruagithub commented 6 days ago

Hmm, the install target might not have all the correct dependencies hooked up. I haven't tried this yet, but I would be interested to know if just a regular build before installation would work? Specifically, run ninja lldb before ninja install.

After cmake, ninja lldb failed again.

llvm-project/lldb/utils/TableGen/LLDBTableGen.cpp:71:3: error: unknown type name 'llvm_shutdown_obj'
   71 |   llvm_shutdown_obj Y;
      |   ^
1 error generated.
bulbazord commented 6 days ago

That's... certainly interesting. I don't know why it would fail to find llvm_shutdown_obj. You could try adding the header llvm/Support/ManagedStatic.h to that cpp file to see if it continues to build. But I'm not sure why you would need to do that in the first place.