-
Notifications
You must be signed in to change notification settings - Fork 48
Post‐release updates for spack‐stack‐1.8.0
This page provides updates for the spack-stack-1.8.0 release that are not included in the release documentation (https://spack-stack.readthedocs.io/en/1.8.0). These updates arise from the fact that additional packages get installed over the lifetime of a release (usually one year, sometimes longer), HPC systems are updated, issues are identified etc.
-
MSU Orion
The Intel based unified environment has an issue with the LD_LIBRARY_PATH setting that causes the system
tar
(/usr/bin/tar
) to fail with the following error message.(venv-intel) orion-login-4[131] herbener$ tar xzfv fix_REL-3.1.1.2.tgz tar: Relink `/apps/spack-managed/gcc-11.3.1/intel-oneapi-compilers-2023.1.0- sb753366rvywq75zeg4ml5k5c72xgj72/compiler/2023.1.0/linux/compiler/lib/intel64_lin/libimf.so' with `/usr/lib64/libm.so.6' for IFUNC symbol `sincosf' Segmentation fault (core dumped)
This call to
tar
is what the CRTM CMake configuration attempts to do (and fails) when runningecbuild
on jedi-bundle. The issue is that the LD_LIBRARY_PATH places the spack-stack built libcrypt shared library in front of the system libcrypt shared library. The spack-stack libcrypt library has different dependencies compared to the systme libcrypt libary and the subsequent loading of depndencies gets fouled up. Tthe bottom line is that LD_LIBRARY_PATH needs to be modified to gettar
to run properly, and getting CMake to do this during theecbuild
flow turns out to be difficult to do.There exists a manual workaround for this
tar
issue, which is to manually runtar
in between two successive runs ofecbuild
. Here is an example:cd <build-directory> # this run will crash with the above error ecbuild -DMPIEXEC_EXECUTABLE=$(which srun) -DMPIEXEC_NUMPROC_FLAG="-n" <source-directory> # run the tar command manually cd <build-directory>/test_data/3.1.1 LD_LIBRARY_PATH="" tar xzvf fix_REL-3.1.1.2.tgz # re-run ecbuild, this run will complete cd <build-directory> ecbuild -DMPIEXEC_EXECUTABLE=$(which srun) -DMPIEXEC_NUMPROC_FLAG="-n" <source-directory> # continue with jedi-bundle build process make -j8 ...