Hi all,
I’ve just started trying to build ACCESS-OM2 on Archer2, the UK’s HPC platform, for a new project. I’ve found the forum phenomenally useful, although I’ve still managed to get myself stuck. Any help would be much appreciated, I’ll summarise what I’ve done so far below.
Archer2 is a Cray machine using SUSE:
[access-om2] munday@archer2 >> cat /etc/os-release
NAME="SLES"
VERSION="15-SP4"
VERSION_ID="15.4"
PRETTY_NAME="SUSE Linux Enterprise Server 15 SP4"
ID="sles"
ID_LIKE="suse"
ANSI_COLOR="0;32"
CPE_NAME="cpe:/o:suse:sles:15:sp4"
DOCUMENTATION_URL="https://documentation.suse.com/"
It also has spack already installed as a module. There are a couple of versions, I’ve (mostly) been using the default:
[access-om2] munday@archer2 >> module avail spack
-------------------------------------------------------- /mnt/lustre/a2fs-work4/work/y07/shared/archer2-lmod/others/core --------------------------------------------------------
spack-epcc/0.21.2 spack/0.21.2 spack/1.0.2 (L,D)
Where:
L: Module is loaded
D: Default Module
[access-om2] munday@archer2 >> spack --version
1.0.2
I’ve looked at a couple of topics on compiling on different machines (How to build ACCESS-OM2 on Setonix, Running ACCESS-OM2 on Leonardo supercomputer, Installing ACCESS-OM2 on NeSI (New Zealand supercomputer)) and started off by following the instructions on how to build on Gadi (Modify and build an ACCESS model's source code - ACCESS-Hive Docs). On Gadi the build was successful and from there I moved to trying on Archer2. I’ve been able to clone the git repo and create a spack environment:
munday@archer2 >> git clone https://github.com/ACCESS-NRI/ACCESS-OM2.git
munday@archer2 >> cd ACCESS-OM2
munday@archer2 >> spack env create access-om2 spack.yaml
**==>** Created environment access-om2 in: /work/n01/n01/munday/.spack-1.0.2/environments/access-om2
**==>** Activate with: spack env activate access-om2
munday@archer2 >> spack env activate access-om2
munday@archer2 >> spack install
**==>** Error: cannot concretize 'access-om2@git.2025.12.000=latest', since 'access-om2' does not exist
munday@archer2 >> spack concretize -f --fresh
**==>** Error: cannot concretize 'access-om2@git.2025.12.000=latest', since 'access-om2' does not exist
From reading the topics above I realised that I needed to tell Archer2 where to find things. I’ve been able to do that by cloning the spack-packages repo:
munday@archer2 >> spack env deactivate
munday@archer2 >> spack env status
**==>** No active environment
munday@archer2 >> git clone https://github.com/ACCESS-NRI/spack-packages.git --branch main
Cloning into 'spack-packages'...
remote: Enumerating objects: 2957, done.
remote: Counting objects: 100% (590/590), done.
remote: Compressing objects: 100% (147/147), done.
remote: Total 2957 (delta 503), reused 469 (delta 434), pack-reused 2367 (from 2)
Receiving objects: 100% (2957/2957), 629.88 KiB | 8.08 MiB/s, done.
Resolving deltas: 100% (1588/1588), done.
munday@archer2 >> spack repo list
[+] archer2 v2.2 /mnt/lustre/a2fs-nvme/work/y07/shared/apps/dev/spack/1.0.2/repos/archer2/spack_repo/archer2
[+] builtin v2.2 /work/n01/n01/munday/.spack-1.0.2/package_repos/fncqgg4/repos/spack_repo/builtin
munday@archer2 >> spack repo add spack-packages
**==>** Added repo to config with name 'access.nri'.
munday@archer2 >> spack repo list
[+] access.nri v1.0 /mnt/lustre/a2fs-work1/work/n01/n01/munday/SO-SIMMER/ACCESS-OM2/spack-packages
[+] archer2 v2.2 /mnt/lustre/a2fs-nvme/work/y07/shared/apps/dev/spack/1.0.2/repos/archer2/spack_repo/archer2
[+] builtin v2.2 /work/n01/n01/munday/.spack-1.0.2/package_repos/fncqgg4/repos/spack_repo/builtin
At this point Archer2 seems to have located everything so I reactivated the spack environment to try concretize again.
munday@archer2 >> spack env activate access-om2
munday@archer2 >> spack concretize -f --fresh
**==>** Error: cannot load package 'access-mocsy' from the 'access.nri' repository: No module named ‘spack.build_systems'
I noticed that for Setonix it’s the access-spack-packages repo that is recommended. Swapping this out with spack-packages gives the same error message. If I use one of the other spack versions available on Archer2, I get a different error relating to access-mocsy:
munday@archer2 >> spack env activate access-om2
munday@archer2 >> spack concretize -f --fresh
==> Error: cannot load package 'access-mocsy' from the 'access.nri' repository: license() got an unexpected keyword argument 'checked_by'
I’m completely unfamiliar with spack, other than what I’ve picked up in the last couple of days. But this leads me to suspect some sort of version conflict or spack configuration issue. Poking around in the spack-config repo I see there are quite a few differences between the Gadi and Setonix spack configurations, although I don’t understand what’s going on here. If someone could point me in the right direction to figure this out, I’d be very grateful.