[PATCH] D91859: [clangd] Fix shared-lib builds

Kadir Cetinkaya via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Sun Nov 22 09:52:18 PST 2020


kadircet added a comment.

In D91859#2409743 <https://reviews.llvm.org/D91859#2409743>, @nridge wrote:

> I applied the patch locally and it fixes most of the linker errors but I'm still seeing one:
>
>   [6/393] Linking CXX executable bin/clangd-index-server
>   FAILED: bin/clangd-index-server
>   : && /usr/bin/clang++-10 -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 -ffunction-sections -fdata-sections -fno-common -Woverloaded-virtual -Wno-nested-anon-types -O3 -DNDEBUG -fuse-ld=gold     -Wl,-O3 -Wl,--gc-sections tools/clang/tools/extra/clangd/index/remote/server/CMakeFiles/clangd-index-server.dir/Server.cpp.o -o bin/clangd-index-server  -Wl,-rpath,"\$ORIGIN/../lib"  -lpthread  lib/libRemoteIndexServiceProto.so.12git  lib/libclangdRemoteMarshalling.so.12git  -lgrpc++  lib/libclangDaemon.so.12git  lib/libclangdSupport.so.12git  lib/libRemoteIndexProto.so.12git  lib/libLLVMSupport.so.12git  -Wl,-rpath-link,llvm/prod-build/lib && :
>   tools/clang/tools/extra/clangd/index/remote/server/CMakeFiles/clangd-index-server.dir/Server.cpp.o:Server.cpp:function llvm::detail::stream_operator_format_adapter<clang::clangd::remote::(anonymous namespace)::RemoteIndexServer::TextProto>::format(llvm::raw_ostream&, llvm::StringRef): error: undefined reference to 'google::protobuf::Message::DebugString[abi:cxx11]() const'
>   clang: error: linker command failed with exit code 1 (use -v to see invocation)

I am not able to reproduce the failure. Maybe we should just make the dependencies introduced in `generate_protos` for grpc++ and protobuf PUBLIC, to ensure they propagate into users (i believe that's the default for my configuration for whatever reason). Can you share your cmake configuration ?


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D91859



More information about the cfe-commits mailing list