From 3690d8aa119023f68f7024600d59a58a602f4f00 Mon Sep 17 00:00:00 2001 From: Bart Oldeman Date: Tue, 3 Feb 2026 20:22:57 +0000 Subject: [PATCH 01/10] adding easyconfigs: AOCL-LAPACK-5.2-GCC-15.2.0.eb --- .../AOCL-LAPACK/AOCL-LAPACK-5.2-GCC-15.2.0.eb | 57 +++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 easybuild/easyconfigs/a/AOCL-LAPACK/AOCL-LAPACK-5.2-GCC-15.2.0.eb diff --git a/easybuild/easyconfigs/a/AOCL-LAPACK/AOCL-LAPACK-5.2-GCC-15.2.0.eb b/easybuild/easyconfigs/a/AOCL-LAPACK/AOCL-LAPACK-5.2-GCC-15.2.0.eb new file mode 100644 index 000000000000..de7fa036cb44 --- /dev/null +++ b/easybuild/easyconfigs/a/AOCL-LAPACK/AOCL-LAPACK-5.2-GCC-15.2.0.eb @@ -0,0 +1,57 @@ +easyblock = 'Bundle' + +name = 'AOCL-LAPACK' +version = '5.2' + +homepage = 'https://github.com/amd/libflame' +description = """AOCL-LAPACK is AMD's optimized version of + LAPACK targeted for AMD EPYC and Ryzen CPUs.""" + +toolchain = {'name': 'GCC', 'version': '15.2.0'} + +builddependencies = [ + ('CMake', '4.2.1'), + ('Python', '3.14.2'), + ('Perl', '5.42.0'), +] + +dependencies = [ + ('AOCL-BLAS', '%(version)s'), +] + +default_component_specs = {'sources': [{'download_filename': '%(version)s.tar.gz', + 'filename': SOURCELOWER_TAR_GZ}]} +sanity_check_all_components = True + +components = [ + ('AOCL-Utils', version, { + 'easyblock': 'CMakeMake', + 'source_urls': ['https://github.com/amd/aocl-utils/archive/refs/tags'], + 'checksums': ['db0d807170a6eb73fcccd720a65a3e3aa8a787ae656c46479f7d9b4e1f9ed08a'], + 'start_dir': '%(namelower)s-%(version)s', + 'sanity_check_paths': { + 'files': ['lib/libaoclutils.%s' % SHLIB_EXT, 'include/Capi/au/cpuid/cpuid.h'], + 'dirs': [], + }, + }), + (name, version, { + 'source_urls': ['https://github.com/amd/libflame/archive/refs/tags'], + 'patches': ['AOCL-LAPACK-5.1_support-shlib-netlib-tests.patch'], + 'checksums': [ + {SOURCELOWER_TAR_GZ: 'fb5fe5128f718050c9911443fcf7ed91b60538a40d57084ed0124bb91afabb9b'}, + {'AOCL-LAPACK-5.1_support-shlib-netlib-tests.patch': + '8a5ab79f9120511e93708919050a1cc575fc6df9fa9cff994ecbe068955958fe'}, + ], + 'start_dir': 'libflame-%(version)s', + 'runtest': True, + 'run_lapack_tests': True, + 'max_failing_lapack_tests_num_errors': 250, + }), +] + +sanity_check_paths = { + 'dirs': ['include', 'lib'], + 'files': [], +} + +moduleclass = 'numlib' From d360c8fd2cf74a88fa3387d02da286bb3cab7ac0 Mon Sep 17 00:00:00 2001 From: Bart Oldeman Date: Wed, 4 Feb 2026 19:10:37 +0000 Subject: [PATCH 02/10] Add workaround patch for GCC 15 C++ issue with OpenMP --- .../a/AOCL-BLAS/AOCL-BLAS-5.2-GCC-15.2.0.eb | 6 ++++- ...OCL-BLAS-5.2_gcc15-openmp-workaround.patch | 23 +++++++++++++++++++ 2 files changed, 28 insertions(+), 1 deletion(-) create mode 100644 easybuild/easyconfigs/a/AOCL-BLAS/AOCL-BLAS-5.2_gcc15-openmp-workaround.patch diff --git a/easybuild/easyconfigs/a/AOCL-BLAS/AOCL-BLAS-5.2-GCC-15.2.0.eb b/easybuild/easyconfigs/a/AOCL-BLAS/AOCL-BLAS-5.2-GCC-15.2.0.eb index 14fa21d81fb2..71d38ca78530 100644 --- a/easybuild/easyconfigs/a/AOCL-BLAS/AOCL-BLAS-5.2-GCC-15.2.0.eb +++ b/easybuild/easyconfigs/a/AOCL-BLAS/AOCL-BLAS-5.2-GCC-15.2.0.eb @@ -12,7 +12,11 @@ toolchainopts = {'openmp': True} source_urls = ['https://github.com/amd/blis/archive/'] sources = ['%(version)s.tar.gz'] -checksums = ['c553bd543eedc87920df9b82634ae4c02662145ed737f51fdf4c9bca5e588028'] +patches = ['AOCL-BLAS-5.2_gcc15-openmp-workaround.patch'] +checksums = [ + {'5.2.tar.gz': 'c553bd543eedc87920df9b82634ae4c02662145ed737f51fdf4c9bca5e588028'}, + {'AOCL-BLAS-5.2_gcc15-openmp-workaround.patch': '40671539ef9fd027d441b378060c957cf983b52bc331509215cab25abedfbd64'}, +] builddependencies = [ ('Python', '3.14.2'), diff --git a/easybuild/easyconfigs/a/AOCL-BLAS/AOCL-BLAS-5.2_gcc15-openmp-workaround.patch b/easybuild/easyconfigs/a/AOCL-BLAS/AOCL-BLAS-5.2_gcc15-openmp-workaround.patch new file mode 100644 index 000000000000..478a81996823 --- /dev/null +++ b/easybuild/easyconfigs/a/AOCL-BLAS/AOCL-BLAS-5.2_gcc15-openmp-workaround.patch @@ -0,0 +1,23 @@ +Workaround for https://github.com/amd/blis/issues/50 : +GCC15 Compile Fails Due to OpenMP in C extern + +Bart Oldeman +diff -ur blis-5.2.orig/frame/thread/bli_thrcomm_openmp.h blis-5.2/frame/thread/bli_thrcomm_openmp.h +--- blis-5.2.orig/frame/thread/bli_thrcomm_openmp.h 2025-12-07 05:22:11.000000000 +0000 ++++ blis-5.2/frame/thread/bli_thrcomm_openmp.h 2026-02-04 18:26:48.011905725 +0000 +@@ -39,7 +39,15 @@ + // Define thrcomm_t for situations when OpenMP multithreading is enabled. + #ifdef BLIS_ENABLE_OPENMP + ++// Workaround for GCC 15: https://github.com/flame/blis/pull/875 is more ++// thorough but needs to touch many files in AOCL-BLAS ++#ifdef __cplusplus ++} ++#endif + #include ++#ifdef __cplusplus ++extern "C" { ++#endif + + // Define thrcomm_t for tree barriers and non-tree barriers. + #ifdef BLIS_TREE_BARRIER From ab8962ba85d2d0d823df7e42bd16829d2e289d15 Mon Sep 17 00:00:00 2001 From: Bart Oldeman Date: Thu, 5 Feb 2026 01:45:35 +0000 Subject: [PATCH 03/10] Add conditional compilation patch for zen4 --- .../AOCL-LAPACK/AOCL-LAPACK-5.2-GCC-15.2.0.eb | 7 +- ...ACK-5.2_zen4_conditional_compilation.patch | 76 +++++++++++++++++++ 2 files changed, 82 insertions(+), 1 deletion(-) create mode 100644 easybuild/easyconfigs/a/AOCL-LAPACK/AOCL-LAPACK-5.2_zen4_conditional_compilation.patch diff --git a/easybuild/easyconfigs/a/AOCL-LAPACK/AOCL-LAPACK-5.2-GCC-15.2.0.eb b/easybuild/easyconfigs/a/AOCL-LAPACK/AOCL-LAPACK-5.2-GCC-15.2.0.eb index de7fa036cb44..1b6c544bed8e 100644 --- a/easybuild/easyconfigs/a/AOCL-LAPACK/AOCL-LAPACK-5.2-GCC-15.2.0.eb +++ b/easybuild/easyconfigs/a/AOCL-LAPACK/AOCL-LAPACK-5.2-GCC-15.2.0.eb @@ -36,11 +36,16 @@ components = [ }), (name, version, { 'source_urls': ['https://github.com/amd/libflame/archive/refs/tags'], - 'patches': ['AOCL-LAPACK-5.1_support-shlib-netlib-tests.patch'], + 'patches': [ + 'AOCL-LAPACK-5.1_support-shlib-netlib-tests.patch', + 'AOCL-LAPACK-5.2_zen4_conditional_compilation.patch', + ], 'checksums': [ {SOURCELOWER_TAR_GZ: 'fb5fe5128f718050c9911443fcf7ed91b60538a40d57084ed0124bb91afabb9b'}, {'AOCL-LAPACK-5.1_support-shlib-netlib-tests.patch': '8a5ab79f9120511e93708919050a1cc575fc6df9fa9cff994ecbe068955958fe'}, + {'AOCL-LAPACK-5.2_zen4_conditional_compilation.patch': + '2eb8b5ce4b7f054d9d86295030c0aedda3269e0e4390b6d132fa970511b2a26c'}, ], 'start_dir': 'libflame-%(version)s', 'runtest': True, diff --git a/easybuild/easyconfigs/a/AOCL-LAPACK/AOCL-LAPACK-5.2_zen4_conditional_compilation.patch b/easybuild/easyconfigs/a/AOCL-LAPACK/AOCL-LAPACK-5.2_zen4_conditional_compilation.patch new file mode 100644 index 000000000000..39de4296af2c --- /dev/null +++ b/easybuild/easyconfigs/a/AOCL-LAPACK/AOCL-LAPACK-5.2_zen4_conditional_compilation.patch @@ -0,0 +1,76 @@ +Only use blis zen4 functions if BLIS_KERNELS_ZEN4 is defined, to avoid compilations +issues if blis does not support zen4 (e.g. compiled with "auto" on zen3) + +Bart Oldeman +diff -ur libflame-5.2.orig/src/base/flamec/blis/2/bl1_gemv.c libflame-5.2/src/base/flamec/blis/2/bl1_gemv.c +--- libflame-5.2.orig/src/base/flamec/blis/2/bl1_gemv.c 2026-01-04 06:34:54.000000000 +0000 ++++ libflame-5.2/src/base/flamec/blis/2/bl1_gemv.c 2026-02-05 01:31:50.925123665 +0000 +@@ -442,7 +442,7 @@ + *beta, + y, incy ); + #else +-#if FLA_ENABLE_AOCL_BLAS ++#if FLA_ENABLE_AOCL_BLAS && defined(BLIS_KERNELS_ZEN4) + /* Use direct single threaded BLIS kernel */ + aocl_fla_init(); + if ( FLA_IS_MIN_ARCH_ID( FLA_ARCH_AVX512 ) && incx > 0 && incy > 0 ) +diff -ur libflame-5.2.orig/src/map/lapack2flamec/f2c/c/dlarf.c libflame-5.2/src/map/lapack2flamec/f2c/c/dlarf.c +--- libflame-5.2.orig/src/map/lapack2flamec/f2c/c/dlarf.c 2026-01-04 06:34:54.000000000 +0000 ++++ libflame-5.2/src/map/lapack2flamec/f2c/c/dlarf.c 2026-02-05 01:32:56.753762529 +0000 +@@ -295,7 +295,7 @@ + { + /* Process in a single call */ + /* w(1:lastc,1) := C(1:lastv,1:lastc)**T * v(1:lastv,1) */ +-#if FLA_ENABLE_AOCL_BLAS ++#if FLA_ENABLE_AOCL_BLAS && defined(BLIS_KERNELS_ZEN4) + if(FLA_IS_MIN_ARCH_ID(FLA_ARCH_AVX512) && *incv > 0) + { + /* Use direct single threaded BLIS kernel */ +@@ -376,7 +376,7 @@ + else + { + /* w(1:lastc,1) := C(1:lastc,1:lastv) * v(1:lastv,1) */ +-#if FLA_ENABLE_AOCL_BLAS ++#if FLA_ENABLE_AOCL_BLAS && defined(BLIS_KERNELS_ZEN4) + aocl_fla_init(); + if(FLA_IS_MIN_ARCH_ID(FLA_ARCH_AVX512) && *incv > 0) + { +diff -ur libflame-5.2.orig/src/map/lapack2flamec/f2c/c/dlarft.c libflame-5.2/src/map/lapack2flamec/f2c/c/dlarft.c +--- libflame-5.2.orig/src/map/lapack2flamec/f2c/c/dlarft.c 2026-01-04 06:34:54.000000000 +0000 ++++ libflame-5.2/src/map/lapack2flamec/f2c/c/dlarft.c 2026-02-05 01:32:31.071123136 +0000 +@@ -278,7 +278,7 @@ + i__2 = j - i__; + i__3 = i__ - 1; + d__1 = -tau[i__]; +-#if FLA_ENABLE_AOCL_BLAS ++#if FLA_ENABLE_AOCL_BLAS && defined(BLIS_KERNELS_ZEN4) + if(FLA_IS_MIN_ARCH_ID(FLA_ARCH_AVX512)) + { + bli_dgemv_t_zen4_int(BLIS_CONJUGATE, BLIS_NO_CONJUGATE, i__2, i__3, &d__1, +@@ -315,7 +315,7 @@ + i__2 = i__ - 1; + i__3 = j - i__; + d__1 = -tau[i__]; +-#if FLA_ENABLE_AOCL_BLAS ++#if FLA_ENABLE_AOCL_BLAS && defined(BLIS_KERNELS_ZEN4) + if(FLA_IS_MIN_ARCH_ID(FLA_ARCH_AVX512) && *ldv > 0) + { + bli_dgemv_n_zen4_int_40x2_st(BLIS_NO_TRANSPOSE, BLIS_NO_CONJUGATE, i__2, +@@ -387,7 +387,7 @@ + i__1 = *n - *k + i__ - j; + i__2 = *k - i__; + d__1 = -tau[i__]; +-#if FLA_ENABLE_AOCL_BLAS ++#if FLA_ENABLE_AOCL_BLAS && defined(BLIS_KERNELS_ZEN4) + if(FLA_IS_MIN_ARCH_ID(FLA_ARCH_AVX512)) + { + bli_dgemv_t_zen4_int(BLIS_CONJUGATE, BLIS_NO_CONJUGATE, i__1, i__2, +@@ -424,7 +424,7 @@ + i__1 = *k - i__; + i__2 = *n - *k + i__ - j; + d__1 = -tau[i__]; +-#if FLA_ENABLE_AOCL_BLAS ++#if FLA_ENABLE_AOCL_BLAS && defined(BLIS_KERNELS_ZEN4) + if(FLA_IS_MIN_ARCH_ID(FLA_ARCH_AVX512) && *ldv > 0) + { + bli_dgemv_n_zen4_int_40x2_st(BLIS_NO_TRANSPOSE, BLIS_NO_CONJUGATE, i__1, From 6957b6ae1a8d11e7a0bdc8eada8cd4d6b185fff8 Mon Sep 17 00:00:00 2001 From: Bart Oldeman Date: Thu, 5 Feb 2026 12:30:25 +0000 Subject: [PATCH 04/10] Use -lm for linking shared library, for jsc-zen3 --- .../easyconfigs/a/AOCL-LAPACK/AOCL-LAPACK-5.2-GCC-15.2.0.eb | 1 + 1 file changed, 1 insertion(+) diff --git a/easybuild/easyconfigs/a/AOCL-LAPACK/AOCL-LAPACK-5.2-GCC-15.2.0.eb b/easybuild/easyconfigs/a/AOCL-LAPACK/AOCL-LAPACK-5.2-GCC-15.2.0.eb index 1b6c544bed8e..52ef06706b15 100644 --- a/easybuild/easyconfigs/a/AOCL-LAPACK/AOCL-LAPACK-5.2-GCC-15.2.0.eb +++ b/easybuild/easyconfigs/a/AOCL-LAPACK/AOCL-LAPACK-5.2-GCC-15.2.0.eb @@ -48,6 +48,7 @@ components = [ '2eb8b5ce4b7f054d9d86295030c0aedda3269e0e4390b6d132fa970511b2a26c'}, ], 'start_dir': 'libflame-%(version)s', + 'configopts': '-DCMAKE_SHARED_LINKER_FLAGS="-lm"', 'runtest': True, 'run_lapack_tests': True, 'max_failing_lapack_tests_num_errors': 250, From d3f6df2ce72a7b525517639b1f192efd1a3d3334 Mon Sep 17 00:00:00 2001 From: Bart Oldeman Date: Thu, 5 Feb 2026 14:11:10 +0000 Subject: [PATCH 05/10] Use -shared for linking shared lib, CMake 4.2.1 compat --- .../easyconfigs/a/AOCL-LAPACK/AOCL-LAPACK-5.2-GCC-15.2.0.eb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/a/AOCL-LAPACK/AOCL-LAPACK-5.2-GCC-15.2.0.eb b/easybuild/easyconfigs/a/AOCL-LAPACK/AOCL-LAPACK-5.2-GCC-15.2.0.eb index 52ef06706b15..f51cbaa056bc 100644 --- a/easybuild/easyconfigs/a/AOCL-LAPACK/AOCL-LAPACK-5.2-GCC-15.2.0.eb +++ b/easybuild/easyconfigs/a/AOCL-LAPACK/AOCL-LAPACK-5.2-GCC-15.2.0.eb @@ -48,7 +48,8 @@ components = [ '2eb8b5ce4b7f054d9d86295030c0aedda3269e0e4390b6d132fa970511b2a26c'}, ], 'start_dir': 'libflame-%(version)s', - 'configopts': '-DCMAKE_SHARED_LINKER_FLAGS="-lm"', + # for some reason with CMake 4.2.1 -shared is lost in CMake config + 'configopts': '-DCMAKE_SHARED_LINKER_FLAGS="-shared"', 'runtest': True, 'run_lapack_tests': True, 'max_failing_lapack_tests_num_errors': 250, From e6c432186fac6c001fb37afbf24a3803ba8d4efc Mon Sep 17 00:00:00 2001 From: Bart Oldeman Date: Thu, 5 Feb 2026 14:23:35 +0000 Subject: [PATCH 06/10] Replace TAB by spaces --- .../easyconfigs/a/AOCL-LAPACK/AOCL-LAPACK-5.2-GCC-15.2.0.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/a/AOCL-LAPACK/AOCL-LAPACK-5.2-GCC-15.2.0.eb b/easybuild/easyconfigs/a/AOCL-LAPACK/AOCL-LAPACK-5.2-GCC-15.2.0.eb index f51cbaa056bc..2a5e741e72bf 100644 --- a/easybuild/easyconfigs/a/AOCL-LAPACK/AOCL-LAPACK-5.2-GCC-15.2.0.eb +++ b/easybuild/easyconfigs/a/AOCL-LAPACK/AOCL-LAPACK-5.2-GCC-15.2.0.eb @@ -48,7 +48,7 @@ components = [ '2eb8b5ce4b7f054d9d86295030c0aedda3269e0e4390b6d132fa970511b2a26c'}, ], 'start_dir': 'libflame-%(version)s', - # for some reason with CMake 4.2.1 -shared is lost in CMake config + # for some reason with CMake 4.2.1 -shared is lost in CMake config 'configopts': '-DCMAKE_SHARED_LINKER_FLAGS="-shared"', 'runtest': True, 'run_lapack_tests': True, From 12bb4d68c25ce5042fa39a45894330f73ca12a8f Mon Sep 17 00:00:00 2001 From: Bart Oldeman Date: Thu, 5 Feb 2026 16:23:05 +0000 Subject: [PATCH 07/10] Use CMake 3.31.11 --- .../AOCL-LAPACK/AOCL-LAPACK-5.2-GCC-15.2.0.eb | 4 +-- .../c/CMake/CMake-3.31.11-GCCcore-15.2.0.eb | 30 +++++++++++++++++++ 2 files changed, 31 insertions(+), 3 deletions(-) create mode 100644 easybuild/easyconfigs/c/CMake/CMake-3.31.11-GCCcore-15.2.0.eb diff --git a/easybuild/easyconfigs/a/AOCL-LAPACK/AOCL-LAPACK-5.2-GCC-15.2.0.eb b/easybuild/easyconfigs/a/AOCL-LAPACK/AOCL-LAPACK-5.2-GCC-15.2.0.eb index 2a5e741e72bf..4f3ec09094f0 100644 --- a/easybuild/easyconfigs/a/AOCL-LAPACK/AOCL-LAPACK-5.2-GCC-15.2.0.eb +++ b/easybuild/easyconfigs/a/AOCL-LAPACK/AOCL-LAPACK-5.2-GCC-15.2.0.eb @@ -10,7 +10,7 @@ description = """AOCL-LAPACK is AMD's optimized version of toolchain = {'name': 'GCC', 'version': '15.2.0'} builddependencies = [ - ('CMake', '4.2.1'), + ('CMake', '3.31.11'), ('Python', '3.14.2'), ('Perl', '5.42.0'), ] @@ -48,8 +48,6 @@ components = [ '2eb8b5ce4b7f054d9d86295030c0aedda3269e0e4390b6d132fa970511b2a26c'}, ], 'start_dir': 'libflame-%(version)s', - # for some reason with CMake 4.2.1 -shared is lost in CMake config - 'configopts': '-DCMAKE_SHARED_LINKER_FLAGS="-shared"', 'runtest': True, 'run_lapack_tests': True, 'max_failing_lapack_tests_num_errors': 250, diff --git a/easybuild/easyconfigs/c/CMake/CMake-3.31.11-GCCcore-15.2.0.eb b/easybuild/easyconfigs/c/CMake/CMake-3.31.11-GCCcore-15.2.0.eb new file mode 100644 index 000000000000..d74c05fbac97 --- /dev/null +++ b/easybuild/easyconfigs/c/CMake/CMake-3.31.11-GCCcore-15.2.0.eb @@ -0,0 +1,30 @@ +name = 'CMake' +version = '3.31.11' + +homepage = 'https://www.cmake.org' + +description = """ + CMake, the cross-platform, open-source build system. CMake is a family of + tools designed to build, test and package software. +""" + +toolchain = {'name': 'GCCcore', 'version': '15.2.0'} + +source_urls = ['https://www.cmake.org/files/v%(version_major_minor)s'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['c0a3b3f2912b2166f522d5010ffb6029d8454ee635f5ad7a3247e0be7f9a15c9'] + +builddependencies = [ + ('binutils', '2.45'), +] + +dependencies = [ + ('ncurses', '6.6'), + ('zlib', '2.3.2'), + ('bzip2', '1.0.8'), + ('cURL', '8.17.0'), + ('libarchive', '3.8.5'), + ('OpenSSL', '3', '', SYSTEM), +] + +moduleclass = 'devel' From 09c79aee065044b132c8c7353013f0a0f575612e Mon Sep 17 00:00:00 2001 From: Bart Oldeman Date: Fri, 6 Feb 2026 13:04:30 +0000 Subject: [PATCH 08/10] Remove CMake 3.31.11 as we can use 4.2.1 with a patch --- .../c/CMake/CMake-3.31.11-GCCcore-15.2.0.eb | 30 ------------------- 1 file changed, 30 deletions(-) delete mode 100644 easybuild/easyconfigs/c/CMake/CMake-3.31.11-GCCcore-15.2.0.eb diff --git a/easybuild/easyconfigs/c/CMake/CMake-3.31.11-GCCcore-15.2.0.eb b/easybuild/easyconfigs/c/CMake/CMake-3.31.11-GCCcore-15.2.0.eb deleted file mode 100644 index d74c05fbac97..000000000000 --- a/easybuild/easyconfigs/c/CMake/CMake-3.31.11-GCCcore-15.2.0.eb +++ /dev/null @@ -1,30 +0,0 @@ -name = 'CMake' -version = '3.31.11' - -homepage = 'https://www.cmake.org' - -description = """ - CMake, the cross-platform, open-source build system. CMake is a family of - tools designed to build, test and package software. -""" - -toolchain = {'name': 'GCCcore', 'version': '15.2.0'} - -source_urls = ['https://www.cmake.org/files/v%(version_major_minor)s'] -sources = [SOURCELOWER_TAR_GZ] -checksums = ['c0a3b3f2912b2166f522d5010ffb6029d8454ee635f5ad7a3247e0be7f9a15c9'] - -builddependencies = [ - ('binutils', '2.45'), -] - -dependencies = [ - ('ncurses', '6.6'), - ('zlib', '2.3.2'), - ('bzip2', '1.0.8'), - ('cURL', '8.17.0'), - ('libarchive', '3.8.5'), - ('OpenSSL', '3', '', SYSTEM), -] - -moduleclass = 'devel' From b420a493b260c408332bdf5ec5c48923867547f7 Mon Sep 17 00:00:00 2001 From: Bart Oldeman Date: Fri, 6 Feb 2026 13:17:01 +0000 Subject: [PATCH 09/10] Use patch from @flamefire to fix CMake 4.2.1 use --- .../AOCL-LAPACK/AOCL-LAPACK-5.2-GCC-15.2.0.eb | 5 ++- .../AOCL-LAPACK-5.2_no-shlibs-with-pie.patch | 31 +++++++++++++++++++ 2 files changed, 35 insertions(+), 1 deletion(-) create mode 100644 easybuild/easyconfigs/a/AOCL-LAPACK/AOCL-LAPACK-5.2_no-shlibs-with-pie.patch diff --git a/easybuild/easyconfigs/a/AOCL-LAPACK/AOCL-LAPACK-5.2-GCC-15.2.0.eb b/easybuild/easyconfigs/a/AOCL-LAPACK/AOCL-LAPACK-5.2-GCC-15.2.0.eb index 4f3ec09094f0..16663cda97b8 100644 --- a/easybuild/easyconfigs/a/AOCL-LAPACK/AOCL-LAPACK-5.2-GCC-15.2.0.eb +++ b/easybuild/easyconfigs/a/AOCL-LAPACK/AOCL-LAPACK-5.2-GCC-15.2.0.eb @@ -10,7 +10,7 @@ description = """AOCL-LAPACK is AMD's optimized version of toolchain = {'name': 'GCC', 'version': '15.2.0'} builddependencies = [ - ('CMake', '3.31.11'), + ('CMake', '4.2.1'), ('Python', '3.14.2'), ('Perl', '5.42.0'), ] @@ -39,6 +39,7 @@ components = [ 'patches': [ 'AOCL-LAPACK-5.1_support-shlib-netlib-tests.patch', 'AOCL-LAPACK-5.2_zen4_conditional_compilation.patch', + 'AOCL-LAPACK-5.2_no-shlibs-with-pie.patch', ], 'checksums': [ {SOURCELOWER_TAR_GZ: 'fb5fe5128f718050c9911443fcf7ed91b60538a40d57084ed0124bb91afabb9b'}, @@ -46,6 +47,8 @@ components = [ '8a5ab79f9120511e93708919050a1cc575fc6df9fa9cff994ecbe068955958fe'}, {'AOCL-LAPACK-5.2_zen4_conditional_compilation.patch': '2eb8b5ce4b7f054d9d86295030c0aedda3269e0e4390b6d132fa970511b2a26c'}, + {'AOCL-LAPACK-5.2_no-shlibs-with-pie.patch': + 'fb164626d8e1bde278c2adb952a3c42752bd8f789b1acf11a8eea124193bbc5f'}, ], 'start_dir': 'libflame-%(version)s', 'runtest': True, diff --git a/easybuild/easyconfigs/a/AOCL-LAPACK/AOCL-LAPACK-5.2_no-shlibs-with-pie.patch b/easybuild/easyconfigs/a/AOCL-LAPACK/AOCL-LAPACK-5.2_no-shlibs-with-pie.patch new file mode 100644 index 000000000000..9d8caa56b9b3 --- /dev/null +++ b/easybuild/easyconfigs/a/AOCL-LAPACK/AOCL-LAPACK-5.2_no-shlibs-with-pie.patch @@ -0,0 +1,31 @@ +From 1466c4192f5ec9eb9d464f271a14d0d27371028b Mon Sep 17 00:00:00 2001 +From: Alexander Grund +Date: Fri, 6 Feb 2026 09:52:43 +0100 +Subject: [PATCH] Do not build shared libraries with `-pie` + +`-pie` builds an executable and when passed after `-shared` won't create a shared library anymore. + +CMake 4.1.0 changed the order of `CMAKE_SHARED_LINKER_FLAGS` to be passed after the shared-library-creation-flags and the build now fails. + +However it was wrong to pass this flag to the shared library linking anyway, so remove it from there. +--- + CMakeLists.txt | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 962ef4d76..eb649b5a0 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -217,10 +217,10 @@ elseif(UNIX) + message(STATUS "No ISA flag set") + endif() + set(COMPILE_FLAGS "-fstack-protector-strong -fpie -Wformat -Wformat-security") +- set(LINKER_FLAGS "-pie -Wl,-z,relro -Wl,-z,now") ++ set(LINKER_FLAGS "-Wl,-z,relro -Wl,-z,now") + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${COMPILER_OPTIMIZATION_FLAGS} ${COMPILE_FLAGS}") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${COMPILER_OPTIMIZATION_FLAGS} ${COMPILE_FLAGS}") +- set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${LINKER_FLAGS}") ++ set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -pie ${LINKER_FLAGS}") + set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} ${LINKER_FLAGS}") + else() + message(STATUS "OS UNKNOWN CANNOT SET SIMD") From 80842a933f04123dfe42ba09b0f181e8dd893a40 Mon Sep 17 00:00:00 2001 From: Bart Oldeman Date: Fri, 6 Feb 2026 13:56:43 +0000 Subject: [PATCH 10/10] untabify --- .../easyconfigs/a/AOCL-LAPACK/AOCL-LAPACK-5.2-GCC-15.2.0.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/a/AOCL-LAPACK/AOCL-LAPACK-5.2-GCC-15.2.0.eb b/easybuild/easyconfigs/a/AOCL-LAPACK/AOCL-LAPACK-5.2-GCC-15.2.0.eb index 16663cda97b8..7dbe2e86bee8 100644 --- a/easybuild/easyconfigs/a/AOCL-LAPACK/AOCL-LAPACK-5.2-GCC-15.2.0.eb +++ b/easybuild/easyconfigs/a/AOCL-LAPACK/AOCL-LAPACK-5.2-GCC-15.2.0.eb @@ -39,7 +39,7 @@ components = [ 'patches': [ 'AOCL-LAPACK-5.1_support-shlib-netlib-tests.patch', 'AOCL-LAPACK-5.2_zen4_conditional_compilation.patch', - 'AOCL-LAPACK-5.2_no-shlibs-with-pie.patch', + 'AOCL-LAPACK-5.2_no-shlibs-with-pie.patch', ], 'checksums': [ {SOURCELOWER_TAR_GZ: 'fb5fe5128f718050c9911443fcf7ed91b60538a40d57084ed0124bb91afabb9b'},