[lldb-dev] Linker errors on MacOSX this morning?

Greg Clayton gclayton at apple.com
Fri Aug 22 13:28:26 PDT 2014


If header files change, Xcode has some dependency tracking issues that are being tracked by a bug report I filed and was able to help the Xcode team diagnose. So doing a Clean when you run into link errors is always a good idea.

> On Aug 22, 2014, at 12:49 PM, Todd Fiala <tfiala at google.com> wrote:
> 
> Glad you're up and running!
> 
> Jason actually saved me here.  I would have otherwise investigated for the loss.
> 
> 
> On Fri, Aug 22, 2014 at 11:23 AM, Zachary Turner <zturner at google.com> wrote:
> It works now, after Todd's suggestion.  rm -rf llvm-build wasn't sufficient, I also had to clean the Xcode project.  Thanks!
> 
> 
> On Fri, Aug 22, 2014 at 11:17 AM, Greg Clayton <gclayton at apple.com> wrote:
> The Xcode project will check out the sources for you into:
> 
> lldb/llvm
> 
> If they aren't already there. Then it will create lldb/lldb-build and configure/build into that directory in a way that works for multiple architectures.
> 
> So making a build folder inside llvm might work for you, but it won't be used by Xcode. If you want to do manual builds you can cd into:
> 
> lldb/llvm-build/Release+Asserts/x86_64
> 
> Then run make from there.
> 
> 
> 
> > On Aug 22, 2014, at 11:11 AM, Zachary Turner <zturner at google.com> wrote:
> >
> > I will try that.  One thing I did yesterday was try to make a change to llvm.  To do this I went into my lldb/llvm directory, created a build directory, and from inside there generated an Xcode project for just the llvm / clang stuff, and built llvm using this.  Is it possible that it installed itself somewhere in a way that conflicts what what I'm trying to do using the LLDB xcode build?
> >
> >
> > On Fri, Aug 22, 2014 at 11:10 AM, Todd Fiala <tfiala at google.com> wrote:
> > Did you also do a Build|Clean?
> >
> > So full steps:
> > (command line)
> > cd lldb
> > rm -rf llvm-build
> >
> > (back in Xcode)
> > Product|Clean
> > Cmd-B
> >
> > ?
> >
> >
> > On Fri, Aug 22, 2014 at 11:09 AM, Zachary Turner <zturner at google.com> wrote:
> > Didn't seem to fix it.  Still getting the same errors.
> >
> >
> > On Fri, Aug 22, 2014 at 11:01 AM, Todd Fiala <tfiala at google.com> wrote:
> > I think Jason also mentioned in another thread that this was necessary and don't waste time tracking it down.
> >
> >
> > On Fri, Aug 22, 2014 at 10:41 AM, Greg Clayton <gclayton at apple.com> wrote:
> > You might want to nuke your lldb/llvm-build folder and try again. Sometimes when updating the dependencies aren't tracked 100% and can result in bad .a files from the llvm build.
> >
> > > On Aug 22, 2014, at 10:32 AM, Zachary Turner <zturner at google.com> wrote:
> > >
> > > I just updated all my repos and I'm seeing this when I build lldb-tool using the Xcode solution:
> > >
> > > Undefined symbols for architecture x86_64:
> > >
> > >   "llvm::ConstantExpr::getGetElementPtr(llvm::Constant*, llvm::ArrayRef<llvm::Value*>, bool)", referenced from:
> > >
> > >       llvm::ConstantExpr::getGetElementPtr(llvm::Constant*, llvm::ArrayRef<llvm::Constant*>, bool) in liblldb-core.a(IRForTarget.o)
> > >
> > >      (maybe you meant: __ZN4llvm12ConstantExpr16getGetElementPtrEPNS_8ConstantENS_8ArrayRefIPNS_5ValueEEEbPNS_4TypeE)
> > >
> > >   "llvm::ConstantExpr::getBitCast(llvm::Constant*, llvm::Type*)", referenced from:
> > >
> > >       IRForTarget::RewriteObjCConstString(llvm::GlobalVariable*, llvm::GlobalVariable*) in liblldb-core.a(IRForTarget.o)
> > >
> > >       IRForTarget::RewriteObjCSelector(llvm::Instruction*) in liblldb-core.a(IRForTarget.o)
> > >
> > >       IRForTarget::BuildRelocation(llvm::Type*, unsigned long long) in liblldb-core.a(IRForTarget.o)
> > >
> > >       IRForTarget::ReplaceStrings() in liblldb-core.a(IRForTarget.o)
> > >
> > >      (maybe you meant: __ZN4llvm12ConstantExpr10getBitCastEPNS_8ConstantEPNS_4TypeEb)
> > >
> > >   "llvm::ConstantExpr::getIntToPtr(llvm::Constant*, llvm::Type*)", referenced from:
> > >
> > >       IRForTarget::BuildFunctionPointer(llvm::Type*, unsigned long long) in liblldb-core.a(IRForTarget.o)
> > >
> > >       IRForTarget::RewriteObjCConstString(llvm::GlobalVariable*, llvm::GlobalVariable*) in liblldb-core.a(IRForTarget.o)
> > >
> > >       IRForTarget::RewriteObjCSelector(llvm::Instruction*) in liblldb-core.a(IRForTarget.o)
> > >
> > >       IRForTarget::HandleSymbol(llvm::Value*) in liblldb-core.a(IRForTarget.o)
> > >
> > >       IRForTarget::HandleObjCClass(llvm::Value*) in liblldb-core.a(IRForTarget.o)
> > >
> > >       IRForTarget::CompleteDataAllocation() in liblldb-core.a(IRForTarget.o)
> > >
> > >      (maybe you meant: __ZN4llvm12ConstantExpr11getIntToPtrEPNS_8ConstantEPNS_4TypeEb)
> > >
> > > ld: symbol(s) not found for architecture x86_64
> > >
> > > clang: error: linker command failed with exit code 1 (use -v to see invocation)
> > >
> > >
> > >
> > > Is anyone else seeing this?
> > >
> > > _______________________________________________
> > > lldb-dev mailing list
> > > lldb-dev at cs.uiuc.edu
> > > http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev
> >
> > _______________________________________________
> > lldb-dev mailing list
> > lldb-dev at cs.uiuc.edu
> > http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev
> >
> >
> >
> > --
> > Todd Fiala |   Software Engineer |     tfiala at google.com |     650-943-3180
> >
> >
> >
> >
> >
> > --
> > Todd Fiala |   Software Engineer |     tfiala at google.com |     650-943-3180
> >
> >
> 
> 
> 
> 
> 
> -- 
> Todd Fiala |	 Software Engineer |	 tfiala at google.com |	 650-943-3180
> 




More information about the lldb-dev mailing list