From c78c475e754cc1f607bc1979430d491e6d85aa89 Mon Sep 17 00:00:00 2001 From: Bartosz Kostrzewa Date: Tue, 16 Jun 2026 15:16:17 +0200 Subject: [PATCH 1/5] use latest lemon commit so that the tmLQCD install step works --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index c32101132..a4895774f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -248,7 +248,7 @@ if(TM_USE_LEMON) FetchContent_Declare( lemon GIT_REPOSITORY https://github.com/etmc/lemon - GIT_TAG 52cc2bf9cf9ac6f8f9566e9625dced3bccd40b43 + GIT_TAG e40cda10d18284795f840a04ecbb4d63007fee3d FIND_PACKAGE_ARGS NAMES lemon) FetchContent_MakeAvailable(lemon) endif() From ec253eb10bbe3c2aaa74849c6ab809470f876964 Mon Sep 17 00:00:00 2001 From: Mathieu Taillefumier Date: Wed, 17 Jun 2026 11:52:22 +0200 Subject: [PATCH 2/5] Attempt to fix the stackinator issue --- .ci/uenv-recipes/tmlqcd/daint-gh200/config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.ci/uenv-recipes/tmlqcd/daint-gh200/config.yaml b/.ci/uenv-recipes/tmlqcd/daint-gh200/config.yaml index 6a54a230d..29fdf2a39 100644 --- a/.ci/uenv-recipes/tmlqcd/daint-gh200/config.yaml +++ b/.ci/uenv-recipes/tmlqcd/daint-gh200/config.yaml @@ -5,7 +5,7 @@ spack: commit: releases/v1.1 packages: repo: https://github.com/spack/spack-packages.git - #commit: + commit: 60ca28b3565975d530f7c4645cc25670b7365de2 modules: true description: "tmLQCD dependencies for CSCS CI on GH200." version: 2 From e3eb922cda2adad0f2ba92c99a15457cdf2d353d Mon Sep 17 00:00:00 2001 From: Mathieu Taillefumier Date: Thu, 18 Jun 2026 09:35:03 +0200 Subject: [PATCH 3/5] Fix spack packages to use -fpic even for static libraries --- .ci/spack_packages/c_lime/package.py | 40 +++++++++++++++++++++++++++ .ci/spack_packages/lemonio/package.py | 15 +++++++--- .ci/spack_packages/tmlqcd/package.py | 2 +- 3 files changed, 52 insertions(+), 5 deletions(-) create mode 100644 .ci/spack_packages/c_lime/package.py diff --git a/.ci/spack_packages/c_lime/package.py b/.ci/spack_packages/c_lime/package.py new file mode 100644 index 000000000..a0bbb9bdb --- /dev/null +++ b/.ci/spack_packages/c_lime/package.py @@ -0,0 +1,40 @@ +# Copyright Spack Project Developers. See COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack_repo.builtin.build_systems import cmake +from spack_repo.builtin.build_systems.cmake import CMakePackage, generator + +from spack.package import * + + +class CLime(CMakePackage): + """LIME (which can stand for Lattice QCD Interchange Message Encapsulation + or more generally, Large Internet Message Encapsulation) is a simple + packaging scheme for combining records containing ASCII and/or binary + data.""" + + homepage = "https://usqcd-software.github.io/c-lime/" + url = "https://github.com/usqcd-software/c-lime/archive/qio2-3-9.tar.gz" + git = "https://github.com/usqcd-software/c-lime.git" + + license("GPL-2.0-or-later") + + version( + "2-3-9", + sha256="7b9aeadd4dfec50e24da3e7e729f56abf95c9192612c41515fe27b2158773aac", + ) + version("master", branch="master") + + variant("pic", default=True, description="Enable position independent code") + variant("shared", default=True, description="Enable shared libraries") + + depends_on("c", type="build") # generated + + +class CMakeBuilder(cmake.CMakeBuilder): + def cmake_args(self): + args = [ + self.define_from_variant("BUILD_SHARED_LIBS", "shared"), + self.define_from_variant("CMAKE_POSITION_INDEPENDENT_CODE", "pic"), + ] diff --git a/.ci/spack_packages/lemonio/package.py b/.ci/spack_packages/lemonio/package.py index a3e66f64e..f1c7709f4 100644 --- a/.ci/spack_packages/lemonio/package.py +++ b/.ci/spack_packages/lemonio/package.py @@ -8,22 +8,29 @@ from spack.package import * + class Lemonio(CMakePackage): """LEMON: Lightweight Parallel I/O library for Lattice QCD.""" homepage = "https://github.com/etmc/lemon" - git = "https://github.com/etmc/lemon.git" + git = "https://github.com/etmc/lemon.git" license("GPL-3.0-or-later") - version('master', branch='master') + version("master", branch="master") + + variant("pic", default=True, description="Enable position independent code") + variant("shared", default=False, description="Enable sahred libraries") depends_on("c", type="build") depends_on("cxx", type="build") depends_on("fortran", type="build") - depends_on('mpi') + depends_on("mpi") generator("ninja") def configure_args(self): - args = [] + args = [ + self.define_from_variant("CMAKE_POSITION_INDEPENDENT_CODE", "pic"), + self.define_from_variant("BUILD_SHARED_LIBS", "shared"), + ] return args diff --git a/.ci/spack_packages/tmlqcd/package.py b/.ci/spack_packages/tmlqcd/package.py index ac318ab36..d9f6036bf 100755 --- a/.ci/spack_packages/tmlqcd/package.py +++ b/.ci/spack_packages/tmlqcd/package.py @@ -76,7 +76,7 @@ class Tmlqcd(CMakePackage, CudaPackage, ROCmPackage): conflicts("+cuda +rocm", msg="CUDA and ROCm support are mutually exclusive") # hard dependencies - depends_on("c-lime") + depends_on("c-lime@master") depends_on("blas") depends_on("lapack") depends_on("pkgconfig", type="build") From 68e99b72cdd6ad67ea37fd1065adf8463df8247c Mon Sep 17 00:00:00 2001 From: Taillefumier Mathieu <29380261+mtaillefumier@users.noreply.github.com> Date: Thu, 18 Jun 2026 11:01:17 +0200 Subject: [PATCH 4/5] cmake arguments were not returned. --- .ci/spack_packages/c_lime/package.py | 1 + 1 file changed, 1 insertion(+) diff --git a/.ci/spack_packages/c_lime/package.py b/.ci/spack_packages/c_lime/package.py index a0bbb9bdb..956b197f9 100644 --- a/.ci/spack_packages/c_lime/package.py +++ b/.ci/spack_packages/c_lime/package.py @@ -38,3 +38,4 @@ def cmake_args(self): self.define_from_variant("BUILD_SHARED_LIBS", "shared"), self.define_from_variant("CMAKE_POSITION_INDEPENDENT_CODE", "pic"), ] + return args From 471e06a06128cea7f624292286866ab6fe39b40e Mon Sep 17 00:00:00 2001 From: Taillefumier Mathieu <29380261+mtaillefumier@users.noreply.github.com> Date: Thu, 18 Jun 2026 11:01:53 +0200 Subject: [PATCH 5/5] Update package.py --- .ci/spack_packages/c_lime/package.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.ci/spack_packages/c_lime/package.py b/.ci/spack_packages/c_lime/package.py index 956b197f9..cc55474bb 100644 --- a/.ci/spack_packages/c_lime/package.py +++ b/.ci/spack_packages/c_lime/package.py @@ -38,4 +38,4 @@ def cmake_args(self): self.define_from_variant("BUILD_SHARED_LIBS", "shared"), self.define_from_variant("CMAKE_POSITION_INDEPENDENT_CODE", "pic"), ] - return args + return args