[llvm-commits] Cyclic dependencies between LLVM libraries with debug builds

Duncan Sands baldrick at free.fr
Fri Jun 19 02:39:25 PDT 2009


Hi Chris,

>> If I configure without any options (equivalent to --disable-optimized
>> --enable-assertions) on x64-64 linux then the build fails with:
>>
>> llvm[1]: Checking for cyclic dependencies between LLVM libraries.
>> find-cycles.pl: Circular dependency between *.a files:
>> find-cycles.pl:   libLLVMSparcAsmPrinter.a libLLVMSparcCodeGen.a
>> find-cycles.pl: Circular dependency between *.a files:
>> find-cycles.pl:   libLLVMCellSPUAsmPrinter.a libLLVMCellSPUCodeGen.a
>> find-cycles.pl: Circular dependency between *.a files:
>> find-cycles.pl:   libLLVMAlphaAsmPrinter.a libLLVMAlphaCodeGen.a
>> find-cycles.pl: Circular dependency between *.a files:
>> find-cycles.pl:   libLLVMIA64AsmPrinter.a libLLVMIA64CodeGen.a
>>
>> Any ideas?
> 
> I'm not seeing that.  Can you go into tools/llvm-config and run an  
> appropriately path-adjusted version of this:
> 
> /usr/bin/perl /Users/sabre/llvm/utils/GenLibDeps.pl -flat -why /Users/ 
> sabre/llvm/Debug/lib "/usr/bin/nm -p" > out.txt
> 
> and send me out.txt?

here you go (attached).  For example, libLLVMSparcAsmPrinter.a depends
on libLLVMSparcCodeGen.a because of these symbols:
   _ZN4llvm2SP14FPRegsRegClassE
   _ZN4llvm2SP15DFPRegsRegClassE
   _ZN4llvm2SP15IntRegsRegClassE
While libLLVMSparcCodeGen.a depends on libLLVMSparcAsmPrinter.a because
of this symbol:
 
_ZN4llvm26createSparcCodePrinterPassERNS_11raw_ostreamERNS_13TargetMachineENS_10CodeGenOpt5LevelEb

Ciao,

Duncan.
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: out.txt
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20090619/f722fe91/attachment.txt>


More information about the llvm-commits mailing list