lldb-tools / lldb-mi

LLDB's machine interface driver
https://lldb.llvm.org
Other
162 stars 53 forks source link

Error while building this package #94

Closed Randy1Burrell closed 2 years ago

Randy1Burrell commented 2 years ago

Hi team,

I am getting the following errors when I try to build this package. The environment is the latest Mac OS. Can someone help me to debug this issue?

usr/local/Cellar/cmake/3.23.0/bin/cmake -S/Users/randyburrell/Projects/Environments/Rust/lldb-mi -B/Users/randyburrell/Projects/Environments/Rust/lldb-mi/build --check-build-system CMakeFiles/Makefile.cmake 0 /usr/local/Cellar/cmake/3.23.0/bin/cmake -E cmake_progress_start /Users/randyburrell/Projects/Environments/Rust/lldb-mi/build/CMakeFiles /Users/randyburrell/Projects/Environments/Rust/lldb-mi/build//CMakeFiles/progress.marks /Applications/Xcode.app/Contents/Developer/usr/bin/make -f CMakeFiles/Makefile2 all /Applications/Xcode.app/Contents/Developer/usr/bin/make -f src/CMakeFiles/lldb-mi.dir/build.make src/CMakeFiles/lldb-mi.dir/depend cd /Users/randyburrell/Projects/Environments/Rust/lldb-mi/build && /usr/local/Cellar/cmake/3.23.0/bin/cmake -E cmake_depends "Unix Makefiles" /Users/randyburrell/Projects/Environments/Rust/lldb-mi /Users/randyburrell/Projects/Environments/Rust/lldb-mi/src /Users/randyburrell/Projects/Environments/Rust/lldb-mi/build /Users/randyburrell/Projects/Environments/Rust/lldb-mi/build/src /Users/randyburrell/Projects/Environments/Rust/lldb-mi/build/src/CMakeFiles/lldb-mi.dir/DependInfo.cmake --color= /Applications/Xcode.app/Contents/Developer/usr/bin/make -f src/CMakeFiles/lldb-mi.dir/build.make src/CMakeFiles/lldb-mi.dir/build [ 1%] Linking CXX executable lldb-mi cd /Users/randyburrell/Projects/Environments/Rust/lldb-mi/build/src && /usr/local/Cellar/cmake/3.23.0/bin/cmake -E cmake_link_script CMakeFiles/lldb-mi.dir/link.txt --verbose=1 /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ -fPIC -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -w -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.3.sdk -mmacosx-version-min=12.2 -Wl,-search_paths_first -Wl,-headerpad_max_install_names -L/usr/local/opt/llvm/lib "CMakeFiles/lldb-mi.dir/MICmdArgContext.cpp.o" "CMakeFiles/lldb-mi.dir/MICmdArgSet.cpp.o" "CMakeFiles/lldb-mi.dir/MICmdArgValBase.cpp.o" "CMakeFiles/lldb-mi.dir/MICmdArgValConsume.cpp.o" "CMakeFiles/lldb-mi.dir/MICmdArgValFile.cpp.o" "CMakeFiles/lldb-mi.dir/MICmdArgValListBase.cpp.o" "CMakeFiles/lldb-mi.dir/MICmdArgValListOfN.cpp.o" "CMakeFiles/lldb-mi.dir/MICmdArgValNumber.cpp.o" "CMakeFiles/lldb-mi.dir/MICmdArgValOptionLong.cpp.o" "CMakeFiles/lldb-mi.dir/MICmdArgValOptionShort.cpp.o" "CMakeFiles/lldb-mi.dir/MICmdArgValPrintValues.cpp.o" "CMakeFiles/lldb-mi.dir/MICmdArgValString.cpp.o" "CMakeFiles/lldb-mi.dir/MICmdArgValText.cpp.o" "CMakeFiles/lldb-mi.dir/MICmdArgValThreadGrp.cpp.o" "CMakeFiles/lldb-mi.dir/MICmdBase.cpp.o" "CMakeFiles/lldb-mi.dir/MICmdCommands.cpp.o" "CMakeFiles/lldb-mi.dir/MICmdCmd.cpp.o" "CMakeFiles/lldb-mi.dir/MICmdCmdBreak.cpp.o" "CMakeFiles/lldb-mi.dir/MICmdCmdData.cpp.o" "CMakeFiles/lldb-mi.dir/MICmdCmdEnviro.cpp.o" "CMakeFiles/lldb-mi.dir/MICmdCmdExec.cpp.o" "CMakeFiles/lldb-mi.dir/MICmdCmdFile.cpp.o" "CMakeFiles/lldb-mi.dir/MICmdCmdGdbInfo.cpp.o" "CMakeFiles/lldb-mi.dir/MICmdCmdGdbSet.cpp.o" "CMakeFiles/lldb-mi.dir/MICmdCmdGdbShow.cpp.o" "CMakeFiles/lldb-mi.dir/MICmdCmdGdbThread.cpp.o" "CMakeFiles/lldb-mi.dir/MICmdCmdMiscellanous.cpp.o" "CMakeFiles/lldb-mi.dir/MICmdCmdStack.cpp.o" "CMakeFiles/lldb-mi.dir/MICmdCmdSupportInfo.cpp.o" "CMakeFiles/lldb-mi.dir/MICmdCmdSupportList.cpp.o" "CMakeFiles/lldb-mi.dir/MICmdCmdSymbol.cpp.o" "CMakeFiles/lldb-mi.dir/MICmdCmdTarget.cpp.o" "CMakeFiles/lldb-mi.dir/MICmdCmdThread.cpp.o" "CMakeFiles/lldb-mi.dir/MICmdCmdTrace.cpp.o" "CMakeFiles/lldb-mi.dir/MICmdCmdVar.cpp.o" "CMakeFiles/lldb-mi.dir/MICmdData.cpp.o" "CMakeFiles/lldb-mi.dir/MICmdFactory.cpp.o" "CMakeFiles/lldb-mi.dir/MICmdInterpreter.cpp.o" "CMakeFiles/lldb-mi.dir/MICmdInvoker.cpp.o" "CMakeFiles/lldb-mi.dir/MICmdMgr.cpp.o" "CMakeFiles/lldb-mi.dir/MICmdMgrSetCmdDeleteCallback.cpp.o" "CMakeFiles/lldb-mi.dir/MICmnBase.cpp.o" "CMakeFiles/lldb-mi.dir/MICmnLLDBBroadcaster.cpp.o" "CMakeFiles/lldb-mi.dir/MICmnLLDBDebugger.cpp.o" "CMakeFiles/lldb-mi.dir/MICmnLLDBDebuggerHandleEvents.cpp.o" "CMakeFiles/lldb-mi.dir/MICmnLLDBDebugSessionInfo.cpp.o" "CMakeFiles/lldb-mi.dir/MICmnLLDBDebugSessionInfoVarObj.cpp.o" "CMakeFiles/lldb-mi.dir/MICmnLLDBProxySBValue.cpp.o" "CMakeFiles/lldb-mi.dir/MICmnLLDBUtilSBValue.cpp.o" "CMakeFiles/lldb-mi.dir/MICmnLog.cpp.o" "CMakeFiles/lldb-mi.dir/MICmnLogMediumFile.cpp.o" "CMakeFiles/lldb-mi.dir/MICmnMIOutOfBandRecord.cpp.o" "CMakeFiles/lldb-mi.dir/MICmnMIResultRecord.cpp.o" "CMakeFiles/lldb-mi.dir/MICmnMIValue.cpp.o" "CMakeFiles/lldb-mi.dir/MICmnMIValueConst.cpp.o" "CMakeFiles/lldb-mi.dir/MICmnMIValueList.cpp.o" "CMakeFiles/lldb-mi.dir/MICmnMIValueResult.cpp.o" "CMakeFiles/lldb-mi.dir/MICmnMIValueTuple.cpp.o" "CMakeFiles/lldb-mi.dir/MICmnResources.cpp.o" "CMakeFiles/lldb-mi.dir/MICmnStreamStderr.cpp.o" "CMakeFiles/lldb-mi.dir/MICmnStreamStdin.cpp.o" "CMakeFiles/lldb-mi.dir/MICmnStreamStdout.cpp.o" "CMakeFiles/lldb-mi.dir/MICmnThreadMgrStd.cpp.o" "CMakeFiles/lldb-mi.dir/MIDriver.cpp.o" "CMakeFiles/lldb-mi.dir/MIDriverBase.cpp.o" "CMakeFiles/lldb-mi.dir/MIDriverMain.cpp.o" "CMakeFiles/lldb-mi.dir/MIDriverMgr.cpp.o" "CMakeFiles/lldb-mi.dir/MIUtilDateTimeStd.cpp.o" "CMakeFiles/lldb-mi.dir/MIUtilDebug.cpp.o" "CMakeFiles/lldb-mi.dir/MIUtilFileStd.cpp.o" "CMakeFiles/lldb-mi.dir/MIUtilMapIdToVariant.cpp.o" "CMakeFiles/lldb-mi.dir/MIUtilString.cpp.o" "CMakeFiles/lldb-mi.dir/MIUtilThreadBaseStd.cpp.o" "CMakeFiles/lldb-mi.dir/MIUtilVariant.cpp.o" -o lldb-mi /usr/local/opt/llvm/lib/liblldb.dylib /usr/local/opt/llvm/lib/libLLVM.dylib Undefined symbols for architecture x86_64: "std::__1::basic_filebuf<char, std::__1::char_traits<char> >::open(char const*, unsigned int)", referenced from: std::__1::basic_ifstream<char, std::__1::char_traits<char> >::basic_ifstream(char const*, unsigned int) in MIDriver.cpp.o "std::__1::basic_filebuf<char, std::__1::char_traits<char> >::basic_filebuf()", referenced from: std::__1::basic_ifstream<char, std::__1::char_traits<char> >::basic_ifstream(char const*, unsigned int) in MIDriver.cpp.o "std::__1::basic_filebuf<char, std::__1::char_traits<char> >::~basic_filebuf()", referenced from: std::__1::basic_ifstream<char, std::__1::char_traits<char> >::basic_ifstream(char const*, unsigned int) in MIDriver.cpp.o std::__1::basic_ifstream<char, std::__1::char_traits<char> >::~basic_ifstream() in MIDriver.cpp.o "std::__1::basic_stringbuf<char, std::__1::char_traits<char>, std::__1::allocator<char> >::str(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)", referenced from: std::__1::basic_stringbuf<char, std::__1::char_traits<char>, std::__1::allocator<char> >::basic_stringbuf(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, unsigned int) in MIUtilString.cpp.o "VTT for std::__1::basic_ifstream<char, std::__1::char_traits<char> >", referenced from: std::__1::basic_ifstream<char, std::__1::char_traits<char> >::basic_ifstream(char const*, unsigned int) in MIDriver.cpp.o std::__1::basic_ifstream<char, std::__1::char_traits<char> >::~basic_ifstream() in MIDriver.cpp.o "VTT for std::__1::basic_stringstream<char, std::__1::char_traits<char>, std::__1::allocator<char> >", referenced from: std::__1::basic_stringstream<char, std::__1::char_traits<char>, std::__1::allocator<char> >::basic_stringstream(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, unsigned int) in MIUtilString.cpp.o std::__1::basic_stringstream<char, std::__1::char_traits<char>, std::__1::allocator<char> >::~basic_stringstream() in MIUtilString.cpp.o "vtable for std::__1::basic_ifstream<char, std::__1::char_traits<char> >", referenced from: std::__1::basic_ifstream<char, std::__1::char_traits<char> >::basic_ifstream(char const*, unsigned int) in MIDriver.cpp.o NOTE: a missing vtable usually means the first non-inline virtual member function has no definition. "vtable for std::__1::basic_stringbuf<char, std::__1::char_traits<char>, std::__1::allocator<char> >", referenced from: std::__1::basic_stringbuf<char, std::__1::char_traits<char>, std::__1::allocator<char> >::~basic_stringbuf() in MIUtilString.cpp.o std::__1::basic_stringbuf<char, std::__1::char_traits<char>, std::__1::allocator<char> >::basic_stringbuf(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, unsigned int) in MIUtilString.cpp.o NOTE: a missing vtable usually means the first non-inline virtual member function has no definition. "vtable for std::__1::basic_stringstream<char, std::__1::char_traits<char>, std::__1::allocator<char> >", referenced from: std::__1::basic_stringstream<char, std::__1::char_traits<char>, std::__1::allocator<char> >::basic_stringstream(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, unsigned int) in MIUtilString.cpp.o NOTE: a missing vtable usually means the first non-inline virtual member function has no definition. ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation) make[2]: *** [src/lldb-mi] Error 1 make[1]: *** [src/CMakeFiles/lldb-mi.dir/all] Error 2 make: *** [all] Error 2

tkrasnukha commented 2 years ago

Hi, The problem I see is that /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ refers to clang instead of clang++.

Randy1Burrell commented 2 years ago

Hi, @tkrasnukha thanks for your response.

Do you have any suggestions or documentation on how to fix this? I have been searching online for quite some time for documentation about installing clang++ on MacOSx but I have not found any reference to clang++.

Any information at all would be good, thanks.

tkrasnukha commented 2 years ago

I don't have MacOS to check, but the default llvm installation (brew install llvm) should have clang++ driver as well as clang. Check the binary folder of your llvm, isn't it there? If it is, just change the default c++ compiler in Xcode settings. Otherwise, try to install llvm via brew.

Randy1Burrell commented 2 years ago

@tkrasnukha this worked. Thanks for your help.