On 11/22/2013 07:56 AM, Félix Cloutier wrote: > Hello people, > > I got the lldb source fresh from SVN, and even after doing the little > Python dance for Mavericks (setting SDKROOT to macosx10.8 like Jason > Molenda suggested yesterday), I still get compile errors. The linker > bails out with this when it tries to link lldb-platform: > > Undefined symbols for architecture x86_64: > "llvm::SmallPtrSetImpl::SmallPtrSetImpl(void const**, unsigned int, > llvm::SmallPtrSetImpl&&)", referenced from: > llvm::SmallPtrSet<DWARFDebugInfoEntry const*, > 4u>::SmallPtrSet(llvm::SmallPtrSet<DWARFDebugInfoEntry const*, 4u>&&) > in liblldb-core.a(SymbolFileDWARF.o) > ld: symbol(s) not found for architecture x86_64 > clang: error: linker command failed with exit code 1 (use -v to see > invocation) > > Looking deeper, I found that it is declared like that: > > #if LLVM_HAS_RVALUE_REFERENCES > SmallPtrSetImpl(const void **SmallStorage, unsigned SmallSize, > SmallPtrSetImpl &&that); > #endif > > Could it be that llvm is built without LLVM_HAS_RVALUE_REFERENCES but > lldb is built with it? >
Hi Felix, I also got this problem. It comes from the fact that lldb is built in c++11 mode (required), whereas your llvm codebase is built without. You should compile llvm in c++11 as well, or some functions will simply not be in the libraries. If your are using cmake, I submitted (but diid not commit) a patch to optionally enable c++11 building with cmake a few hours ago on the llvm-commit list. For an autoconf build, there is an --enable-cxx11 to configure. Cheers, -- Arnaud > Félix > > > _______________________________________________ > lldb-dev mailing list > [email protected] > http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev -- Arnaud A. de Grandmaison
_______________________________________________ lldb-dev mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev
