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
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 copiedlldb.zip
by zipping the contents of~/.vscode/extensions/vadimcn.vscode-lldb-1.10.0/lldb
. I have the dependencies installed via homebrew.Verbose log