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