vadimcn / codelldb

A native debugger extension for VSCode based on LLDB
https://marketplace.visualstudio.com/items?itemName=vadimcn.vscode-lldb
MIT License
2.42k stars 237 forks source link

Failure to build on MacOS Sonoma #1112

Closed nobodywasishere closed 3 weeks ago

nobodywasishere commented 3 weeks ago

OS: MacOS Sonoma 14.5 VSCode version: 1.90.0 CodeLLDB version: N/A Compiler: clang(?) Debuggee: N/A

Trying to build the extension gives an error about not being able to find the header lldb/API/LLDB.h. I've copied lldb.zip by zipping the contents of ~/.vscode/extensions/vadimcn.vscode-lldb-1.10.0/lldb. I have the dependencies installed via homebrew.

$ make dev_debugging
[  4%] Copying /Users/margret/dev/crystal/codelldb/formatters/__init__.py to /Users/margret/dev/crystal/codelldb/build/formatters/__init__.py
[  8%] Copying /Users/margret/dev/crystal/codelldb/formatters/rust.py to /Users/margret/dev/crystal/codelldb/build/formatters/rust.py
[  8%] Built target formatters
Archive:  /Users/margret/dev/crystal/codelldb/lldb.zip
[  8%] Built target lldb
[ 12%] Creating directories for 'cargo_build'
[ 16%] No download step for 'cargo_build'
[ 20%] No update step for 'cargo_build'
[ 24%] No patch step for 'cargo_build'
[ 28%] No configure step for 'cargo_build'
[ 32%] Performing build step for 'cargo_build'
warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2021 which implies `resolver = "2"`
note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest
note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest
note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions
   Compiling lldb v0.1.0 (/Users/margret/dev/crystal/codelldb/adapter/lldb)
The following warnings were emitted during compilation:

warning: lldb@0.1.0: src/lib.rs:118:18: fatal error: 'lldb/API/LLDB.h' file not found
warning: lldb@0.1.0:         #include <lldb/API/LLDB.h>
warning: lldb@0.1.0:                  ^~~~~~~~~~~~~~~~~
warning: lldb@0.1.0: 1 error generated.

error: failed to run custom build command for `lldb v0.1.0 (/Users/margret/dev/crystal/codelldb/adapter/lldb)`
Verbose log

codelldb/build on  master [!?]
❯ cmake .. -DCMAKE_TOOLCHAIN_FILE=cmake/toolchain-aarch64-apple-darwin.cmake -DLLDB_PACKAGE=../lldb.zip
-- The C compiler identification is AppleClang 15.0.0.15000309
-- The CXX compiler identification is AppleClang 15.0.0.15000309
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
Version 1.10.0-dev.2406111709
Using LLDB_PACKAGE=/Users/margret/dev/crystal/codelldb/lldb.zip
npm warn deprecated glob@8.1.0: Glob versions prior to v9 are no longer supported

added 369 packages, and audited 370 packages in 1s

66 packages are looking for funding
  run `npm fund` for details

found 0 vulnerabilities
Configuring debuggee
-- The C compiler identification is AppleClang 15.0.0.15000309
-- The CXX compiler identification is AppleClang 15.0.0.15000309
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Configuring done (0.5s)
-- Generating done (0.0s)
-- Build files have been written to: /Users/margret/dev/crystal/codelldb/build/debuggee
-- Configuring done (2.4s)
-- Generating done (0.0s)
-- Build files have been written to: /Users/margret/dev/crystal/codelldb/build

