On 05/04/14 13:45, Emil Velikov wrote:
> On 05/04/14 13:27, Kai Wasserbäch wrote:
>> Dear Emil,
>> Emil Velikov schrieb am 05.04.2014 04:10:
>>> On 01/04/14 01:32, Emil Velikov wrote:
> [snip]
>>>
>>> https://github.com/evelikov/Mesa/ branch exported-symbol-cleanup
>>>
>>> Feel free to checkout and give it a test.
>>
>> I'm currently unable to build Mesa, since I'm seeing build failures due to a
>> missing symbols:
>>> Making all in opencl
>>> make[4]: Entering directory 
>>> `/tmp/buildd/mesa-10.2~20140405.1.git4ccff1499c/build/dri/src/gallium/targets/opencl'
>>> /bin/bash ../../../../libtool  --tag=CXX   --mode=link g++  -g -O2 
>>> -fstack-protector --param=ssp-buffer-size=4 -Wformat 
>>> -Werror=format-security -Wall -Wall -fno-strict-aliasing 
>>> -fno-builtin-memcmp  -L/usr/lib/llvm-3.5/lib  -no-undefined -version-number 
>>> 1:0 
>>> -Wl,--version-script=../../../../../../src/gallium/targets/opencl/opencl.sym
>>>  -Wl,--gc-sections -Wl,--no-undefined -Wl,-z,relro -o libMesaOpenCL.la 
>>> -rpath /usr/lib/x86_64-linux-gnu  
>>> ../../../../src/gallium/auxiliary/pipe-loader/libpipe_loader_client.la 
>>> ../../../../src/gallium/winsys/sw/null/libws_null.la 
>>> ../../../../src/gallium/state_trackers/clover/libclover.la 
>>> ../../../../src/gallium/auxiliary/libgallium.la -lxcb-dri2 -lxcb   -ldrm    
>>> -ldl -lclangCodeGen -lclangFrontendTool -lclangFrontend -lclangDriver 
>>> -lclangSerialization -lclangCodeGen -lclangParse -lclangSema 
>>> -lclangAnalysis -lclangAST -lclangEdit -lclangLex -lclangBasic 
>>> -lLLVMR600CodeGen -lLLVMR600Desc -lLLVMR600Info -lLLVMR600AsmPrinter 
>>> -lLLVMOption -lLLVMIRReader -lLLVMA
s
> m
>> Parser -lLLVMInstrumentation -lLLVMLinker -lLLVMipo -lLLVMVectorize 
>> -lLLVMMCJIT -lLLVMRuntimeDyld -lLLVMBitWriter -lLLVMX86Disassembler 
>> -lLLVMX86AsmParser -lLLVMX86CodeGen -lLLVMSelectionDAG -lLLVMAsmPrinter 
>> -lLLVMMCParser -lLLVMX86Desc -lLLVMX86Info -lLLVMX86AsmPrinter 
>> -lLLVMX86Utils -lLLVMJIT -lLLVMExecutionEngine -lLLVMCodeGen 
>> -lLLVMScalarOpts -lLLVMInstCombine -lLLVMTransformUtils -lLLVMipa 
>> -lLLVMAnalysis -lLLVMTarget -lLLVMMC -lLLVMObject -lLLVMBitReader -lLLVMCore 
>> -lLLVMSupport -lpthread -lffi -ledit -ltinfo -ldl -lm   
>> ../../../../src/gallium/winsys/sw/dri/libswdri.la 
>> ../../../../src/gallium/winsys/sw/xlib/libws_xlib.la -lX11 -lXext -lXfixes 
>> -ldrm   
>>> libtool: link: g++  -fPIC -DPIC -shared -nostdlib 
>>> /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/crti.o 
>>> /usr/lib/gcc/x86_64-linux-gnu/4.8/crtbeginS.o  -Wl,--whole-archive 
>>> ../../../../src/gallium/auxiliary/pipe-loader/.libs/libpipe_loader_client.a 
>>> ../../../../src/gallium/winsys/sw/null/.libs/libws_null.a 
>>> ../../../../src/gallium/state_trackers/clover/.libs/libclover.a 
>>> ../../../../src/gallium/auxiliary/.libs/libgallium.a 
>>> ../../../../src/gallium/winsys/sw/dri/.libs/libswdri.a 
>>> ../../../../src/gallium/winsys/sw/xlib/.libs/libws_xlib.a 
>>> -Wl,--no-whole-archive  -L/usr/lib/llvm-3.5/lib -lxcb-dri2 -lxcb 
>>> -lclangFrontendTool -lclangFrontend -lclangDriver -lclangSerialization 
>>> -lclangCodeGen -lclangParse -lclangSema -lclangAnalysis -lclangAST 
>>> -lclangEdit -lclangLex -lclangBasic -lLLVMR600CodeGen -lLLVMR600Desc 
>>> -lLLVMR600Info -lLLVMR600AsmPrinter -lLLVMOption -lLLVMIRReader 
>>> -lLLVMAsmParser -lLLVMInstrumentation -lLLVMLinker -lLLVMipo 
>>> -lLLVMVectorize -lLLVMMCJIT -lLLVMRuntimeDyld -lLL
V
> M
>> BitWriter -lLLVMX86Disassembler -lLLVMX86AsmParser -lLLVMX86CodeGen 
>> -lLLVMSelectionDAG -lLLVMAsmPrinter -lLLVMMCParser -lLLVMX86Desc 
>> -lLLVMX86Info -lLLVMX86AsmPrinter -lLLVMX86Utils -lLLVMJIT 
>> -lLLVMExecutionEngine -lLLVMCodeGen -lLLVMScalarOpts -lLLVMInstCombine 
>> -lLLVMTransformUtils -lLLVMipa -lLLVMAnalysis -lLLVMTarget -lLLVMMC 
>> -lLLVMObject -lLLVMBitReader -lLLVMCore -lLLVMSupport -lpthread -lffi -ledit 
>> -ltinfo -ldl -lX11 -lXext -lXfixes -ldrm -L/usr/lib/gcc/x86_64-linux-gnu/4.8 
>> -L/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu 
>> -L/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../lib -L/lib/x86_64-linux-gnu 
>> -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib 
>> -L/usr/lib/gcc/x86_64-linux-gnu/4.8/../../.. -lstdc++ -lm -lc -lgcc_s 
>> /usr/lib/gcc/x86_64-linux-gnu/4.8/crtendS.o 
>> /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/crtn.o  -O2 
>> -Wl,--version-script=../../../../../../src/gallium/targets/opencl/opencl.sym 
>> -Wl,--gc-sections -Wl,--no-undefined -Wl,-z -Wl,re
l
> ro
>>    -Wl,-soname -Wl,libMesaOpenCL.so.1 -o .libs/libMesaOpenCL.so.1.0.0
>>> /usr/lib/llvm-3.5/lib/libclangCodeGen.a(BackendUtil.o): In function 
>>> `addObjCARCOptPass(llvm::PassManagerBuilder const&, 
>>> llvm::legacy::PassManagerBase&)':
>>> (.text._ZL17addObjCARCOptPassRKN4llvm18PassManagerBuilderERNS_6legacy15PassManagerBaseE+0x21):
>>>  undefined reference to `llvm::createObjCARCOptPass()'
>>> /usr/lib/llvm-3.5/lib/libclangCodeGen.a(BackendUtil.o): In function 
>>> `addObjCARCAPElimPass(llvm::PassManagerBuilder const&, 
>>> llvm::legacy::PassManagerBase&)':
>>> (.text._ZL20addObjCARCAPElimPassRKN4llvm18PassManagerBuilderERNS_6legacy15PassManagerBaseE+0x21):
>>>  undefined reference to `llvm::createObjCARCAPElimPass()'
>>> /usr/lib/llvm-3.5/lib/libclangCodeGen.a(BackendUtil.o): In function 
>>> `addObjCARCExpandPass(llvm::PassManagerBuilder const&, 
>>> llvm::legacy::PassManagerBase&)':
>>> (.text._ZL20addObjCARCExpandPassRKN4llvm18PassManagerBuilderERNS_6legacy15PassManagerBaseE+0x21):
>>>  undefined reference to `llvm::createObjCARCExpandPass()'
>>> /usr/lib/llvm-3.5/lib/libclangCodeGen.a(BackendUtil.o): In function 
>>> `clang::EmitBackendOutput(clang::DiagnosticsEngine&, clang::CodeGenOptions 
>>> const&, clang::TargetOptions const&, clang::LangOptions const&, 
>>> llvm::StringRef, llvm::Module*, clang::BackendAction, llvm::raw_ostream*)':
>>> (.text._ZN5clang17EmitBackendOutputERNS_17DiagnosticsEngineERKNS_14CodeGenOptionsERKNS_13TargetOptionsERKNS_11LangOptionsEN4llvm9StringRefEPNSB_6ModuleENS_13BackendActionEPNSB_11raw_ostreamE+0x61b):
>>>  undefined reference to `llvm::createObjCARCContractPass()'
>>> collect2: error: ld returned 1 exit status
>>
>> I think the problem is with LLVM/Clang, since adding -lLLVMObjCARCOpts to the
>> OpenCL linker flags doesn't seem to help and the error message seems to
>> indicate, it's unresolved in libclangCodeGen.
>>
> There is a missing a link somewhere although I'm not sure if it's within mesa
> or llvm/clang. Can you drop the --enable-opencl and/or try another version of
> llvm/clang.  Ideally mesa will need to be updated, although I prefer to stay
> away from llvm for the time being.
> 
Hello Kai,

Did you manage to try any of the suggestions - was it a llvm/clang issue or
mesa ? Please open a bugreport if you're still having issues building the
opencl library.

-Emil

> -Emil
> 
>> This was a build of Git 4ccff1499c with your branch applied on top of it.
>>
>> Cheers,
>> Kai
>>
>>
>>
> 

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to