From d7c69cd673e0d53b4d2750de229337cd128f6624 Mon Sep 17 00:00:00 2001 From: Dom Heinzeller Date: Mon, 6 Apr 2026 15:56:49 -0600 Subject: [PATCH 01/13] Add gcc@14.2.1 on Bounty --- .../sites/tier2/bounty/README_gcc-14.2.1.yaml | 21 +++++++++++++++++++ .../tier2/bounty/packages_gcc-14.2.1.yaml | 18 ++++++++++++++++ util/nrl/batch_install.sh | 2 +- 3 files changed, 40 insertions(+), 1 deletion(-) create mode 100644 configs/sites/tier2/bounty/README_gcc-14.2.1.yaml create mode 100644 configs/sites/tier2/bounty/packages_gcc-14.2.1.yaml diff --git a/configs/sites/tier2/bounty/README_gcc-14.2.1.yaml b/configs/sites/tier2/bounty/README_gcc-14.2.1.yaml new file mode 100644 index 000000000..1c8ce329a --- /dev/null +++ b/configs/sites/tier2/bounty/README_gcc-14.2.1.yaml @@ -0,0 +1,21 @@ +WSL 2 Alma Linux 9 installation notes for GCC 14 compiler + +yum install \ +gdb \ +gcc-toolset-14-runtime \ +gcc-toolset-14-dwz \ +gcc-toolset-14 \ +gcc-toolset-14-gcc \ +gcc-toolset-14-libquadmath-devel \ +gcc-toolset-14-libstdc++-devel \ +gcc-toolset-14-annobin-docs \ +gcc-toolset-14-annobin-plugin-gcc \ +gcc-toolset-14-gcc-c++ \ +gcc-toolset-14-gcc-gfortran \ +gcc-toolset-14-libtsan-devel \ +gcc-toolset-14-libasan-devel \ +gcc-toolset-14-libubsan-devel \ +gcc-toolset-14-liblsan-devel \ +gcc-toolset-14-binutils-gold \ +gcc-toolset-14-binutils \ +gcc-toolset-14-gcc-plugin-devel diff --git a/configs/sites/tier2/bounty/packages_gcc-14.2.1.yaml b/configs/sites/tier2/bounty/packages_gcc-14.2.1.yaml new file mode 100644 index 000000000..a6655fd9b --- /dev/null +++ b/configs/sites/tier2/bounty/packages_gcc-14.2.1.yaml @@ -0,0 +1,18 @@ +packages: + all: + require: + - any_of: ['%gcc@=14.2.1'] + when: '%gcc' + mpi: + require: + - "openmpi@=5.0.8" + gcc: + buildable: False + externals: + - spec: gcc@14.2.1 languages:='c,c++,fortran' + prefix: /opt/rh/gcc-toolset-14/root/usr + extra_attributes: + compilers: + c: /opt/rh/gcc-toolset-14/root/usr/bin/gcc + cxx: /opt/rh/gcc-toolset-14/root/usr/bin/g++ + fortran: /opt/rh/gcc-toolset-14/root/usr/bin/gfortran diff --git a/util/nrl/batch_install.sh b/util/nrl/batch_install.sh index d47b85d26..d04c3333d 100755 --- a/util/nrl/batch_install.sh +++ b/util/nrl/batch_install.sh @@ -176,7 +176,7 @@ case ${SPACK_STACK_BATCH_HOST} in SPACK_STACK_CARGO_MIRROR="/home/dom/prod/spack-cargo-mirror" ;; bounty) - SPACK_STACK_BATCH_COMPILERS=("oneapi@=2025.3.0" "gcc@=13.3.1" "clang@=22.1.0") + SPACK_STACK_BATCH_COMPILERS=("oneapi@=2025.3.0" "gcc@=14.2.1" "gcc@=13.3.1" "clang@=22.1.0") SPACK_STACK_BATCH_TEMPLATES=("neptune-dev" "neptune-dev-llvm" "unified-dev" "cylc-dev") SPACK_STACK_MODULE_CHOICE="tcl" SPACK_STACK_BOOTSTRAP_MIRROR="/home/dom/prod/spack-bootstrap-mirror" From 7608096d8956caed296991a71f80f9745f59c445 Mon Sep 17 00:00:00 2001 From: Dom Heinzeller Date: Fri, 10 Apr 2026 09:10:37 -0600 Subject: [PATCH 02/13] Update submodule pointer for repos/builtin --- repos/builtin | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/repos/builtin b/repos/builtin index e2e4f2d6e..c91028b6f 160000 --- a/repos/builtin +++ b/repos/builtin @@ -1 +1 @@ -Subproject commit e2e4f2d6ea11685a3aec5dc725c28b6d188dc8b1 +Subproject commit c91028b6f955f1676718c293168beb9b4c727333 From c864f9f5eb6f62ee44857664b1149fee8d702fdc Mon Sep 17 00:00:00 2001 From: Dom Heinzeller Date: Tue, 14 Apr 2026 20:41:33 -0600 Subject: [PATCH 03/13] Update .gitmodules and submodule pointer for repos/builtin for code review and testing --- .gitmodules | 4 +++- repos/builtin | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/.gitmodules b/.gitmodules index 2f6cb0566..bfb5a571d 100644 --- a/.gitmodules +++ b/.gitmodules @@ -4,5 +4,7 @@ branch = spack-stack-dev [submodule "repos/builtin"] path = repos/builtin + #url = https://github.com/jcsda/spack-packages + #branch = spack-stack-dev url = https://github.com/jcsda/spack-packages - branch = spack-stack-dev + branch = bugfix/py_protobuf_gcc14 \ No newline at end of file diff --git a/repos/builtin b/repos/builtin index c91028b6f..440f44599 160000 --- a/repos/builtin +++ b/repos/builtin @@ -1 +1 @@ -Subproject commit c91028b6f955f1676718c293168beb9b4c727333 +Subproject commit 440f44599676b467a586e4e856b38bd8fd7032b2 From b5681ad7cd4f00cbdd0f335872d63b25c74e9aa7 Mon Sep 17 00:00:00 2001 From: Dom Heinzeller Date: Thu, 16 Apr 2026 08:54:04 -0600 Subject: [PATCH 04/13] Revert .gitmodules and update submodule pointer for repos/builtin --- .gitmodules | 4 +--- repos/builtin | 2 +- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/.gitmodules b/.gitmodules index bfb5a571d..2f6cb0566 100644 --- a/.gitmodules +++ b/.gitmodules @@ -4,7 +4,5 @@ branch = spack-stack-dev [submodule "repos/builtin"] path = repos/builtin - #url = https://github.com/jcsda/spack-packages - #branch = spack-stack-dev url = https://github.com/jcsda/spack-packages - branch = bugfix/py_protobuf_gcc14 \ No newline at end of file + branch = spack-stack-dev diff --git a/repos/builtin b/repos/builtin index 440f44599..d04c20752 160000 --- a/repos/builtin +++ b/repos/builtin @@ -1 +1 @@ -Subproject commit 440f44599676b467a586e4e856b38bd8fd7032b2 +Subproject commit d04c2075209f4080864183c60d753bc1b2b96391 From fa26ecc830981de299080619ce2fae88cc628750 Mon Sep 17 00:00:00 2001 From: Dom Heinzeller Date: Fri, 17 Apr 2026 11:13:13 +0000 Subject: [PATCH 05/13] Add configs/sites/tier1/blueback/packages_gcc-14.3.0.yaml --- .../tier1/blueback/packages_gcc-14.3.0.yaml | 39 +++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 configs/sites/tier1/blueback/packages_gcc-14.3.0.yaml diff --git a/configs/sites/tier1/blueback/packages_gcc-14.3.0.yaml b/configs/sites/tier1/blueback/packages_gcc-14.3.0.yaml new file mode 100644 index 000000000..76c642d1f --- /dev/null +++ b/configs/sites/tier1/blueback/packages_gcc-14.3.0.yaml @@ -0,0 +1,39 @@ +packages: + all: + require: + - any_of: ['%gcc@=14.3.0'] + when: '%gcc' + mpi: + buildable: false + require: + - cray-mpich@8.1.32 + gcc: + buildable: false + externals: + - spec: gcc@14.3.0 languages:='c,c++,fortran' + prefix: /usr + modules: + - PrgEnv-gnu/8.6.0 + - gcc-native/14.2 + extra_attributes: + compilers: + c: /opt/cray/pe/gcc-native/14/bin/gcc + cxx: /opt/cray/pe/gcc-native/14/bin/g++ + fortran: /opt/cray/pe/gcc-native/14/bin/gfortran + environment: + set: + CONFIG_SITE: '' + PE_GCC_EXTERNAL: native + cray-mpich: + buildable: false + externals: + - spec: cray-mpich@8.1.32 + prefix: /opt/cray/pe/mpich/8.1.32/ofi/GNU/12.3 + modules: + - libfabric/1.22.0 + - craype-network-ofi + - cray-mpich/8.1.32 + extra_attributes: + environment: + prepend_path: + CMAKE_PREFIX_PATH: /p/app/projects/NEPTUNE/spack-stack/cmake-findmpi From 3a4edc08b2c4044b154f01e52607882bcd111974 Mon Sep 17 00:00:00 2001 From: Dom Heinzeller Date: Mon, 27 Apr 2026 13:53:34 +0000 Subject: [PATCH 06/13] Fix bug in gcc@14 config for Blueback in util/nrl/batch_install.sh; reduce number of concurrent package builds from 10 to 4 --- util/nrl/batch_install.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/util/nrl/batch_install.sh b/util/nrl/batch_install.sh index d04c3333d..73990dfaf 100755 --- a/util/nrl/batch_install.sh +++ b/util/nrl/batch_install.sh @@ -141,7 +141,7 @@ case ${SPACK_STACK_BATCH_HOST} in SPACK_STACK_CARGO_MIRROR="/neptune_diagnostics/spack-stack/cargo-mirror" ;; blueback) - SPACK_STACK_BATCH_COMPILERS=("oneapi@=2025.0.4" "gcc@=13.3.0") # oneapi@=2025.2.1 + SPACK_STACK_BATCH_COMPILERS=("oneapi@=2025.0.4" "gcc@=13.3.0" "gcc@=14.3.0") # oneapi@=2025.2.1 SPACK_STACK_BATCH_TEMPLATES=("neptune-dev" "unified-dev" "cylc-dev") SPACK_STACK_MODULE_CHOICE="tcl" SPACK_STACK_BOOTSTRAP_MIRROR="/p/app/projects/NEPTUNE/spack-stack/bootstrap-mirror" @@ -671,7 +671,7 @@ for compiler in "${SPACK_STACK_BATCH_COMPILERS[@]}"; do case ${submit_to_scheduler} in "true") jobs=$(tasks_per_node ${host}) - parallel_install_flags="--concurrent-packages=10 --jobs=${jobs}" + parallel_install_flags="--concurrent-packages=4 --jobs=${jobs}" ;; "false") parallel_install_flags="" From 762c0744fc6f0bf0f34bfd828a8c7b0413dd55b2 Mon Sep 17 00:00:00 2001 From: Dom Heinzeller Date: Mon, 27 Apr 2026 07:55:59 -0600 Subject: [PATCH 07/13] Update .gitmodules and submodule pointer for repos/builtin --- .gitmodules | 3 ++- repos/builtin | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.gitmodules b/.gitmodules index 2f6cb0566..216702200 100644 --- a/.gitmodules +++ b/.gitmodules @@ -5,4 +5,5 @@ [submodule "repos/builtin"] path = repos/builtin url = https://github.com/jcsda/spack-packages - branch = spack-stack-dev + #branch = spack-stack-dev + branch = feature/fix_rt_linkage_jcsda diff --git a/repos/builtin b/repos/builtin index 89af8e824..d25e0bd49 160000 --- a/repos/builtin +++ b/repos/builtin @@ -1 +1 @@ -Subproject commit 89af8e82400c8b5b8ae62c2915e7707cb4b8445f +Subproject commit d25e0bd49bb551a91f0cebe79d1334c8c225cfba From ee212885878c1fec889298d84df926a7a050f6a5 Mon Sep 17 00:00:00 2001 From: Dom Heinzeller Date: Mon, 27 Apr 2026 07:57:15 -0600 Subject: [PATCH 08/13] configs/sites/tier1/blueback/packages_oneapi-2025.0.4.yaml: add variant fix_rt_linkage to external intel-oneapi-compilers --- configs/sites/tier1/blueback/packages_oneapi-2025.0.4.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configs/sites/tier1/blueback/packages_oneapi-2025.0.4.yaml b/configs/sites/tier1/blueback/packages_oneapi-2025.0.4.yaml index 13fe28a26..73694faaf 100644 --- a/configs/sites/tier1/blueback/packages_oneapi-2025.0.4.yaml +++ b/configs/sites/tier1/blueback/packages_oneapi-2025.0.4.yaml @@ -12,7 +12,7 @@ packages: intel-oneapi-compilers: buildable: false externals: - - spec: intel-oneapi-compilers@2025.0.4 + - spec: intel-oneapi-compilers@2025.0.4 +fix_rt_linkage prefix: /p/app/intel/oneapi-combined modules: - PrgEnv-intel/8.6.0 From 56faa1355ce0641bd66b486474f476952ac09f2b Mon Sep 17 00:00:00 2001 From: Dom Heinzeller Date: Mon, 27 Apr 2026 14:18:52 -0600 Subject: [PATCH 09/13] Revert .gitmodules and update submodule pointer for repos/builtin --- .gitmodules | 3 +-- repos/builtin | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/.gitmodules b/.gitmodules index 216702200..2f6cb0566 100644 --- a/.gitmodules +++ b/.gitmodules @@ -5,5 +5,4 @@ [submodule "repos/builtin"] path = repos/builtin url = https://github.com/jcsda/spack-packages - #branch = spack-stack-dev - branch = feature/fix_rt_linkage_jcsda + branch = spack-stack-dev diff --git a/repos/builtin b/repos/builtin index d25e0bd49..8a4eb5d32 160000 --- a/repos/builtin +++ b/repos/builtin @@ -1 +1 @@ -Subproject commit d25e0bd49bb551a91f0cebe79d1334c8c225cfba +Subproject commit 8a4eb5d32aa6981f630dd4f8aefb8069bc8e2cae From 346b897d936b552b069ca13cb90ca02d78c93d91 Mon Sep 17 00:00:00 2001 From: Dom Heinzeller Date: Mon, 27 Apr 2026 14:19:59 -0600 Subject: [PATCH 10/13] Add +fix_rt_linkage variant to external Intel oneAPI compiler specs in .github/workflows/ubuntu-ci-x86_64-oneapi.cfg and .github/workflows/ubuntu-ci-x86_64-oneapi-ifx.cfg --- .github/workflows/ubuntu-ci-x86_64-oneapi-ifx.cfg | 2 +- .github/workflows/ubuntu-ci-x86_64-oneapi.cfg | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ubuntu-ci-x86_64-oneapi-ifx.cfg b/.github/workflows/ubuntu-ci-x86_64-oneapi-ifx.cfg index 714e30d1f..36af6d2ca 100644 --- a/.github/workflows/ubuntu-ci-x86_64-oneapi-ifx.cfg +++ b/.github/workflows/ubuntu-ci-x86_64-oneapi-ifx.cfg @@ -1,6 +1,6 @@ intel-oneapi-compilers: externals: - - spec: intel-oneapi-compilers@2024.2.0 + - spec: intel-oneapi-compilers@2024.2.0 +fix_rt_linkage prefix: /opt/intel/oneapi extra_attributes: compilers: diff --git a/.github/workflows/ubuntu-ci-x86_64-oneapi.cfg b/.github/workflows/ubuntu-ci-x86_64-oneapi.cfg index 26eb5420f..dad047776 100644 --- a/.github/workflows/ubuntu-ci-x86_64-oneapi.cfg +++ b/.github/workflows/ubuntu-ci-x86_64-oneapi.cfg @@ -1,6 +1,6 @@ intel-oneapi-compilers: externals: - - spec: intel-oneapi-compilers@2024.2.0 + - spec: intel-oneapi-compilers@2024.2.0 +fix_rt_linkage prefix: /opt/intel/oneapi extra_attributes: compilers: From f064929e379dd86d9c8d50d5eb9db248bf703497 Mon Sep 17 00:00:00 2001 From: Dom Heinzeller Date: Tue, 28 Apr 2026 05:59:13 -0600 Subject: [PATCH 11/13] Bug fix in spack-ext/lib/jcsda-emc/spack-stack/stack/compiler_utils.py: handle package that doesn't have an explicit package config but isn't built with the default=preferred compiler --- .../lib/jcsda-emc/spack-stack/stack/compiler_utils.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/spack-ext/lib/jcsda-emc/spack-stack/stack/compiler_utils.py b/spack-ext/lib/jcsda-emc/spack-stack/stack/compiler_utils.py index 013ba0f6d..fcb54871c 100644 --- a/spack-ext/lib/jcsda-emc/spack-stack/stack/compiler_utils.py +++ b/spack-ext/lib/jcsda-emc/spack-stack/stack/compiler_utils.py @@ -101,6 +101,12 @@ def check_preferred_compiler(): # different) compiler for the environment instead. if preferred_compiler_name == compiler_name and preferred_compiler_version == compiler_version: logging.info(f" ... {spec.name}@{spec.version}/{spec.dag_hash(length=7)} uses preferred compiler") + # If the package config doesn't have an entry for the package, then it should be + # built with the preferred compiler. However, because it failed the "if" test + # above, we know it is not. + elif not spec.name in package_config.keys(): + errors += 1 + logging.error(f" ... {RED}error: {spec.name}@{spec.version}/{spec.dag_hash(length=7)} does not use intended compiler{RESET}") else: spec_required_compiler_name = None spec_required_compiler_version = None @@ -147,8 +153,7 @@ def check_preferred_compiler(): logging.info(f" ... {spec.name}@{spec.version}/{spec.dag_hash(length=7)} uses explicitly preferred compiler") else: errors += 1 - logging.error(f" ... {RED}error: {spec.name}@{spec.version}/{spec.dag_hash(length=7)} does not use intended compiler\n" + \ - f" check also that any explicit preferred/required compiler dependencies are using Spack v1 syntax{RESET}") + logging.error(f" ... {RED}error: {spec.name}@{spec.version}/{spec.dag_hash(length=7)} does not use intended compiler{RESET}") if errors==1: raise Exception(f"{RED}Detected {errors} compiler mismatch!{RESET}") elif errors: From 6177af9227c6833c9aa28a65c3a69423e53dde10 Mon Sep 17 00:00:00 2001 From: Dom Heinzeller Date: Tue, 28 Apr 2026 06:04:04 -0600 Subject: [PATCH 12/13] Add variant +fix_rt_linkage to bounty tier2 site config for oneapi@2025.3.0 --- configs/sites/tier2/bounty/packages_oneapi-2025.3.0.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configs/sites/tier2/bounty/packages_oneapi-2025.3.0.yaml b/configs/sites/tier2/bounty/packages_oneapi-2025.3.0.yaml index 86fd28a86..a81903d45 100644 --- a/configs/sites/tier2/bounty/packages_oneapi-2025.3.0.yaml +++ b/configs/sites/tier2/bounty/packages_oneapi-2025.3.0.yaml @@ -12,7 +12,7 @@ packages: intel-oneapi-compilers: buildable: false externals: - - spec: intel-oneapi-compilers@2025.3.0 + - spec: intel-oneapi-compilers@2025.3.0 +fix_rt_linkage prefix: /opt/intel/oneapi extra_attributes: compilers: From 89b0f0560efa3deef59f4a5f5c61c52843579393 Mon Sep 17 00:00:00 2001 From: Dom Heinzeller Date: Tue, 28 Apr 2026 06:04:33 -0600 Subject: [PATCH 13/13] configs/common/packages_oneapi.yaml: build patchelf with gcc --- configs/common/packages.yaml | 1 + configs/common/packages_oneapi.yaml | 3 +++ 2 files changed, 4 insertions(+) diff --git a/configs/common/packages.yaml b/configs/common/packages.yaml index 069c8c28f..a85df12f3 100644 --- a/configs/common/packages.yaml +++ b/configs/common/packages.yaml @@ -86,6 +86,7 @@ packages: - +ownlibs codee: require: + # TODO UPDATE TO 2026.1.2 once https://github.com/JCSDA/spack-packages/pull/56 is merged - '@2026.1' crtm_fix: require: diff --git a/configs/common/packages_oneapi.yaml b/configs/common/packages_oneapi.yaml index 05f2e7e35..e6516bcab 100644 --- a/configs/common/packages_oneapi.yaml +++ b/configs/common/packages_oneapi.yaml @@ -62,6 +62,9 @@ packages: parallel-netcdf: require: - +shared-intel + patchelf: + require: + - '%c=gcc' py-maturin: require: - '%c=gcc'