-
Notifications
You must be signed in to change notification settings - Fork 54
spack-stack develop doesn't build on Nautilus with Intel Classic since update to [email protected] #1437
Description
Describe the bug
The builds of downstream packages of [email protected], for example py-h5py, fail with an error about Intel MKL:
libmkl_def.so.2: undefined symbol: mkl_sparse_optimize_bsr_trsm_i8
I researched a bit, and it seems that this is because the new meson build for py-numpy (introduced in version 26, which is what we need for other Python dependencies) fails to add the mkl_core library and link to it, too. According to this post (https://www.intel.com/content/www/us/en/developer/articles/release-notes/intel-math-kernel-library-release-notes-and-new-features.html), it could also be that one would have to link to mkl_rt instead of the individual libraries.
Be it as it may, the impact is limited to a few systems that use the classic Intel compilers and use Intel MKL instead of Openblas. All NOAA RDHPCS systems use Openblas, some of the JCSDA-maintained systems probably as well.
I am not going to spend time to fix the py-numpy%intel +intel-oneapi-mkl builds. We already added a conflict for new py-scipy versions with %intel, and we'll likely remove support for the classic Intel compilers entirely in spack-stack-1.10.0 (that is, not the next release, but the one afterwards).
Instead, I will do one of the two:
- Remove the Intel Classic compiler option on Nautilus and on any other NRL system that has the same issue (we will run NEPTUNE in operations with
icx,icpx,ifortat the beginning; I confirmed that the mixed%oneapicompilers do not have this problem on Nautilus). - Update the
neptune-devtemplate such that with%intel, we only build a limited stack without Python dependencies.
Since the second option has some serious limitations and probably won't work for the unified environment, I am leaning towards the first option.
To Reproduce
Build neptune standalone environment, unified environment, or any other environment that uses py-numpy and dependent packages (py-h5py, ...) with %intel on Nautilus (this is [email protected]).
Expected behavior
Obviously, the packages should build without the MKL error shown above
System:
DOD HPCMP Nautilus with [email protected] and spack-stack develop as of mid December, 2024 (i.e. after the update to [email protected]).
Additional context
n/a