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

Reply via email to