[Mesa-dev] Building Mesa and LLVM cross compiling Linux to Windows issue

Roland Scheidegger sroland at vmware.com
Thu Mar 17 18:42:19 UTC 2016


I suspect you simply ran into an issue with old mesa and new llvm.
Unfortunately some usage of the c++ abi of llvm is unavoidable, and the
abi is unstable, thus breaking quite often. And we do not generally
backport such fixes to older mesa releases (if only mostly because
nobodoy would actually test them).
So you have 3 choices:
a) use newer mesa version
b) use older llvm version
c) backport whatever is necessary on your own.
If you really want to try c), you might actually be lucky, since it only
was a link error, it might not be an abi issue - it is possible picking
a5256012ef8ea31bc8025fc72193a9772372c9a1 from mesa git master (which
adds LLVMInstrumentation to the libs in scons/llvm.py) will do the
trick. But don't quote me on that, the other errors might be something
else entirely (c++11 abi issue? cross-compile issue?) I'm definitely no
expert on this.

Roland


Am 17.03.2016 um 10:46 schrieb Jason Anderssen:
> Hi all,
> 
> I have been trying to compile LLVM 3.8 and Mesa 11.0.7, and I have the
> final last hurdle I think to get past
> 
> scons: Building targets ...
> 
>   Linking build/windows-x86_64/gallium/targets/libgl-gdi/opengl32.dll ...
> 
> /home/janderssen/mesa_win64/llvm-3.8.build/lib/libLLVMCodeGen.a(Passes.o):Passes.cpp:(.text+0x2239):
> undefined reference to `llvm::createSafeStackPass(llvm::TargetMachine
> const*)'
> 
> /home/janderssen/mesa_win64/llvm-3.8.build/lib/libLLVMSupport.a(Path.o):Path.cpp:(.text+0x8e5):
> undefined reference to `__imp_CoTaskMemFree'
> 
> /home/janderssen/mesa_win64/llvm-3.8.build/lib/libLLVMSupport.a(Path.o):Path.cpp:(.rdata$.refptr.FOLDERID_Profile[.refptr.FOLDERID_Profile]+0x0):
> undefined reference to `FOLDERID_Profile'
> 
> /home/janderssen/mesa_win64/llvm-3.8.build/lib/libLLVMSupport.a(Path.o):Path.cpp:(.rdata$.refptr.FOLDERID_LocalAppData[.refptr.FOLDERID_LocalAppData]+0x0):
> undefined reference to `FOLDERID_LocalAppData'
> 
> collect2: error: ld returned 1 exit status
> 
> scons: *** [build/windows-x86_64/gallium/targets/libgl-gdi/opengl32.dll]
> Error 1
> 
> scons: building terminated because of errors.
> 
> 
> I Managed to get this far, and would like to finalise it.
> 
> LLVM Version 3.8
> 
> Mesa 11.0.7
> 
> 
> LVVM Configure line :
> 
> ../*configure* -C --prefix=$HOME/mesa_win64/llvm-3.8.build
> --host=x86_64-w64-mingw32 --enable-optimized --disable-assertions
> --disable-pthreads --enable-targets=x86_64 --enable-bindings=none
> --disable-libffi --with-c-include-dirs=/usr/x86_64-w64-mingw32
> --with-gcc-toolchain=/usr/x86_64-w64-mingw32
> --with-default-sysroot=/usr/x86_64-w64-mingw32
> 
> 
> Mesa Compile line :
> 
> LDFLAGS="-static -s" CXXFLAGS="-std=c++11" scons build=release
> platform=windows toolchain=crossmingw machine=x86_64 libgl-gdi
> 
> 
> Any ideas of what I am doing wrong ?
> 
> 
> Cheers and thanks in advance for your help.
> 
>


More information about the mesa-dev mailing list