codelldb/build on  master [!?] via △ via  took 2s
❯ make dev_debugging
[  4%] Copying /Users/margret/dev/crystal/codelldb/formatters/__init__.py to /Users/margret/dev/crystal/codelldb/build/formatters/__init__.py
[  8%] Copying /Users/margret/dev/crystal/codelldb/formatters/rust.py to /Users/margret/dev/crystal/codelldb/build/formatters/rust.py
[  8%] Built target formatters
Archive:  /Users/margret/dev/crystal/codelldb/lldb.zip
inflating lines..
[  8%] Built target lldb
[ 12%] Creating directories for 'cargo_build'
[ 16%] No download step for 'cargo_build'
[ 20%] No update step for 'cargo_build'
[ 24%] No patch step for 'cargo_build'
[ 28%] No configure step for 'cargo_build'
[ 32%] Performing build step for 'cargo_build'
warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2021 which implies `resolver = "2"`
note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest
note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest
note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions
   Compiling libc v0.2.147
   Compiling proc-macro2 v1.0.66
   Compiling unicode-ident v1.0.11
   Compiling memchr v2.6.3
   Compiling autocfg v1.1.0
   Compiling lazy_static v1.4.0
   Compiling regex-syntax v0.7.5
   Compiling serde v1.0.188
   Compiling syn v1.0.109
   Compiling serde_json v1.0.105
   Compiling cfg-if v1.0.0
   Compiling build-utils v0.1.0 (/Users/margret/dev/crystal/codelldb/adapter/build-utils)
   Compiling futures-core v0.3.28
   Compiling hashbrown v0.14.0
   Compiling unicode-xid v0.2.4
   Compiling equivalent v1.0.1
   Compiling toml_datetime v0.6.3
   Compiling winnow v0.5.15
   Compiling ppv-lite86 v0.2.17
   Compiling aho-corasick v1.0.5
   Compiling lock_api v0.4.10
   Compiling slab v0.4.9
   Compiling indexmap v2.0.0
   Compiling plain v0.2.3
   Compiling weaklink_build v0.1.0 (https://github.com/vadimcn/weaklink.git#0a21d413)
   Compiling log v0.4.20
   Compiling futures-channel v0.3.28
   Compiling pin-project-lite v0.2.13
   Compiling ryu v1.0.15
   Compiling quote v1.0.33
   Compiling cc v1.0.83
   Compiling getrandom v0.2.10
   Compiling crossterm_utils v0.2.4
   Compiling once_cell v1.18.0
   Compiling futures-sink v0.3.28
   Compiling syn v2.0.31
   Compiling rand_core v0.6.4
   Compiling itoa v1.0.9
   Compiling futures-task v0.3.28
   Compiling parking_lot_core v0.9.8
   Compiling rand_chacha v0.3.1
   Compiling rand v0.8.5
   Compiling weaklink v0.1.0 (https://github.com/vadimcn/weaklink.git#0a21d413)
   Compiling regex-automata v0.3.8
   Compiling superslice v1.0.0
   Compiling smallvec v1.11.0
   Compiling byteorder v1.4.3
   Compiling scopeguard v1.2.0
   Compiling futures-util v0.3.28
   Compiling toml_edit v0.19.14
   Compiling num-traits v0.2.16
   Compiling pin-utils v0.1.0
   Compiling futures-io v0.3.28
   Compiling bitflags v1.3.2
   Compiling parking_lot v0.12.1
   Compiling crossterm_cursor v0.2.6
   Compiling crossterm_screen v0.2.5
   Compiling signal-hook-registry v1.4.1
   Compiling backtrace v0.3.69
   Compiling mio v0.8.8
   Compiling num_cpus v1.16.0
   Compiling socket2 v0.5.3
   Compiling unicode-width v0.1.10
   Compiling bytes v1.4.0
   Compiling adler v1.0.2
   Compiling gimli v0.28.0
   Compiling thread_local v1.1.7
   Compiling miniz_oxide v0.7.1
   Compiling textwrap v0.11.0
   Compiling crossterm_terminal v0.2.6
   Compiling crossterm_input v0.3.9
   Compiling crossterm_style v0.3.3
   Compiling atty v0.2.14
   Compiling object v0.32.1
   Compiling codelldb v1.0.0 (/Users/margret/dev/crystal/codelldb/adapter/codelldb)
   Compiling proc-macro-crate v1.3.1
   Compiling strsim v0.8.0
   Compiling rustc-demangle v0.1.23
   Compiling regex v1.9.5
   Compiling minimal-lexical v0.2.1
   Compiling vec_map v0.8.2
   Compiling ansi_term v0.12.1
   Compiling parse_int v0.5.0
   Compiling Inflector v0.11.4
   Compiling nom v7.1.3
   Compiling cpp_common v0.5.9
   Compiling clap v2.34.0
   Compiling crossterm v0.9.6
   Compiling fuzzy-matcher v0.3.7
   Compiling cpp_build v0.5.9
   Compiling addr2line v0.21.0
   Compiling env_logger v0.8.4
   Compiling termios v0.3.3
   Compiling dotenvy v0.15.7
   Compiling base64 v0.12.3
   Compiling num_enum_derive v0.5.11
   Compiling serde_derive v1.0.188
   Compiling scroll_derive v0.11.1
   Compiling lldb v0.1.0 (/Users/margret/dev/crystal/codelldb/adapter/lldb)
   Compiling cpp_macros v0.5.9
   Compiling futures-macro v0.3.28
   Compiling serde_repr v0.1.16
   Compiling tokio-macros v2.1.0
   Compiling num_enum v0.5.11
   Compiling scroll v0.11.0
   Compiling tokio v1.32.0
   Compiling cpp v0.5.9
   Compiling goblin v0.7.1 (https://github.com/vadimcn/goblin.git#4b3491e3)
The following warnings were emitted during compilation:

warning: lldb@0.1.0: src/lib.rs:118:18: fatal error: 'lldb/API/LLDB.h' file not found
warning: lldb@0.1.0:         #include 
warning: lldb@0.1.0:                  ^~~~~~~~~~~~~~~~~
warning: lldb@0.1.0: 1 error generated.

error: failed to run custom build command for `lldb v0.1.0 (/Users/margret/dev/crystal/codelldb/adapter/lldb)`

Caused by:
  process didn't exit successfully: `/Users/margret/dev/crystal/codelldb/build/target/debug/build/lldb-f668cee9e9b457d7/build-script-build` (exit status: 1)
  --- stdout
  cargo:rerun-if-changed=src/sb/sbevent.rs
  cargo:rerun-if-changed=src/sb/sbtype.rs
  cargo:rerun-if-changed=src/sb/sbcommandreturnobject.rs
  cargo:rerun-if-changed=src/sb/sbmodule.rs
  cargo:rerun-if-changed=src/sb/sbsymbolcontextlist.rs
  cargo:rerun-if-changed=src/sb/sbexecutioncontext.rs
  cargo:rerun-if-changed=src/sb/sbstructureddata.rs
  cargo:rerun-if-changed=src/sb/sblaunchinfo.rs
  cargo:rerun-if-changed=src/sb/sberror.rs
  cargo:rerun-if-changed=src/sb/sbprocess.rs
  cargo:rerun-if-changed=src/sb/sblinenetry.rs
  cargo:rerun-if-changed=src/sb/sbsymbolcontext.rs
  cargo:rerun-if-changed=src/sb/sbmemoryregioninfo.rs
  cargo:rerun-if-changed=src/sb/sbinstruction.rs
  cargo:rerun-if-changed=src/sb/sbcommandinterpreter.rs
  cargo:rerun-if-changed=src/sb/sbstringlist.rs
  cargo:rerun-if-changed=src/sb/sbfilespec.rs
  cargo:rerun-if-changed=src/sb/sbtarget.rs
  cargo:rerun-if-changed=src/sb/sbvaluelist.rs
  cargo:rerun-if-changed=src/sb/sbdata.rs
  cargo:rerun-if-changed=src/sb/sbaddress.rs
  cargo:rerun-if-changed=src/sb/sbinstructionlist.rs
  cargo:rerun-if-changed=src/sb/sbwatchpoint.rs
  cargo:rerun-if-changed=src/sb/sbcompileunit.rs
  cargo:rerun-if-changed=src/sb/sbbreakpoint.rs
  cargo:rerun-if-changed=src/sb/sbsymbol.rs
  cargo:rerun-if-changed=src/sb/sbmodulespec.rs
  cargo:rerun-if-changed=src/sb/sbframe.rs
  cargo:rerun-if-changed=src/sb/sbstream.rs
  cargo:rerun-if-changed=src/sb/sbdebugger.rs
  cargo:rerun-if-changed=src/sb/sbplatform.rs
  cargo:rerun-if-changed=src/sb/sblistener.rs
  cargo:rerun-if-changed=src/sb/sbbreakpointlocation.rs
  cargo:rerun-if-changed=src/sb/sbvalue.rs
  cargo:rerun-if-changed=src/sb/sbfile.rs
  cargo:rerun-if-changed=src/sb/sbattachinfo.rs
  cargo:rerun-if-changed=src/sb/sbthread.rs
  cargo:rerun-if-changed=src/sb/sbreproducer.rs
  cargo:rerun-if-changed=src/sb/sbsection.rs
  cargo:rerun-if-changed=src/sb/sbbroadcaster.rs
  cargo:rerun-if-changed=src/lib.rs
  cargo:rerun-if-changed=src/strings.rs
  TARGET = Some("aarch64-apple-darwin")
  OPT_LEVEL = Some("0")
  HOST = Some("aarch64-apple-darwin")
  cargo:rerun-if-env-changed=CXX_aarch64-apple-darwin
  CXX_aarch64-apple-darwin = Some("/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++")
  cargo:rerun-if-env-changed=CRATE_CC_NO_DEFAULTS
  CRATE_CC_NO_DEFAULTS = None
  DEBUG = Some("true")
  CARGO_CFG_TARGET_FEATURE = Some("aes,crc,dit,dotprod,dpb,dpb2,fcma,fhm,flagm,fp16,frintts,jsconv,lor,lse,neon,paca,pacg,pan,pmuv3,ras,rcpc,rcpc2,rdm,sb,sha2,sha3,ssbs,vh")
  cargo:rerun-if-env-changed=CXXFLAGS_aarch64-apple-darwin
  CXXFLAGS_aarch64-apple-darwin = Some("-arch arm64")
  cargo:rerun-if-env-changed=CXX_aarch64-apple-darwin
  CXX_aarch64-apple-darwin = Some("/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++")
  cargo:rerun-if-env-changed=CRATE_CC_NO_DEFAULTS
  CRATE_CC_NO_DEFAULTS = None
  CARGO_CFG_TARGET_FEATURE = Some("aes,crc,dit,dotprod,dpb,dpb2,fcma,fhm,flagm,fp16,frintts,jsconv,lor,lse,neon,paca,pacg,pan,pmuv3,ras,rcpc,rcpc2,rdm,sb,sha2,sha3,ssbs,vh")
  cargo:rerun-if-env-changed=CXXFLAGS_aarch64-apple-darwin
  CXXFLAGS_aarch64-apple-darwin = Some("-arch arm64")
  running: env -u IPHONEOS_DEPLOYMENT_TARGET "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++" "-O0" "-ffunction-sections" "-fdata-sections" "-fPIC" "-gdwarf-2" "-fno-omit-frame-pointer" "-arch" "arm64" "-arch" "arm64" "-I" "/Users/margret/dev/crystal/codelldb/adapter/lldb" "-I" "/Users/margret/dev/crystal/codelldb/build/lldb/include" "-std=c++11" "-o" "/Users/margret/dev/crystal/codelldb/build/target/aarch64-apple-darwin/debug/build/lldb-04e3b54f470e3673/out/5dcd881ed66ef9ae-cpp_closures.o" "-c" "/Users/margret/dev/crystal/codelldb/build/target/aarch64-apple-darwin/debug/build/lldb-04e3b54f470e3673/out/rust_cpp/cpp_closures.cpp"
  cargo:warning=src/lib.rs:118:18: fatal error: 'lldb/API/LLDB.h' file not found

  cargo:warning=        #include 

  cargo:warning=                 ^~~~~~~~~~~~~~~~~

  cargo:warning=1 error generated.

  exit status: 1

  --- stderr

  error occurred: ToolExecError: Command env -u IPHONEOS_DEPLOYMENT_TARGET "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++" "-O0" "-ffunction-sections" "-fdata-sections" "-fPIC" "-gdwarf-2" "-fno-omit-frame-pointer" "-arch" "arm64" "-arch" "arm64" "-I" "/Users/margret/dev/crystal/codelldb/adapter/lldb" "-I" "/Users/margret/dev/crystal/codelldb/build/lldb/include" "-std=c++11" "-o" "/Users/margret/dev/crystal/codelldb/build/target/aarch64-apple-darwin/debug/build/lldb-04e3b54f470e3673/out/5dcd881ed66ef9ae-cpp_closures.o" "-c" "/Users/margret/dev/crystal/codelldb/build/target/aarch64-apple-darwin/debug/build/lldb-04e3b54f470e3673/out/rust_cpp/cpp_closures.cpp" with args "c++" did not execute successfully (status code exit status: 1).

warning: build failed, waiting for other jobs to finish...
make[3]: *** [adapter/cargo_build-prefix/src/cargo_build-stamp/cargo_build-build] Error 101
make[2]: *** [adapter/CMakeFiles/cargo_build.dir/all] Error 2
make[1]: *** [CMakeFiles/dev_debugging.dir/rule] Error 2
make: *** [dev_debugging] Error 2
puremourning commented 3 weeks ago

See here: https://github.com/vadimcn/codelldb/discussions/1034#discussioncomment-7793736

nobodywasishere commented 3 weeks ago

@puremourning thank you!