From 1ff6954a4e835eeb75582f87d96708ac467642a9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bob=20Dr=C3=B6ge?= Date: Fri, 10 Oct 2025 22:46:32 +0200 Subject: [PATCH 1/4] also apply LLVM hook for A64FX to LLVM 14 --- eb_hooks.py | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/eb_hooks.py b/eb_hooks.py index feb65b1a..d68327d3 100644 --- a/eb_hooks.py +++ b/eb_hooks.py @@ -717,26 +717,26 @@ def post_prepare_hook_highway_handle_test_compilation_issues(self, *args, **kwar update_build_option('optarch', self.orig_optarch) -def pre_prepare_hook_llvm15_a64fx(self, *args, **kwargs): +def pre_prepare_hook_llvm_a64fx(self, *args, **kwargs): """ - Solve issues with compiling LLVM 15.0.5 on A64FX by changing the optarch build option. + Solve issues with compiling LLVM 14 and 15 on A64FX by changing the optarch build option. Rust 1.65.0 also includes LLVM 15, so we do the same for that application. cfr. https://github.com/EESSI/software-layer/issues/1213 """ cpu_target = get_eessi_envvar('EESSI_SOFTWARE_SUBDIR') if cpu_target == CPU_TARGET_A64FX: - if (self.name == 'LLVM' and self.version == '15.0.5') or (self.name == 'Rust' and self.version == '1.65.0'): + if (self.name == 'LLVM' and self.version in ['14.0.6', '15.0.5'] or (self.name == 'Rust' and self.version == '1.65.0'): self.orig_optarch = build_option('optarch') update_build_option('optarch', 'march=armv8.2-a') -def post_prepare_hook_llvm15_a64fx(self, *args, **kwargs): +def post_prepare_hook_llvm_a64fx(self, *args, **kwargs): """ - Post-prepare hook for LLVM 15 to reset optarch build option. + Post-prepare hook for LLVM 14 and 15 on A64FX to reset optarch build option. """ cpu_target = get_eessi_envvar('EESSI_SOFTWARE_SUBDIR') if cpu_target == CPU_TARGET_A64FX: - if (self.name == 'LLVM' and self.version == '15.0.5') or (self.name == 'Rust' and self.version == '1.65.0'): + if (self.name == 'LLVM' and self.version in ['14.0.6', '15.0.5'] or (self.name == 'Rust' and self.version == '1.65.0'): update_build_option('optarch', self.orig_optarch) @@ -1620,15 +1620,15 @@ def post_easyblock_hook(self, *args, **kwargs): PRE_PREPARE_HOOKS = { 'Highway': pre_prepare_hook_highway_handle_test_compilation_issues, - 'LLVM': pre_prepare_hook_llvm15_a64fx, - 'Rust': pre_prepare_hook_llvm15_a64fx, + 'LLVM': pre_prepare_hook_llvm_a64fx, + 'Rust': pre_prepare_hook_llvm_a64fx, } POST_PREPARE_HOOKS = { 'GCCcore': post_prepare_hook_gcc_prefixed_ld_rpath_wrapper, 'Highway': post_prepare_hook_highway_handle_test_compilation_issues, - 'LLVM': post_prepare_hook_llvm15_a64fx, - 'Rust': post_prepare_hook_llvm15_a64fx, + 'LLVM': post_prepare_hook_llvm_a64fx, + 'Rust': post_prepare_hook_llvm_a64fx, } PRE_CONFIGURE_HOOKS = { From 45ea4ce2ec651239cf962e8d92d88065a13c2e2f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bob=20Dr=C3=B6ge?= Date: Fri, 10 Oct 2025 22:47:58 +0200 Subject: [PATCH 2/4] add easystack with LLVM --- .../software.eessi.io/2023.06/eessi-2023.06-eb-4.9.4-2023a.yml | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.4-2023a.yml diff --git a/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.4-2023a.yml b/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.4-2023a.yml new file mode 100644 index 00000000..df84e50b --- /dev/null +++ b/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.4-2023a.yml @@ -0,0 +1,2 @@ +easyconfigs: + - LLVM-14.0.6-GCCcore-12.3.0-llvmlite.eb From 7d61df767a30075a50021422f588aeaf4fbf746d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bob=20Dr=C3=B6ge?= Date: Sat, 11 Oct 2025 10:43:21 +0200 Subject: [PATCH 3/4] add missing ) --- eb_hooks.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/eb_hooks.py b/eb_hooks.py index d68327d3..cb1ddbc8 100644 --- a/eb_hooks.py +++ b/eb_hooks.py @@ -725,7 +725,7 @@ def pre_prepare_hook_llvm_a64fx(self, *args, **kwargs): """ cpu_target = get_eessi_envvar('EESSI_SOFTWARE_SUBDIR') if cpu_target == CPU_TARGET_A64FX: - if (self.name == 'LLVM' and self.version in ['14.0.6', '15.0.5'] or (self.name == 'Rust' and self.version == '1.65.0'): + if (self.name == 'LLVM' and self.version in ['14.0.6', '15.0.5']) or (self.name == 'Rust' and self.version == '1.65.0'): self.orig_optarch = build_option('optarch') update_build_option('optarch', 'march=armv8.2-a') @@ -736,7 +736,7 @@ def post_prepare_hook_llvm_a64fx(self, *args, **kwargs): """ cpu_target = get_eessi_envvar('EESSI_SOFTWARE_SUBDIR') if cpu_target == CPU_TARGET_A64FX: - if (self.name == 'LLVM' and self.version in ['14.0.6', '15.0.5'] or (self.name == 'Rust' and self.version == '1.65.0'): + if (self.name == 'LLVM' and self.version in ['14.0.6', '15.0.5']) or (self.name == 'Rust' and self.version == '1.65.0'): update_build_option('optarch', self.orig_optarch) From 204548be7c2d508792bfc8cf3253e58656314ad3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bob=20Dr=C3=B6ge?= Date: Sat, 11 Oct 2025 20:13:05 +0200 Subject: [PATCH 4/4] remove easystack --- .../software.eessi.io/2023.06/eessi-2023.06-eb-4.9.4-2023a.yml | 2 -- 1 file changed, 2 deletions(-) delete mode 100644 easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.4-2023a.yml diff --git a/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.4-2023a.yml b/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.4-2023a.yml deleted file mode 100644 index df84e50b..00000000 --- a/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.4-2023a.yml +++ /dev/null @@ -1,2 +0,0 @@ -easyconfigs: - - LLVM-14.0.6-GCCcore-12.3.0-llvmlite.eb