[ASTImporter][macOS] Cannot link debugserver, keychain error

Hi,

Recently I have updated the LLDB source and now I cannot link the debugserver.
I guess, the problem is started in one of the commits at last week, because before that I had not experienced it.
Any help would be appreciated. I’d like to get a command line only solution because I am building via ssh, so I can’t click on any windows.
With respect to Clang/ASTImporter,
would it be a solution to disable the build of the debugserver and use the system debugserver? Do you think I would loose some ASTImporter related test coverage? How to disable the build of the debugserver?

Thanks,
Gabor

[4/172] Linking CXX executable bin/debugserver
FAILED: bin/debugserver
: && /usr/local/opt/ccache/libexec/c++ -fPIC -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -std=c++11 -fmodules -fmodules-cache-path=/Users/egbomrt/llvm/build/release_assert/module.cache -fcxx-modules -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wstring-conversion -fdiagnostics-color -Wno-deprecated-declarations -Wno-unknown-pragmas -Wno-strict-aliasing -Wno-deprecated-register -Wno-vla-extension -Wno-gnu-zero-variadic-macro-arguments -Wno-zero-length-array -Wno-extended-offsetof -O3 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk -Wl,-search_paths_first -Wl,-headerpad_max_install_names -stdlib=libc++ -Wl,-sectcreate,__TEXT,__info_plist,/Users/egbomrt/llvm/git/llvm/tools/lldb/tools/debugserver/source/…/resources/lldb-debugserver-Info.plist -Wl,-dead_strip tools/lldb/tools/debugserver/source/CMakeFiles/debugserver.dir/debugserver.cpp.o -o bin/debugserver -Wl,-rpath,@loader_path/…/lib lib/liblldbDebugserverCommon.a -framework Cocoa -framework CoreFoundation -framework Foundation lib/liblldbDebugserverArchSupport.a lib/liblldbDebugserverDarwin_DarwinLog.a -lcompression && cd /Users/egbomrt/llvm/build/release_assert/tools/lldb/tools/debugserver/source && /usr/local/Cellar/cmake/3.12.4/bin/cmake -E env CODESIGN_ALLOCATE=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/codesign_allocate codesign --force --sign lldb_codesign --entitlements /Users/egbomrt/llvm/git/llvm/tools/lldb/tools/debugserver/source/…/…/…/resources/debugserver-macosx-entitlements.plist /Users/egbomrt/llvm/build/release_assert/bin/debugserver
error: The specified item could not be found in the keychain.

There is a setting to disable it. These days, you should be able to achieve it with LLDB_CODESIGN_IDENTITY="" or SKIP_DEBUGSERVER=ON, though that may change in the future (/me points at Stefan).

I don't think the choice of debugserver will impact the AST importer tests in any way.

pl

Thank you Pavel!

Hi Gabor

Is this behavior reproducible with the current upstream LLDB? (after https://reviews.llvm.org/D55013)
Did you follow the instructions in docs/code-signing.txt?

There is a setting to disable it. These days, you should be able to achieve it with LLDB_CODESIGN_IDENTITY=“” or SKIP_DEBUGSERVER=ON, though that may change in the future (/me points at Stefan).

My changes that landed last week kept the default behavior intact: build debugserver from source and code sign with lldb_codesign.
In order to change this you can configure with:

  • -DLLDB_USE_SYSTEM_DEBUGSERVER=ON to use a copy of the system’s debugserver instead
  • -DLLDB_NO_DEBUGSERVER=ON to have no debugserver at all

Best
Stefan

Hi Stefan,

I could not reproduce this on master. However, I don't want to use any
code signing, so I use -DLLDB_USE_SYSTEM_DEBUGSERVER=ON, which is
working fine for me.

Thanks,
Gabor