[Lldb-commits] [PATCH] D29352: [CMake] Final dependency cleanup patch!

Pavel Labath via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Wed Feb 1 16:24:07 PST 2017


labath added a comment.

Unfortunately, I am still getting undefined symbols when building some of the unittest binaries:

  FAILED: : && /usr/bin/clang++-3.6   -fPIC -fvisibility-inlines-hidden -Wall -W -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wcovered-switch-default -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wstring-conversion -Werror=date-time -std=c++11 -fcolor-diagnostics -ffunction-sections -fdata-sections -Wno-deprecated-declarations -Wno-unknown-pragmas -Wno-strict-aliasing -Wno-deprecated-register -Wno-vla-extension -O3 -DNDEBUG -ffunction-sections -fdata-sections -fuse-ld=gold  -Wl,-allow-shlib-undefined -Wl,--icf=safe   -Wl,-O3 -Wl,--gc-sections tools/lldb/unittests/Breakpoint/CMakeFiles/LLDBBreakpointTests.dir/BreakpointIDTest.cpp.o  -o tools/lldb/unittests/Breakpoint/LLDBBreakpointTests  lib/libLLVMSupport.a lib/libLLVMSupport.a -lpthread lib/libgtest_main.a lib/libgtest.a -lpthread -ledit -lcurses /usr/lib/x86_64-linux-gnu/libform.so /usr/lib/x86_64-linux-gnu/libpanel.so -ltinfo /usr/lib/x86_64-linux-gnu/libpython2.7.so -lpthread -ldl -lcurses /usr/lib/x86_64-linux-gnu/libform.so /usr/lib/x86_64-linux-gnu/libpanel.so lib/libLLVMSupport.a -lrt -latomic -lpthread -lz -lm lib/libLLVMDemangle.a /usr/lib/x86_64-linux-gnu/libpython2.7.so -ltinfo -lpthread -ldl && cd /usr/local/google/home/labath/ll/build/opt/tools/lldb/unittests/Breakpoint && /usr/local/google/home/labath/local/cmake/bin/cmake -E make_directory /usr/local/google/home/labath/ll/build/opt/tools/lldb/unittests/Breakpoint/Inputs
  tools/lldb/unittests/Breakpoint/CMakeFiles/LLDBBreakpointTests.dir/BreakpointIDTest.cpp.o:/usr/local/google/home/labath/ll/llvm/tools/lldb/unittests/Breakpoint/BreakpointIDTest.cpp:function BreakpointIDTest_StringIsBreakpointName_Test::TestBody(): error: undefined reference to 'lldb_private::Error::Error()'
  tools/lldb/unittests/Breakpoint/CMakeFiles/LLDBBreakpointTests.dir/BreakpointIDTest.cpp.o:/usr/local/google/home/labath/ll/llvm/tools/lldb/unittests/Breakpoint/BreakpointIDTest.cpp:function BreakpointIDTest_StringIsBreakpointName_Test::TestBody(): error: undefined reference to 'lldb_private::BreakpointID::StringIsBreakpointName(llvm::StringRef, lldb_private::Error&)'
  tools/lldb/unittests/Breakpoint/CMakeFiles/LLDBBreakpointTests.dir/BreakpointIDTest.cpp.o:/usr/local/google/home/labath/ll/llvm/tools/lldb/unittests/Breakpoint/BreakpointIDTest.cpp:function BreakpointIDTest_StringIsBreakpointName_Test::TestBody(): error: undefined reference to 'lldb_private::BreakpointID::StringIsBreakpointName(llvm::StringRef, lldb_private::Error&)'
  tools/lldb/unittests/Breakpoint/CMakeFiles/LLDBBreakpointTests.dir/BreakpointIDTest.cpp.o:/usr/local/google/home/labath/ll/llvm/tools/lldb/unittests/Breakpoint/BreakpointIDTest.cpp:function BreakpointIDTest_StringIsBreakpointName_Test::TestBody(): error: undefined reference to 'lldb_private::BreakpointID::StringIsBreakpointName(llvm::StringRef, lldb_private::Error&)'
  tools/lldb/unittests/Breakpoint/CMakeFiles/LLDBBreakpointTests.dir/BreakpointIDTest.cpp.o:/usr/local/google/home/labath/ll/llvm/tools/lldb/unittests/Breakpoint/BreakpointIDTest.cpp:function BreakpointIDTest_StringIsBreakpointName_Test::TestBody(): error: undefined reference to 'lldb_private::BreakpointID::StringIsBreakpointName(llvm::StringRef, lldb_private::Error&)'
  tools/lldb/unittests/Breakpoint/CMakeFiles/LLDBBreakpointTests.dir/BreakpointIDTest.cpp.o:/usr/local/google/home/labath/ll/llvm/tools/lldb/unittests/Breakpoint/BreakpointIDTest.cpp:function BreakpointIDTest_StringIsBreakpointName_Test::TestBody(): error: undefined reference to 'lldb_private::Error::~Error()'
  tools/lldb/unittests/Breakpoint/CMakeFiles/LLDBBreakpointTests.dir/BreakpointIDTest.cpp.o:/usr/local/google/home/labath/ll/llvm/tools/lldb/unittests/Breakpoint/BreakpointIDTest.cpp:function BreakpointIDTest_StringIsBreakpointName_Test::TestBody(): error: undefined reference to 'lldb_private::Error::~Error()'
  clang: error: linker command failed with exit code 1 (use -v to see invocation)

This one is particularly strange as the breakpoint tests explicitly specify they depend in LldbBreakpoint, but I don't see them anywhere on the link line. I haven't yet tried to dig further into what is going on. Do you have a linux box you can try this out on?


https://reviews.llvm.org/D29352





More information about the lldb-commits mailing list