On Wed, May 13, 2015 at 06:29:26PM +0200, [email protected] wrote:
> On Wed, May 06, 2015 at 11:37:44PM -0700, Khem Raj wrote:
> >
> > > On May 6, 2015, at 8:39 AM, Martin Jansa <[email protected]> wrote:
> > >
> > > On Fri, May 01, 2015 at 07:47:42PM +0200, Martin Jansa wrote:
> > >> From: Andre McCurdy <[email protected]>
> > >>
> > >> 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'm sorry for false alarm, the last sentence is the key. In webOS builds
we have filter for staging static libraries (to prevent accidental usage
of static library with unwanted license in our components) and of course
I forgot to whitelist these llvm libraries used by mesa.
Once staged in sysroot mesa builds with gallium-llvm again OK, so this
change is good to go.
Thanks
> 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,
--
Martin 'JaMa' Jansa jabber: [email protected]
--
_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-core