[PATCH] D85715: [clangd] Attempt to allow gRPC & Proobuf static linking

Kirill Bobyrev via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Aug 11 04:08:07 PDT 2020


kbobyrev added a comment.

macOS error message:

  [2268/2268] Linking CXX executable bin/clangd                                                   
  FAILED: bin/clangd                                                                                               
  : && /usr/local/opt/llvm/bin/clang++ -gmlt -O1 -fPIC -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -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 -fno-common -Woverloaded-virtual -Wno-nested-anon-types -O3  -isysroot /
  Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk -Wl,-search_paths_first -Wl,-headerpad_max_install_names -Wl,-dead_strip tools/clang/tools/extra/clangd/refactor/tweaks/CMakeFiles/obj.clangDaemonTweaks.dir/AddUsing.cpp.o tools/clan
  g/tools/extra/clangd/refactor/tweaks/CMakeFiles/obj.clangDaemonTweaks.dir/AnnotateHighlightings.cpp.o tools/clang/tools/extra/clangd/refactor/tweaks/CMakeFiles/obj.clangDaemonTweaks.dir/DumpAST.cpp.o tools/clang/tools/extra/clangd/refacto
  r/tweaks/CMakeFiles/obj.clangDaemonTweaks.dir/DefineInline.cpp.o tools/clang/tools/extra/clangd/refactor/tweaks/CMakeFiles/obj.clangDaemonTweaks.dir/DefineOutline.cpp.o tools/clang/tools/extra/clangd/refactor/tweaks/CMakeFiles/obj.clangDa
  emonTweaks.dir/ExpandAutoType.cpp.o tools/clang/tools/extra/clangd/refactor/tweaks/CMakeFiles/obj.clangDaemonTweaks.dir/ExpandMacro.cpp.o tools/clang/tools/extra/clangd/refactor/tweaks/CMakeFiles/obj.clangDaemonTweaks.dir/ExtractFunction.
  cpp.o tools/clang/tools/extra/clangd/refactor/tweaks/CMakeFiles/obj.clangDaemonTweaks.dir/ExtractVariable.cpp.o tools/clang/tools/extra/clangd/refactor/tweaks/CMakeFiles/obj.clangDaemonTweaks.dir/ObjCLocalizeStringLiteral.cpp.o tools/clan
  g/tools/extra/clangd/refactor/tweaks/CMakeFiles/obj.clangDaemonTweaks.dir/RawStringLiteral.cpp.o tools/clang/tools/extra/clangd/refactor/tweaks/CMakeFiles/obj.clangDaemonTweaks.dir/RemoveUsingNamespace.cpp.o tools/clang/tools/extra/clangd
  /refactor/tweaks/CMakeFiles/obj.clangDaemonTweaks.dir/SwapIfBranches.cpp.o tools/clang/tools/extra/clangd/tool/CMakeFiles/clangd.dir/ClangdMain.cpp.o -o bin/clangd  -Wl,-rpath, at loader_path/../lib  lib/libLLVMSupport.a  lib/libLLVMAArch64I
  nfo.a  lib/libLLVMAMDGPUInfo.a  lib/libLLVMARMInfo.a  lib/libLLVMAVRInfo.a  lib/libLLVMBPFInfo.a  lib/libLLVMHexagonInfo.a  lib/libLLVMLanaiInfo.a  lib/libLLVMMipsInfo.a  lib/libLLVMMSP430Info.a  lib/libLLVMNVPTXInfo.a  lib/libLLVMPowerPC
  Info.a  lib/libLLVMRISCVInfo.a  lib/libLLVMSparcInfo.a  lib/libLLVMSystemZInfo.a  lib/libLLVMWebAssemblyInfo.a  lib/libLLVMX86Info.a  lib/libLLVMXCoreInfo.a  lib/libLLVMFrontendOpenMP.a  lib/libLLVMOption.a  lib/libclangAST.a  lib/libclan
  gBasic.a  lib/libclangFormat.a  lib/libclangFrontend.a  lib/libclangLex.a  lib/libclangSema.a  lib/libclangTooling.a  lib/libclangToolingCore.a  lib/libclangToolingRefactoring.a  lib/libclangToolingSyntax.a  lib/libclangdRemoteIndex.a  li
  b/libclangTidy.a  lib/libclangDaemon.a  lib/libclangdSupport.a  lib/libclangdXpcJsonConversions.a  lib/libclangdXpcTransport.a  lib/libclangdRemoteMarshalling.a  lib/libRemoteIndexProtos.a  /usr/local/opt/protobuf/lib/libprotobuf.a  /usr/
  local/opt/grpc/lib/libgrpc++.a  lib/libclangdXpcJsonConversions.a  lib/libclangDaemon.a  lib/libLLVMAArch64Info.a  lib/libLLVMAMDGPUInfo.a  lib/libLLVMARMInfo.a  lib/libLLVMAVRInfo.a  lib/libLLVMBPFInfo.a  lib/libLLVMHexagonInfo.a  lib/li
  bLLVMLanaiInfo.a  lib/libLLVMMipsInfo.a  lib/libLLVMMSP430Info.a  lib/libLLVMNVPTXInfo.a  lib/libLLVMPowerPCInfo.a  lib/libLLVMRISCVInfo.a  lib/libLLVMSparcInfo.a  lib/libLLVMSystemZInfo.a  lib/libLLVMWebAssemblyInfo.a  lib/libLLVMX86Info
  .a  lib/libLLVMXCoreInfo.a  lib/libclangToolingSyntax.a  lib/libclangTidyAndroidModule.a  lib/libclangTidyAbseilModule.a  lib/libclangTidyBoostModule.a  lib/libclangTidyCERTModule.a  lib/libclangTidyDarwinModule.a  lib/libclangTidyFuchsia
  Module.a  lib/libclangTidyHICPPModule.a  lib/libclangTidyBugproneModule.a  lib/libclangTidyCppCoreGuidelinesModule.a  lib/libclangTidyGoogleModule.a  lib/libclangTidyLinuxKernelModule.a  lib/libclangTidyLLVMModule.a  lib/libclangTidyLLVML
  ibcModule.a  lib/libclangTidyMiscModule.a  lib/libclangTidyModernizeModule.a  lib/libclangTidyObjCModule.a  lib/libclangTidyOpenMPModule.a  lib/libclangTidyPerformanceModule.a  lib/libclangTidyPortabilityModule.a  lib/libclangTidyReadabil
  ityModule.a  lib/libclangTidyZirconModule.a  lib/libclangTidyMPIModule.a  lib/libclangTidyUtils.a  lib/libclangTidy.a  lib/libclangTooling.a  lib/libclangStaticAnalyzerFrontend.a  lib/libclangStaticAnalyzerCheckers.a  lib/libclangStaticAn
  alyzerCore.a  lib/libclangCrossTU.a  lib/libclangTransformer.a  lib/libclangToolingRefactoring.a  lib/libclangIndex.a  lib/libclangFormat.a  lib/libclangToolingInclusions.a  lib/libclangFrontend.a  lib/libclangDriver.a  lib/libLLVMOption.
  a  lib/libclangParse.a  lib/libclangToolingCore.a  lib/libclangSerialization.a  lib/libclangSema.a  lib/libclangEdit.a  lib/libclangAnalysis.a  lib/libclangRewrite.a  lib/libclangASTMatchers.a  lib/libclangAST.a  lib/libLLVMFrontendOpenMP.a  lib/libLLVMTransformUtils.a  lib/libLLVMAnalysis.a  lib/libLLVMProfileData.a  lib/libLLVMObject.a  lib/libLLVMBitReader.a  lib/libLLVMMCParser.a  lib/libLLVMTextAPI.a  lib/libclangLex.a  lib/libclangBasic.a  lib/libLLVMCore.a  lib/lib
  LLVMRemarks.a  lib/libLLVMBitstreamReader.a  lib/libLLVMMC.a  lib/libLLVMBinaryFormat.a  lib/libLLVMDebugInfoCodeView.a  lib/libLLVMDebugInfoMSF.a  lib/libclangdSupport.a  lib/libLLVMSupport.a  -lz  -lcurses  -lm  lib/libLLVMDemangle.a &&
   :                                                                                                                    
  Undefined symbols for architecture x86_64:                                                                                                               
    "_grpc_slice_buffer_pop", referenced from:                                                                        
        grpc::CoreCodegen::grpc_slice_buffer_pop(grpc_slice_buffer*) in libgrpc++.a(core_codegen.o)                                
    "_grpc_slice_buffer_add", referenced from:                                                                                          
        grpc::CoreCodegen::grpc_slice_buffer_add(grpc_slice_buffer*, grpc_slice) in libgrpc++.a(core_codegen.o)                         
    "_grpc_completion_queue_create_for_pluck", referenced from:                                                                        
        grpc::CoreCodegen::grpc_completion_queue_create_for_pluck(void*) in libgrpc++.a(core_codegen.o)
    "_grpc_init", referenced from:
        grpc::internal::GrpcLibrary::init() in libgrpc++.a(completion_queue_cc.o)
        grpc::CoreCodegen::grpc_init() in libgrpc++.a(core_codegen.o)
    "_grpc_slice_from_static_buffer", referenced from:
        grpc::CoreCodegen::grpc_slice_from_static_buffer(void const*, unsigned long) in libgrpc++.a(core_codegen.o)
    "_grpc_raw_byte_buffer_create", referenced from:
        grpc::CoreCodegen::grpc_raw_byte_buffer_create(grpc_slice*, unsigned long) in libgrpc++.a(core_codegen.o)
    "_grpc_slice_sub", referenced from:
        grpc::CoreCodegen::grpc_slice_sub(grpc_slice, unsigned long, unsigned long) in libgrpc++.a(core_codegen.o)
    "_grpc_slice_split_head", referenced from:
        grpc::CoreCodegen::grpc_slice_split_head(grpc_slice*, unsigned long) in libgrpc++.a(core_codegen.o)
    "_grpc_slice_ref", referenced from:
        grpc::CoreCodegen::grpc_slice_ref(grpc_slice) in libgrpc++.a(core_codegen.o)
    "_grpc_slice_new_with_len", referenced from:
        grpc::CoreCodegen::grpc_slice_new_with_len(void*, unsigned long, void (*)(void*, unsigned long)) in libgrpc++.a(core_codegen.o)
    "grpc_core::ExecCtx::exec_ctx_", referenced from:
        grpc_impl::ChannelArguments::~ChannelArguments() in libgrpc++.a(channel_arguments.o)
        grpc_core::ExecCtx::~ExecCtx() in libgrpc++.a(channel_arguments.o)
    "_grpc_slice_new_with_user_data", referenced from:
        grpc::CoreCodegen::grpc_slice_new_with_user_data(void*, unsigned long, void (*)(void*), void*) in libgrpc++.a(core_codegen.o)
    "_grpc_byte_buffer_length", referenced from:
        grpc::CoreCodegen::grpc_byte_buffer_length(grpc_byte_buffer*) in libgrpc++.a(core_codegen.o)
    "_grpc_slice_from_copied_buffer", referenced from:
        grpc::CoreCodegen::grpc_slice_from_copied_buffer(void const*, unsigned long) in libgrpc++.a(core_codegen.o)
    "_grpc_byte_buffer_reader_peek", referenced from:
        grpc::CoreCodegen::grpc_byte_buffer_reader_peek(grpc_byte_buffer_reader*, grpc_slice**) in libgrpc++.a(core_codegen.o)
    "_grpc_byte_buffer_reader_next", referenced from:
        grpc::CoreCodegen::grpc_byte_buffer_reader_next(grpc_byte_buffer_reader*, grpc_slice*) in libgrpc++.a(core_codegen.o)
    "_grpc_byte_buffer_reader_destroy", referenced from:
        grpc::CoreCodegen::grpc_byte_buffer_reader_destroy(grpc_byte_buffer_reader*) in libgrpc++.a(core_codegen.o)
    "_grpc_byte_buffer_reader_init", referenced from:
   grpc::CoreCodegen::grpc_byte_buffer_reader_init(grpc_byte_buffer_reader*, grpc_byte_buffer*) in libgrpc++.a(core_codegen.o)                                                                                                      [4/446]
    "_grpc_call_start_batch", referenced from:
        grpc::CoreCodegen::grpc_call_start_batch(grpc_call*, grpc_op const*, unsigned long, void*, void*) in libgrpc++.a(core_codegen.o)
    "_grpc_call_error_to_string", referenced from:
        grpc::CoreCodegen::grpc_call_error_to_string(grpc_call_error) in libgrpc++.a(core_codegen.o)
    "_grpc_call_ref", referenced from:
        grpc::CoreCodegen::grpc_call_ref(grpc_call*) in libgrpc++.a(core_codegen.o)
    "_grpc_byte_buffer_copy", referenced from:
        grpc::CoreCodegen::grpc_byte_buffer_copy(grpc_byte_buffer*) in libgrpc++.a(core_codegen.o)
    "_grpc_completion_queue_pluck", referenced from:
        grpc::CoreCodegen::grpc_completion_queue_pluck(grpc_completion_queue*, void*, gpr_timespec, void*) in libgrpc++.a(core_codegen.o)
    "_grpc_call_arena_alloc", referenced from:
        grpc::CoreCodegen::grpc_call_arena_alloc(grpc_call*, unsigned long) in libgrpc++.a(core_codegen.o)
    "_grpc_byte_buffer_destroy", referenced from:
        grpc::CoreCodegen::grpc_byte_buffer_destroy(grpc_byte_buffer*) in libgrpc++.a(core_codegen.o)
    "_grpc_completion_queue_destroy", referenced from:
        grpc::CoreCodegen::grpc_completion_queue_destroy(grpc_completion_queue*) in libgrpc++.a(core_codegen.o)
    "_grpc_metadata_array_destroy", referenced from:
        grpc::CoreCodegen::grpc_metadata_array_destroy(grpc_metadata_array*) in libgrpc++.a(core_codegen.o)
    "_grpc_channel_create_call", referenced from:
        grpc_impl::Channel::CreateCallInternal(grpc::internal::RpcMethod const&, grpc_impl::ClientContext*, grpc_impl::CompletionQueue*, unsigned long) in libgrpc++.a(channel_cc.o)
    "_grpc_completion_queue_shutdown", referenced from:
        grpc::CoreCodegen::grpc_completion_queue_shutdown(grpc_completion_queue*) in libgrpc++.a(core_codegen.o)
    "_grpc_slice_split_tail", referenced from:
        grpc::CoreCodegen::grpc_slice_split_tail(grpc_slice*, unsigned long) in libgrpc++.a(core_codegen.o)
    "_grpc_empty_slice", referenced from:
        grpc::CoreCodegen::grpc_empty_slice() in libgrpc++.a(core_codegen.o)
    "_grpc_completion_queue_create_for_next", referenced from:
        grpc::CoreCodegen::grpc_completion_queue_create_for_next(void*) in libgrpc++.a(core_codegen.o)
    "_grpc_completion_queue_create", referenced from:
        grpc::CoreCodegen::grpc_completion_queue_create(grpc_completion_queue_factory const*, grpc_completion_queue_attributes const*, void*) in libgrpc++.a(core_codegen.o)
    "_grpc_channel_create_registered_call", referenced from:
        grpc_impl::Channel::CreateCallInternal(grpc::internal::RpcMethod const&, grpc_impl::ClientContext*, grpc_impl::CompletionQueue*, unsigned long) in libgrpc++.a(channel_cc.o)
    "_grpc_channel_watch_connectivity_state", referenced from:
        grpc_impl::Channel::NotifyOnStateChangeImpl(grpc_connectivity_state, gpr_timespec, grpc_impl::CompletionQueue*, void*) in libgrpc++.a(channel_cc.o)
        grpc_impl::Channel::WaitForStateChangeImpl(grpc_connectivity_state, gpr_timespec) in libgrpc++.a(channel_cc.o)
    "_grpc_call_cancel", referenced from:
        grpc_impl::ClientContext::set_call(grpc_call*, std::__1::shared_ptr<grpc_impl::Channel> const&) in libgrpc++.a(client_context.o)
    "_grpc_completion_queue_factory_lookup", referenced from:
        grpc::CoreCodegen::grpc_completion_queue_factory_lookup(grpc_completion_queue_attributes const*) in libgrpc++.a(core_codegen.o)
    "grpc_core::ExecCtx::Flush()", referenced from:
        grpc_core::ExecCtx::~ExecCtx() in libgrpc++.a(channel_arguments.o)
    "_grpc_insecure_channel_create", referenced from:
        l005 in libgrpc++.a(insecure_credentials.o)
    "_grpc_call_unref", referenced from:
        grpc_impl::ClientContext::~ClientContext() in libgrpc++.a(client_context.o)
        grpc::CoreCodegen::grpc_call_unref(grpc_call*) in libgrpc++.a(core_codegen.o)
    "_grpc_channel_check_connectivity_state", referenced from:
        grpc_impl::Channel::GetState(bool) in libgrpc++.a(channel_cc.o)
    "_grpc_channel_register_call", referenced from:
        grpc_impl::Channel::RegisterMethod(char const*) in libgrpc++.a(channel_cc.o)
    "_grpc_call_cancel_with_status", referenced from:
        grpc_impl::ClientContext::set_call(grpc_call*, std::__1::shared_ptr<grpc_impl::Channel> const&) in libgrpc++.a(client_context.o)
        grpc::CoreCodegen::grpc_call_cancel_with_status(grpc_call*, grpc_status_code, char const*, void*) in libgrpc++.a(core_codegen.o)
    "_grpc_slice_unref", referenced from:
        grpc_impl::Channel::CreateCallInternal(grpc::internal::RpcMethod const&, grpc_impl::ClientContext*, grpc_impl::CompletionQueue*, unsigned long) in libgrpc++.a(channel_cc.o)
        grpc::CoreCodegen::grpc_slice_unref(grpc_slice) in libgrpc++.a(core_codegen.o)
    "_grpc_census_call_set_context", referenced from:
        grpc_impl::Channel::CreateCallInternal(grpc::internal::RpcMethod const&, grpc_impl::ClientContext*, grpc_impl::CompletionQueue*, unsigned long) in libgrpc++.a(channel_cc.o)
    "_grpc_metadata_array_init", referenced from:
        grpc::CoreCodegen::grpc_metadata_array_init(grpc_metadata_array*) in libgrpc++.a(core_codegen.o)
    "_grpc_channel_destroy", referenced from:
        grpc_impl::Channel::~Channel() in libgrpc++.a(channel_cc.o)
    "_grpc_slice_malloc", referenced from:
        grpc::CoreCodegen::grpc_slice_malloc(unsigned long) in libgrpc++.a(core_codegen.o)
    "_grpc_lame_client_channel_create", referenced from:
        grpc_impl::CreateCustomChannelImpl(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::shared_ptr<grpc_impl::ChannelCredentials> const&, grpc_impl::ChannelArguments const&) in libg
  rpc++.a(create_channel.o)
    "_grpc_completion_queue_next", referenced from:
        grpc_impl::CompletionQueue::AsyncNextInternal(void**, bool*, gpr_timespec) in libgrpc++.a(completion_queue_cc.o)
    "_grpc_shutdown", referenced from:
        grpc::internal::GrpcLibrary::shutdown() in libgrpc++.a(channel_cc.o)
        grpc::CoreCodegen::grpc_shutdown() in libgrpc++.a(core_codegen.o)

