software-layer
software-layer copied to clipboard
libfabric/1.12.1-GCCcore-10.3.0 fails to build for x86_64/generic
I ran into the following problem when building libfabric-1.12.1-GCCcore-10.3.0.eb (in the 2021.12 pilot) for the x86_64/generic target:
In file included from /cvmfs/pilot.eessi-hpc.org/versions/2021.12/software/linux/x86_64/generic/software/GCCcore/10.3.0/lib/gcc/x86_64-pc-linux-gnu/10.3.0/include/immintrin.h:51,
from prov/psm3/psm3/opa/opa_dwordcpy-x86_64.c:57:
/cvmfs/pilot.eessi-hpc.org/versions/2021.12/software/linux/x86_64/generic/software/GCCcore/10.3.0/lib/gcc/x86_64-pc-linux-gnu/10.3.0/include/avxintrin.h:920:1: error: inlining failed in call to always_inline _mm256_loadu_si256: target specific option mismatch
920 | _mm256_loadu_si256 (__m256i_u const *__P)
| ^~~~~~~~~~~~~~~~~~
prov/psm3/psm3/opa/opa_dwordcpy-x86_64.c:212:19: note: called from here
212 | __m256i tmp0 = _mm256_loadu_si256(sp);
| ^~~~~~~~~~~~~~~~~~~~~~
make[1]: *** [Makefile:13048: prov/psm3/psm3/opa/libopa_la-opa_dwordcpy-x86_64.lo] Error 1
make[1]: *** Waiting for unfinished jobs....
This is a known issue with libfabric, see also https://github.com/easybuilders/easybuild-easyconfigs/pull/13871.
A viable workaround here could be to add --disable-psm3 to configopts when libfabric is build with --optarch=GENERIC on x86_64 in our EasyBuild hooks, or to implement a custom easyblock for libfabric (which would be a more general fix that could be done in EasyBuild).
A workaround for this is implemented in #160 through our EasyBuild hooks