[lldb-dev] Linker error on fresh working copy

Félix Cloutier felixcca at yahoo.ca
Fri Nov 22 18:42:03 PST 2013


I'm building from Xcode, so I guess I need to change scripts/build-llvm.pl. Xcode reports this when I build:

% cd '/Users/felix/Projets/OpenSource/lldb/llvm-build/Release+Asserts/x86_64' && '/Users/felix/Projets/OpenSource/lldb/llvm/configure' --enable-targets=x86_64,arm --disable-terminfo --enable-cxx11 --enable-optimized --enable-assertions --enable-libcpp --build=x86_64-apple-darwin11

--enable-cxx11 is there, but even with that build completing successfully I still get the same error.

Félix

Le 2013-11-22 à 04:15:21, Arnaud A. de Grandmaison <arnaud.adegm at gmail.com> a écrit :

> 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
>> lldb-dev at cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev
> 
> 
> -- 
> Arnaud A. de Grandmaison

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/lldb-dev/attachments/20131122/aa84c1fe/attachment.html>


More information about the lldb-dev mailing list