octave-maintainers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Aw: RE: RE: Octave 3.8.2 released - llvm


From: Tatsuro MATSUOKA
Subject: Re: Aw: RE: RE: Octave 3.8.2 released - llvm
Date: Wed, 27 Aug 2014 17:56:17 +0900 (JST)


----- Original Message -----
>From: John Donoghue 
>To: Mike Miller Cc: Tatsuro MATSUOKA ; Stefan Mahr ; "address@hidden" 
><address@hidden>
>Date: 2014/8/27, Wed 12:42
>Subject: Re: Aw: RE: RE: Octave 3.8.2 released - llvm
> 
>
>

>On Tue, Aug 26, 2014 at 10:51 PM, Mike Miller <address@hidden> wrote:
>
>On Wed, Aug 27, 2014 at 10:13:47 +0900, Tatsuro MATSUOKA wrote:
>>> I have applied the patch and tried bootstrap and configure.
>>> The "check for LLVM::legacy::PassManager" (config.log)
>>>
>>> configure:15446: checking check for LLVM::legacy::PassManager
>>> configure:15486: g++ -o conftest  -g -O2 -pthread -D__STDC_CONSTANT_MACROS 
>>> -D__STDC_LIMIT_MACROS -isystem /opt/clang+llvm-3.4.2/include 
>>> -I/usr/include/mpi -DMPICH_SKIP_MPICXX -DOMPI_SKIP_MPICXX  
>>> -L/opt/clang+llvm-3.4.2/lib  -lz -lpthread -ltinfo -ldl -lm  conftest.cpp 
>>> -L/opt/clang+llvm-3.4.2/lib  -lz -lpthread -ltinfo -ldl -lm  
>>> -lLLVMInstrumentation -lLLVMIRReader -lLLVMAsmParser -lLLVMDebugInfo 
>>> -lLLVMOption -lLLVMLTO -lLLVMLinker -lLLVMipo -lLLVMVectorize 
>>> -lLLVMBitWriter -lLLVMBitReader -lLLVMTableGen -lLLVMR600CodeGen 
>>> -lLLVMR600Desc -lLLVMR600Info -lLLVMR600AsmPrinter 
>>> -lLLVMSystemZDisassembler -lLLVMSystemZCodeGen -lLLVMSystemZAsmParser 
>>> -lLLVMSystemZDesc -lLLVMSystemZInfo -lLLVMSystemZAsmPrinter 
>>> -lLLVMHexagonCodeGen -lLLVMHexagonAsmPrinter -lLLVMHexagonDesc 
>>> -lLLVMHexagonInfo -lLLVMNVPTXCodeGen -lLLVMNVPTXDesc -lLLVMNVPTXInfo 
>>> -lLLVMNVPTXAsmPrinter -lLLVMCppBackendCodeGen -lLLVMCppBackendInfo 
>>> -lLLVMMSP430CodeGen -lLLVMMSP430Desc -lLLVMMSP430Info
>>>  -lLLVMMSP430AsmPrinter -lLLVMXCoreDisassembler -lLLVMXCoreCodeGen 
>>>-lLLVMXCoreDesc -lLLVMXCoreInfo -lLLVMXCoreAsmPrinter -lLLVMMipsDisassembler 
>>>-lLLVMMipsCodeGen -lLLVMMipsAsmParser -lLLVMMipsDesc -lLLVMMipsInfo 
>>>-lLLVMMipsAsmPrinter -lLLVMARMDisassembler -lLLVMARMCodeGen 
>>>-lLLVMARMAsmParser -lLLVMARMDesc -lLLVMARMInfo -lLLVMARMAsmPrinter 
>>>-lLLVMAArch64Disassembler -lLLVMAArch64CodeGen -lLLVMAArch64AsmParser 
>>>-lLLVMAArch64Desc -lLLVMAArch64Info -lLLVMAArch64AsmPrinter 
>>>-lLLVMAArch64Utils -lLLVMPowerPCCodeGen -lLLVMPowerPCAsmParser 
>>>-lLLVMPowerPCDesc -lLLVMPowerPCInfo -lLLVMPowerPCAsmPrinter 
>>>-lLLVMSparcCodeGen -lLLVMSparcDesc -lLLVMSparcInfo -lLLVMX86Disassembler 
>>>-lLLVMX86AsmParser -lLLVMX86CodeGen -lLLVMSelectionDAG -lLLVMAsmPrinter 
>>>-lLLVMX86Desc -lLLVMX86Info -lLLVMX86AsmPrinter -lLLVMX86Utils 
>>>-lLLVMMCDisassembler -lLLVMMCParser -lLLVMInterpreter -lLLVMMCJIT -lLLVMJIT 
>>>-lLLVMCodeGen -lLLVMObjCARCOpts -lLLVMScalarOpts -lLLVMInstCombine 
>>>-lLLVMTransformUtils
>>>  -lLLVMipa -lLLVMAnalysis -lLLVMRuntimeDyld -lLLVMExecutionEngine 
>>>-lLLVMTarget -lLLVMMC -lLLVMObject -lLLVMCore -lLLVMSupport -lm   >&5
>>> /opt/clang+llvm-3.4.2/lib/libLLVMSupport.a(Signals.o): In function 
>>> `llvm::sys::PrintStackTrace(_IO_FILE*)':
>>> Signals.cpp:(.text+0x834): undefined reference to `dladdr'
>>> Signals.cpp:(.text+0x965): undefined reference to `dladdr'
>>> /opt/clang+llvm-3.4.2/lib/libLLVMSupport.a(Process.o): In function 
>>> `llvm::sys::Process::FileDescriptorHasColors(int)':
>>> Process.cpp:(.text+0x687): undefined reference to `setupterm'
>>> Process.cpp:(.text+0x6b0): undefined reference to `tigetnum'
>>> Process.cpp:(.text+0x6b9): undefined reference to `set_curterm'
>>> Process.cpp:(.text+0x6c1): undefined reference to `del_curterm'
>>> collect2: error: ld returned 1 exit status
>>> configure:15486: $? = 1
>>>
>>>
>>> Hmmmm?
>>> This time -ltinfo -ldl are included but the check of 
>>> LLVM::legacy::PassManager was in failure.
>>
>>The huge list of libraries indicates that your LLVM installation doesn't
>>provide the single shared library. Do you have any shared libraries in
>>/opt/clang+llvm-3.4.2/lib or only static libs? Did you build llvm with
>>the --enable-shared option? That might help, with the added bonus that
>>shared libs on Linux typically link with the libraries that they depend
>>on, so you don't need to specify the additional libs.
>>
>>That said there may still be a bug here if someone really does wish to
>>build Octave against LLVM static libs.
>>
>>--
>>mike
>>


>Order of the llvm libs vs ldflags is important
>Attached patch detected legacy ok for me and is currently compiling

I have not yet rebuilt llvm-3.4.2 to give shared libraries.
I tried to apply the patch (llvm-fix.patch) and looked that this fixed the 
issue.
Surely the patch enabled to set LEGACY_PASSMANAGER flag and octave build was 
done successfully.
In addition, I confirmed jit worked.

I strongly appreciate to the efforts by all people concerning the matter.

I will try shared llvm-3.4.2 build and tried to link to octave (default branch).


Tatsuro



reply via email to

[Prev in Thread] Current Thread [Next in Thread]