pal1000 / mesa-dist-win

Pre-built Mesa3D drivers for Windows
MIT License
864 stars 78 forks source link

Build with meson #125

Closed HelloWorld886 closed 1 year ago

HelloWorld886 commented 1 year ago

Mesa has obsoleted sons. How to use meson to build a mesa in msys2. I tried to build, but get some error.

HelloWorld886 commented 1 year ago
FAILED: src/gallium/targets/wgl/libgallium_wgl.dll
"g++"  -o src/gallium/targets/wgl/libgallium_wgl.dll src/gallium/targets/wgl/libgallium_wgl.dll.p/wg
l.c.obj "-Wl,--allow-shlib-undefined" "-shared" "src/gallium/targets/wgl/gallium_wgl.def" "-Wl,--sta
rt-group" "-Wl,--out-implib=src/gallium/targets/wgl/libgallium_wgl.dll.a" "-Wl,--whole-archive" "src
/gallium/frontends/wgl/libwgl.a" "-Wl,--no-whole-archive" "-Wl,--nxcompat" "-Wl,--dynamicbase" "-sta
tic-libgcc" "-static-libstdc++" "src/gallium/auxiliary/libgallium.a" "src/compiler/nir/libnir.a" "sr
c/compiler/libcompiler.a" "src/util/libmesa_util.a" "src/util/format/libmesa_format.a" "src/util/lib
mesa_util_sse41.a" "src/c11/impl/libmesa_util_c11.a" "src/compiler/glsl/libglsl.a" "src/compiler/gls
l/glcpp/libglcpp.a" "src/mesa/libmesa.a" "src/mesa/libmesa_sse41.a" "src/gallium/winsys/sw/gdi/libws
gdi.a" "src/mapi/glapi/libglapi_bridge.a" "src/mapi/shared-glapi/libglapi.dll.a" "src/gallium/auxili
ary/libgalliumvl.a" "src/gallium/drivers/llvmpipe/libllvmpipe.a" "src/gallium/drivers/softpipe/libso
ftpipe.a" "src/util/libxmlconfig.a" "-lws2_32" "D:/msys64/mingw64/lib/libz.dll.a" "-lm" "-lsynchroni
zation" "-lpthread" "D:/msys64/mingw64/lib/libLLVMAggressiveInstCombine.a" "D:/msys64/mingw64/lib/li
bLLVMAnalysis.a" "D:/msys64/mingw64/lib/libLLVMAsmParser.a" "D:/msys64/mingw64/lib/libLLVMAsmPrinter
.a" "D:/msys64/mingw64/lib/libLLVMBinaryFormat.a" "D:/msys64/mingw64/lib/libLLVMBitReader.a" "D:/msy
s64/mingw64/lib/libLLVMBitWriter.a" "D:/msys64/mingw64/lib/libLLVMBitstreamReader.a" "D:/msys64/ming
w64/lib/libLLVMCFGuard.a" "D:/msys64/mingw64/lib/libLLVMCodeGen.a" "D:/msys64/mingw64/lib/libLLVMCor
e.a" "D:/msys64/mingw64/lib/libLLVMCoroutines.a" "D:/msys64/mingw64/lib/libLLVMDebugInfoCodeView.a"
"D:/msys64/mingw64/lib/libLLVMDebugInfoDWARF.a" "D:/msys64/mingw64/lib/libLLVMDebugInfoMSF.a" "D:/ms
ys64/mingw64/lib/libLLVMDebugInfoPDB.a" "D:/msys64/mingw64/lib/libLLVMDemangle.a" "D:/msys64/mingw64
/lib/libLLVMExecutionEngine.a" "D:/msys64/mingw64/lib/libLLVMFrontendOpenMP.a" "D:/msys64/mingw64/li
b/libLLVMGlobalISel.a" "D:/msys64/mingw64/lib/libLLVMIRReader.a" "D:/msys64/mingw64/lib/libLLVMInstC
ombine.a" "D:/msys64/mingw64/lib/libLLVMInstrumentation.a" "D:/msys64/mingw64/lib/libLLVMLinker.a" "
D:/msys64/mingw64/lib/libLLVMMC.a" "D:/msys64/mingw64/lib/libLLVMMCDisassembler.a" "D:/msys64/mingw6
4/lib/libLLVMMCJIT.a" "D:/msys64/mingw64/lib/libLLVMMCParser.a" "D:/msys64/mingw64/lib/libLLVMObject
.a" "D:/msys64/mingw64/lib/libLLVMOrcShared.a" "D:/msys64/mingw64/lib/libLLVMOrcTargetProcess.a" "D:
/msys64/mingw64/lib/libLLVMProfileData.a" "D:/msys64/mingw64/lib/libLLVMRemarks.a" "D:/msys64/mingw6
4/lib/libLLVMRuntimeDyld.a" "D:/msys64/mingw64/lib/libLLVMScalarOpts.a" "D:/msys64/mingw64/lib/libLL
VMSelectionDAG.a" "D:/msys64/mingw64/lib/libLLVMSupport.a" "D:/msys64/mingw64/lib/libLLVMSymbolize.a
" "D:/msys64/mingw64/lib/libLLVMTarget.a" "D:/msys64/mingw64/lib/libLLVMTextAPI.a" "D:/msys64/mingw6
4/lib/libLLVMTransformUtils.a" "D:/msys64/mingw64/lib/libLLVMVectorize.a" "D:/msys64/mingw64/lib/lib
LLVMX86AsmParser.a" "D:/msys64/mingw64/lib/libLLVMX86CodeGen.a" "D:/msys64/mingw64/lib/libLLVMX86Des
c.a" "D:/msys64/mingw64/lib/libLLVMX86Disassembler.a" "D:/msys64/mingw64/lib/libLLVMX86Info.a" "D:/m
sys64/mingw64/lib/libLLVMipo.a" "D:/msys64/mingw64/lib/libzstd.dll.a" "-ladvapi32" "-lole32" "-lpsap
i" "-lshell32" "-luuid" "-pthread" "-ladvapi32" "-lole32" "-lpsapi" "-lshell32" "-luuid" "-lws2_32"
"-lsynchronization" "-lsynchronization" "-lsynchronization" "-lsynchronization" "-lsynchronization"
"-lsynchronization" "-lsynchronization" "-ladvapi32" "-lole32" "-lpsapi" "-lshell32" "-luuid" "-lsyn
chronization" "-lsynchronization" "-lregex" "-lsynchronization" "-lregex" "-lkernel32" "-luser32" "-
lgdi32" "-lwinspool" "-loleaut32" "-lcomdlg32" "-Wl,--end-group"
src/gallium/auxiliary/libgallium.a.p/gallivm_lp_bld_misc.cpp.obj: duplicate section `.rdata$_ZTSN4ll
vm17JITSymbolResolverE[_ZTSN4llvm17JITSymbolResolverE]' has different size
src/gallium/auxiliary/libgallium.a.p/gallivm_lp_bld_misc.cpp.obj: duplicate section `.rdata$_ZTSN4ll
vm23LegacyJITSymbolResolverE[_ZTSN4llvm23LegacyJITSymbolResolverE]' has different size
src/gallium/auxiliary/libgallium.a.p/gallivm_lp_bld_misc.cpp.obj: duplicate section `.rdata$_ZTIN4ll
vm23LegacyJITSymbolResolverE[_ZTIN4llvm23LegacyJITSymbolResolverE]' has different size
src/gallium/auxiliary/libgallium.a.p/gallivm_lp_bld_misc.cpp.obj: duplicate section `.rdata$_ZTSN4ll
vm11RuntimeDyld13MemoryManagerE[_ZTSN4llvm11RuntimeDyld13MemoryManagerE]' has different size
D:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/12.2.0/../../../../lib\libstdc++.a(eh_alloc.o):
duplicate section `.rdata$_ZTSSt9exception[_ZTSSt9exception]' has different size
D:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/12.2.0/../../../../lib\libstdc++.a(eh_exception.
o): duplicate section `.rdata$_ZTSSt9exception[_ZTSSt9exception]' has different size
D:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/12.2.0/../../../../lib\libstdc++.a(eh_personalit
y.o): duplicate section `.rdata$_ZTSSt9exception[_ZTSSt9exception]' has different size
D:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/12.2.0/../../../../lib\libstdc++.a(guard.o): dup
licate section `.rdata$_ZTSSt9exception[_ZTSSt9exception]' has different size
D:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/12.2.0/../../../../lib\libstdc++.a(new_op.o): du
plicate section `.rdata$_ZTSSt9exception[_ZTSSt9exception]' has different size
D:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/12.2.0/../../../../lib\libstdc++.a(vterminate.o)
: duplicate section `.rdata$_ZTSSt9exception[_ZTSSt9exception]' has different size
D:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/12.2.0/../../../../lib\libstdc++.a(locale.o): du
plicate section `.rdata$_ZTSSt9exception[_ZTSSt9exception]' has different size
D:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/12.2.0/../../../../lib\libstdc++.a(locale_init.o
): duplicate section `.rdata$_ZTSSt9exception[_ZTSSt9exception]' has different size
D:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/12.2.0/../../../../lib\libstdc++.a(functexcept.o
): duplicate section `.rdata$_ZTSSt9exception[_ZTSSt9exception]' has different size
D:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/12.2.0/../../../../lib\libstdc++.a(functexcept.o
): duplicate section `.rdata$_ZTISt11logic_error[_ZTISt11logic_error]' has different size
D:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/12.2.0/../../../../lib\libstdc++.a(functional.o)
: duplicate section `.rdata$_ZTSSt9exception[_ZTSSt9exception]' has different size
D:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/12.2.0/../../../../lib\libstdc++.a(future.o): du
plicate section `.rdata$_ZTSSt9exception[_ZTSSt9exception]' has different size
D:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/12.2.0/../../../../lib\libstdc++.a(future.o): du
plicate section `.rdata$_ZTISt11logic_error[_ZTISt11logic_error]' has different size
D:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/12.2.0/../../../../lib\libstdc++.a(future.o): du
plicate section `.rdata$_ZTSNSt3_V214error_categoryE[_ZTSNSt3_V214error_categoryE]' has different si
ze
D:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/12.2.0/../../../../lib\libstdc++.a(future.o): du
plicate section `.rdata$_ZTSSt12future_error[_ZTSSt12future_error]' has different size
D:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/12.2.0/../../../../lib\libstdc++.a(future.o): du
plicate section `.rdata$_ZTISt12future_error[_ZTISt12future_error]' has different size
D:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/12.2.0/../../../../lib\libstdc++.a(future.o): du
plicate section `.rdata$_ZTSNSt13__future_base12_Result_baseE[_ZTSNSt13__future_base12_Result_baseE]
' has different size
D:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/12.2.0/../../../../lib\libstdc++.a(system_error.
o): duplicate section `.rdata$_ZTSSt9exception[_ZTSSt9exception]' has different size
D:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/12.2.0/../../../../lib\libstdc++.a(system_error.
o): duplicate section `.rdata$_ZTSNSt3_V214error_categoryE[_ZTSNSt3_V214error_categoryE]' has differ
ent size
D:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/12.2.0/../../../../lib\libstdc++.a(bad_alloc.o):
 duplicate section `.rdata$_ZTSSt9exception[_ZTSSt9exception]' has different size
D:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/12.2.0/../../../../lib\libstdc++.a(bad_array_new
.o): duplicate section `.rdata$_ZTSSt9exception[_ZTSSt9exception]' has different size
D:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/12.2.0/../../../../lib\libstdc++.a(bad_cast.o):
duplicate section `.rdata$_ZTSSt9exception[_ZTSSt9exception]' has different size
D:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/12.2.0/../../../../lib\libstdc++.a(bad_typeid.o)
: duplicate section `.rdata$_ZTSSt9exception[_ZTSSt9exception]' has different size
D:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/12.2.0/../../../../lib\libstdc++.a(eh_aux_runtim
e.o): duplicate section `.rdata$_ZTSSt9exception[_ZTSSt9exception]' has different size
D:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/12.2.0/../../../../lib\libstdc++.a(stdexcept.o):
 duplicate section `.rdata$_ZTSSt9exception[_ZTSSt9exception]' has different size
D:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/12.2.0/../../../../lib\libstdc++.a(stdexcept.o):
 duplicate section `.rdata$_ZTISt11logic_error[_ZTISt11logic_error]' has different size
D:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/12.2.0/../../../../lib\libstdc++.a(cxx11-ios_fai
lure.o): duplicate section `.rdata$_ZTSSt9exception[_ZTSSt9exception]' has different size
D:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/12.2.0/../../../../lib\libstdc++.a(cxx11-ios_fai
lure.o): duplicate section `.rdata$_ZTSNSt3_V214error_categoryE[_ZTSNSt3_V214error_categoryE]' has d
ifferent size
D:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/12.2.0/../../../../lib\libstdc++.a(ios_failure.o
): duplicate section `.rdata$_ZTSSt9exception[_ZTSSt9exception]' has different size
D:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/12.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe
: src/gallium/auxiliary/libgallium.a.p/gallivm_lp_bld_init.c.obj: in function `gallivm_compile_modul
e':
E:\HelloEngine\Launch\Windows\External\sources\m\mesa-22.3.0\build-gcc/../src/gallium/auxiliary/gall
ivm/lp_bld_init.c:602: undefined reference to `LLVMCreatePassBuilderOptions'
D:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/12.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe
: E:\HelloEngine\Launch\Windows\External\sources\m\mesa-22.3.0\build-gcc/../src/gallium/auxiliary/ga
llivm/lp_bld_init.c:603: undefined reference to `LLVMRunPasses'
D:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/12.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe
: E:\HelloEngine\Launch\Windows\External\sources\m\mesa-22.3.0\build-gcc/../src/gallium/auxiliary/ga
llivm/lp_bld_init.c:610: undefined reference to `LLVMRunPasses'
D:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/12.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe
: E:\HelloEngine\Launch\Windows\External\sources\m\mesa-22.3.0\build-gcc/../src/gallium/auxiliary/ga
llivm/lp_bld_init.c:611: undefined reference to `LLVMDisposePassBuilderOptions'
collect2.exe: error: ld returned 1 exit status
ninja: build stopped: subcommand failed.
pal1000 commented 1 year ago

Did you use my build script from this repo? If you did you should know that llvmpipe fails to statically link LLVM 15 when built without Microsoft CLC. I reported it but nobody bothered to fix it.

HelloWorld886 commented 1 year ago

Can rolling back LLVM solve the problem?

pal1000 commented 1 year ago

Yes, it would if you would go back to LLVM 14.

HelloWorld886 commented 1 year ago

Thanks. It has been compiled successfully.