[OE-core] [dizzy][PATCH] mesa: update --with-llvm-shared-libs configure option

martin.jansa at gmail.com martin.jansa at gmail.com
Wed May 13 16:29:26 UTC 2015


On Wed, May 06, 2015 at 11:37:44PM -0700, Khem Raj wrote:
> 
> > On May 6, 2015, at 8:39 AM, Martin Jansa <martin.jansa at gmail.com> wrote:
> > 
> > On Fri, May 01, 2015 at 07:47:42PM +0200, Martin Jansa wrote:
> >> From: Andre McCurdy <armccurdy at gmail.com>
> >> 
> >> As per the Mesa 10.2 release notes, "--with-llvm-shared-libs"
> >> has been renamed to "--enable-llvm-shared-libs".
> >> 
> >>  http://www.mesa3d.org/relnotes/10.2.html
> > 
> > Be aware that this correctly enables gallium-llvm, but then
> > gbm_gallium_drm can fail to find LLVM libs:
> > 
> > ld: cannot find -lLLVMMCJIT
> > | collect2: error: ld returned 1 exit status
> > | make[3]: *** [gbm_gallium_drm.la] Error 1
> > 
> > at least in some configurations, I'm looking what's the difference in
> > builds I'm seeing failing.
> 
> is LLVM_CONFIG set to point to valid llvm-config ?

Yes, but the libraries weren't staged by llvm3.3

sysroots/qemux86/usr/bin/crossscripts/llvm-config --libs
-lLLVMTableGen -lLLVMDebugInfo -lLLVMOption -lLLVMX86Disassembler
-lLLVMX86AsmParser -lLLVMX86CodeGen -lLLVMSelectionDAG -lLLVMAsmPrinter
-lLLVMX86Desc -lLLVMX86Info -lLLVMX86AsmPrinter -lLLVMX86Utils
-lLLVMIRReader -lLLVMAsmParser -lLLVMMCDisassembler -lLLVMMCParser
-lLLVMInstrumentation -lLLVMArchive -lLLVMBitReader -lLLVMInterpreter
-lLLVMipo -lLLVMVectorize -lLLVMLinker -lLLVMBitWriter -lLLVMMCJIT
-lLLVMJIT -lLLVMCodeGen -lLLVMObjCARCOpts -lLLVMScalarOpts
-lLLVMInstCombine -lLLVMTransformUtils -lLLVMipa -lLLVMAnalysis
-lLLVMRuntimeDyld -lLLVMExecutionEngine -lLLVMTarget -lLLVMMC
-lLLVMObject -lLLVMCore -lLLVMSupport

Maybe the LLVM_COMPONENTS passed from mesa configure are a bit wider
now:

sysroots/qemux86/usr/bin/crossscripts/llvm-config --libs engine
bitwriter
-lLLVMBitWriter -lLLVMX86Disassembler -lLLVMX86AsmParser
-lLLVMX86CodeGen -lLLVMSelectionDAG -lLLVMAsmPrinter -lLLVMMCParser
-lLLVMX86Desc -lLLVMX86Info -lLLVMX86AsmPrinter -lLLVMX86Utils -lLLVMJIT
-lLLVMRuntimeDyld -lLLVMExecutionEngine -lLLVMCodeGen -lLLVMObjCARCOpts
-lLLVMScalarOpts -lLLVMInstCombine -lLLVMTransformUtils -lLLVMipa
-lLLVMAnalysis -lLLVMTarget -lLLVMMC -lLLVMObject -lLLVMCore
-lLLVMSupport

sysroots/qemux86/usr/bin/crossscripts/llvm-config --libs engine
bitwriter
-lLLVMBitWriter -lLLVMX86Disassembler -lLLVMX86AsmParser
-lLLVMX86CodeGen -lLLVMSelectionDAG -lLLVMAsmPrinter -lLLVMMCParser
-lLLVMX86Desc -lLLVMX86Info -lLLVMX86AsmPrinter -lLLVMX86Utils -lLLVMJIT
-lLLVMRuntimeDyld -lLLVMExecutionEngine -lLLVMCodeGen -lLLVMObjCARCOpts
-lLLVMScalarOpts -lLLVMInstCombine -lLLVMTransformUtils -lLLVMipa
-lLLVMAnalysis -lLLVMTarget -lLLVMMC -lLLVMObject -lLLVMCore
-lLLVMSupport

sysroots/qemux86/usr/bin/crossscripts/llvm-config --ldflags
-L<myprefix>/sysroots/qemux86/usr/lib/llvm3.3
-lz -lpthread -lrt -ldl -lm

sysroot only has these:
/sysroots/qemux86/usr/lib/libLLVM-3.3.so
/sysroots/qemux86/usr/lib/llvm3.3/libLTO.so
/sysroots/qemux86/usr/lib/llvm3.3/LLVMHello.so
/sysroots/qemux86/usr/lib/llvm3.3/BugpointPasses.so
/sysroots/qemux86/usr/lib/llvm3.3/libprofile_rt.so
/sysroots/qemux86/usr/lib/llvm3.3/libLLVM-3.3.so
/sysroots/qemux86/usr/lib/llvm3.3/
/sysroots/qemux86/usr/lib/

static libs were built:
../../../llvm3.3/3.3-r0/llvm-3.3.build/Release/lib/libLLVMJIT.a
../../../llvm3.3/3.3-r0/image/usr/lib/llvm3.3/libLLVMJIT.a
../../../llvm3.3/3.3-r0/package/usr/lib/llvm3.3/libLLVMJIT.a
but not staged.

I don't see anything obvious in log.do_configure, most suspicious part
is:

llvm3.3/3.3-r0/llvm-3.3.src/configure: line 1990: -O2: command not found
llvm3.3/3.3-r0/llvm-3.3.src/configure: line 1991: -O2: command not found

caused by:
${CFLAGS=}
${CXXFLAGS=}

in configure script

I'll try to downgrade mesa to see what was different there.

Regards,



More information about the Openembedded-core mailing list