Skip to content

Post‐release updates for spack‐stack‐1.8.0

Stephen Herbener edited this page Nov 19, 2024 · 4 revisions

Introduction

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.

Environment updates

Updates for pre-configured sites

Package updates

Known issues

  1. 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 running ecbuild 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 get tar to run properly, and getting CMake to do this during the ecbuild flow turns out to be difficult to do.

    There exists a manual workaround for this tar issue, which is to manually run tar in between two successive runs of ecbuild. 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
    ...