Hello fellow easybuilders,
I am working on creating a minimal toolchain set of modules for X11 and Qt for
GUI-based software in the foss-2016b toolchain. When trying to install
Mesa-12.0.2-GCC-5.4.0-2.26.eb (created by using Mesa-12.0.2-foss-2016b.eb) it
fails when building the libswrAVX2 since the LLVM library has been built on a
Nehalem machine which does not have support for AVX (see log at the end of the
email).
Clearly one solution would be to avoid building SWR as part of Mesa but I have
no idea of the implication of this choice since I am not very familiar with
this type of libraries.
Any suggestion?
Thanks!
PS: Here is the error log:
CXX rasterizer/jitter/libswrAVX2_la-blend_jit.lo
CXX rasterizer/jitter/libswrAVX2_la-builder.lo
CXX rasterizer/jitter/libswrAVX2_la-builder_misc.lo
CXX rasterizer/jitter/libswrAVX2_la-fetch_jit.lo
CXX rasterizer/jitter/libswrAVX2_la-JitManager.lo
CXX rasterizer/jitter/libswrAVX2_la-streamout_jit.lo
CXX rasterizer/memory/libswrAVX2_la-ClearTile.lo
CXX rasterizer/memory/libswrAVX2_la-LoadTile.lo
CXX rasterizer/memory/libswrAVX2_la-StoreTile.lo
rasterizer/core/threads.cpp: In function ‘void WorkOnFifoBE(SWR_CONTEXT*,
uint32_t, uint64_t&, TileSet&, uint32_t, uint32_t)’:
rasterizer/core/threads.cpp:467:26: warning: unused variable ‘numWorkItems’
[-Wunused-variable]
uint32_t numWorkItems = tile.getNumQueued();
^
CXX rasterizer/scripts/libswrAVX2_la-gen_knobs.lo
CXX rasterizer/jitter/libswrAVX2_la-builder_x86.lo
CXX rasterizer/jitter/libswrAVX2_la-builder_gen.lo
CXX swr_loader.lo
CXX rasterizer/common/libswrAVX_la-formats.lo
CXX rasterizer/common/libswrAVX_la-rdtsc_buckets.lo
rasterizer/jitter/builder_misc.cpp: In member function ‘llvm::Value*
Builder::PMAXSD(llvm::Value*, llvm::Value*)’:
rasterizer/jitter/builder_misc.cpp:862:77: error: ‘x86_sse41_pmaxsd’ is not a
member of ‘llvm::Intrinsic’
Function* pmaxsd = Intrinsic::getDeclaration(JM()->mpCurrentModule,
Intrinsic::x86_sse41_pmaxsd);
^
rasterizer/jitter/builder_misc.cpp: In member function ‘llvm::Value*
Builder::PMINSD(llvm::Value*, llvm::Value*)’:
rasterizer/jitter/builder_misc.cpp:891:77: error: ‘x86_sse41_pminsd’ is not a
member of ‘llvm::Intrinsic’
Function* pminsd = Intrinsic::getDeclaration(JM()->mpCurrentModule,
Intrinsic::x86_sse41_pminsd);
^
make[5]: *** [rasterizer/jitter/libswrAVX2_la-builder_misc.lo] Error 1
make[5]: *** Waiting for unfinished jobs....
rasterizer/jitter/builder_x86.cpp: In member function ‘llvm::Value*
Builder::VPMINSD(llvm::Value*, llvm::Value*)’:
rasterizer/jitter/builder_x86.cpp:85:71: error: ‘x86_avx2_pmins_d’ is not a
member of ‘llvm::Intrinsic’
Function *func = Intrinsic::getDeclaration(JM()->mpCurrentModule,
Intrinsic::x86_avx2_pmins_d);
^
rasterizer/jitter/builder_x86.cpp: In member function ‘llvm::Value*
Builder::VPMAXSD(llvm::Value*, llvm::Value*)’:
rasterizer/jitter/builder_x86.cpp:92:71: error: ‘x86_avx2_pmaxs_d’ is not a
member of ‘llvm::Intrinsic’
Function *func = Intrinsic::getDeclaration(JM()->mpCurrentModule,
Intrinsic::x86_avx2_pmaxs_d);
^
rasterizer/jitter/builder_x86.cpp: In member function ‘llvm::Value*
Builder::VPMOVSXBD(llvm::Value*)’:
rasterizer/jitter/builder_x86.cpp:148:71: error: ‘x86_avx2_pmovsxbd’ is not a
member of ‘llvm::Intrinsic’
Function *func = Intrinsic::getDeclaration(JM()->mpCurrentModule,
Intrinsic::x86_avx2_pmovsxbd);
^
rasterizer/jitter/builder_x86.cpp: In member function ‘llvm::Value*
Builder::VPMOVSXWD(llvm::Value*)’:
rasterizer/jitter/builder_x86.cpp:155:71: error: ‘x86_avx2_pmovsxwd’ is not a
member of ‘llvm::Intrinsic’
Function *func = Intrinsic::getDeclaration(JM()->mpCurrentModule,
Intrinsic::x86_avx2_pmovsxwd);
^
make[5]: *** [rasterizer/jitter/libswrAVX2_la-builder_x86.lo] Error 1
make[5]: Leaving directory
`/tmp/Mesa/12.0.2/GCC-5.4.0-2.26/mesa-12.0.2/src/gallium/drivers/swr'
make[4]: *** [all] Error 2
make[4]: Leaving directory
`/tmp/Mesa/12.0.2/GCC-5.4.0-2.26/mesa-12.0.2/src/gallium/drivers/swr'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory
`/tmp/Mesa/12.0.2/GCC-5.4.0-2.26/mesa-12.0.2/src/gallium'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/tmp/Mesa/12.0.2/GCC-5.4.0-2.26/mesa-12.0.2/src'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/tmp/Mesa/12.0.2/GCC-5.4.0-2.26/mesa-12.0.2/src'
make: *** [all-recursive] Error 1
--
Davide Vanzo, PhD
Application Developer
Adjunct Assistant Professor of Chemical and Biomolecular Engineering
Advanced Computing Center for Research and Education (ACCRE)
Vanderbilt University - Hill Center 201
(615)-875-9137
www.accre.vanderbilt.edu