When I also link `libgrpc.a` and `libgrpc++_reflecion.a` to the binaries the following error persists:

  [1/1] Linking CXX executable bin/clangd-index-server
  FAILED: bin/clangd-index-server 
  : && /usr/local/opt/llvm/bin/clang++ -gmlt -O1 -fPIC -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -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 -fno-common -Woverloaded-virtual -Wno-nested-anon-types -O3  -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk -Wl,-search_paths_first -Wl,-headerpad_max_install_names -Wl,-dead_strip tools/clang/tools/extra/clangd/index/remote/server/CMakeFiles/clangd-index-server.dir/Server.cpp.o -o bin/clangd-index-server  -Wl,-rpath, at loader_path/../lib  lib/libLLVMSupport.a  lib/libclangDaemon.a  lib/libRemoteIndexProtos.a  lib/libclangdRemoteMarshalling.a  /usr/local/opt/grpc/lib/libgrpc++.a  /usr/local/opt/grpc/lib//libgrpc.a  /usr/local/opt/grpc/lib/libgrpc++_reflection.a  lib/libclangDaemon.a  lib/libclangTidyAndroidModule.a  lib/libclangTidyAbseilModule.a  lib/libclangTidyBoostModule.a  lib/libclangTidyCERTModule.a  lib/libclangTidyDarwinModule.a  lib/libclangTidyFuchsiaModule.a  lib/libclangTidyHICPPModule.a  lib/libclangTidyBugproneModule.a  lib/libclangTidyCppCoreGuidelinesModule.a  lib/libclangTidyGoogleModule.a  lib/libclangTidyLinuxKernelModule.a  lib/libclangTidyLLVMModule.a  lib/libclangTidyLLVMLibcModule.a  lib/libclangTidyMiscModule.a  lib/libclangTidyModernizeModule.a  lib/libclangTidyObjCModule.a  lib/libclangTidyOpenMPModule.a  lib/libclangTidyPerformanceModule.a  lib/libclangTidyPortabilityModule.a  lib/libclangTidyReadabilityModule.a  lib/libclangTidyZirconModule.a  lib/libclangTidyMPIModule.a  lib/libclangTidyUtils.a  lib/libclangTidy.a  lib/libclangStaticAnalyzerFrontend.a  lib/libclangTransformer.a  lib/libclangStaticAnalyzerCheckers.a  lib/libclangStaticAnalyzerCore.a  lib/libclangCrossTU.a  lib/libclangTooling.a  lib/libclangToolingRefactoring.a  lib/libclangIndex.a  lib/libclangFormat.a  lib/libclangToolingInclusions.a  lib/libclangToolingSyntax.a  lib/libclangFrontend.a  lib/libclangDriver.a  lib/libclangSerialization.a  lib/libclangParse.a  lib/libclangSema.a  lib/libclangAnalysis.a  lib/libclangASTMatchers.a  lib/libclangEdit.a  lib/libclangToolingCore.a  lib/libclangAST.a  lib/libclangRewrite.a  lib/libclangLex.a  lib/libclangBasic.a  lib/libRemoteIndexProtos.a  /usr/local/opt/grpc/lib/libgrpc++.a  lib/libclangdSupport.a  lib/libLLVMAArch64Info.a  lib/libLLVMAMDGPUInfo.a  lib/libLLVMARMInfo.a  lib/libLLVMAVRInfo.a  lib/libLLVMBPFInfo.a  lib/libLLVMHexagonInfo.a  lib/libLLVMLanaiInfo.a  lib/libLLVMMipsInfo.a  lib/libLLVMMSP430Info.a  lib/libLLVMNVPTXInfo.a  lib/libLLVMPowerPCInfo.a  lib/libLLVMRISCVInfo.a  lib/libLLVMSparcInfo.a  lib/libLLVMSystemZInfo.a  lib/libLLVMWebAssemblyInfo.a  lib/libLLVMX86Info.a  lib/libLLVMXCoreInfo.a  lib/libLLVMFrontendOpenMP.a  lib/libLLVMTransformUtils.a  lib/libLLVMAnalysis.a  lib/libLLVMProfileData.a  lib/libLLVMObject.a  lib/libLLVMBitReader.a  lib/libLLVMCore.a  lib/libLLVMRemarks.a  lib/libLLVMBitstreamReader.a  lib/libLLVMMCParser.a  lib/libLLVMMC.a  lib/libLLVMDebugInfoCodeView.a  lib/libLLVMDebugInfoMSF.a  lib/libLLVMTextAPI.a  lib/libLLVMBinaryFormat.a  lib/libLLVMOption.a  lib/libLLVMSupport.a  -lz  -lcurses  -lm  lib/libLLVMDemangle.a  /usr/local/opt/protobuf/lib/libprotobuf.a && :
  Undefined symbols for architecture x86_64:
    "_CFTimeZoneGetName", referenced from:
        absl::lts_2020_02_25::time_internal::cctz::local_time_zone() in libgrpc++.a(time_zone_lookup.o)
    "_CFStringGetLength", referenced from:
        absl::lts_2020_02_25::time_internal::cctz::local_time_zone() in libgrpc++.a(time_zone_lookup.o)
    "_CFRelease", referenced from:
        absl::lts_2020_02_25::time_internal::cctz::local_time_zone() in libgrpc++.a(time_zone_lookup.o)
    "_CFStringGetMaximumSizeForEncoding", referenced from:
        absl::lts_2020_02_25::time_internal::cctz::local_time_zone() in libgrpc++.a(time_zone_lookup.o)
    "_CFTimeZoneCopyDefault", referenced from:
        absl::lts_2020_02_25::time_internal::cctz::local_time_zone() in libgrpc++.a(time_zone_lookup.o)
    "_CFStringGetCString", referenced from:
        absl::lts_2020_02_25::time_internal::cctz::local_time_zone() in libgrpc++.a(time_zone_lookup.o)
    "___darwin_check_fd_set_overflow", referenced from:
        l001 in libgrpc++.a(ares_process.o)
  ld: symbol(s) not found for architecture x86_64
  clang-10: error: linker command failed with exit code 1 (use -v to see invocation)
  ninja: build stopped: subcommand failed.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D85715/new/

https://reviews.llvm.org/D85715



More information about the llvm-commits mailing list