Skip to content

{numlib}[foss/2024a] DOLFINx-0.9.0, FFCx-0.9.0, KaHIP-3.18, spdlog-1.12.0, UFL-2024.2.0, scikit-build-core-0.11.0#22700

Closed
moravveji wants to merge 15 commits intoeasybuilders:developfrom
moravveji:dolfinx-2024a
Closed

{numlib}[foss/2024a] DOLFINx-0.9.0, FFCx-0.9.0, KaHIP-3.18, spdlog-1.12.0, UFL-2024.2.0, scikit-build-core-0.11.0#22700
moravveji wants to merge 15 commits intoeasybuilders:developfrom
moravveji:dolfinx-2024a

Conversation

@moravveji
Copy link
Copy Markdown
Contributor

@moravveji moravveji commented Apr 3, 2025

This PR adds new or updated easyconfigs for building DOLFINx with foss/2024a. I also have to mention that this PR is inspired by PR #22422. Here are the list of included dependencies:

  • DOLFINx-0.9.0.post1-foss-2024a.eb
  • FFCx-0.9.0-gfbf-2024a.eb
  • `KaHIP-3.18-gompi-2024a.eb
  • UFL-2024.2.0-gfbf-2024a.eb

Requires:

@github-actions
Copy link
Copy Markdown

github-actions bot commented Apr 3, 2025

Updated software KaHIP-3.18-gompi-2024a.eb

Diff against KaHIP-3.19-gompi-2025a.eb

easybuild/easyconfigs/k/KaHIP/KaHIP-3.19-gompi-2025a.eb

diff --git a/easybuild/easyconfigs/k/KaHIP/KaHIP-3.19-gompi-2025a.eb b/easybuild/easyconfigs/k/KaHIP/KaHIP-3.18-gompi-2024a.eb
index 3a4e2623ad..abb8fd4f2b 100644
--- a/easybuild/easyconfigs/k/KaHIP/KaHIP-3.19-gompi-2025a.eb
+++ b/easybuild/easyconfigs/k/KaHIP/KaHIP-3.18-gompi-2024a.eb
@@ -1,38 +1,26 @@
-# METIS support added
-# Author: J. Saßmannshausen (Imperial College London/UK)
-
 easyblock = 'CMakeMake'
 
 name = 'KaHIP'
-version = '3.19'
+version = '3.18'
 
 homepage = 'https://kahip.github.io/'
-description = """The graph partitioning framework KaHIP --
-Karlsruhe High Quality Partitioning."""
+description = """The graph partitioning framework KaHIP -- Karlsruhe High Quality Partitioning."""
 
-toolchain = {'name': 'gompi', 'version': '2025a'}
+toolchain = {'name': 'gompi', 'version': '2024a'}
 toolchainopts = {'pic': True}
 
 source_urls = ['https://github.com/KaHIP/KaHIP/archive/refs/tags']
 sources = ['v%(version)s.tar.gz']
-checksums = ['ab128104d198061b4dcad76f760aca240b96de781c1b586235ee4f12fd6829c6']
+checksums = ['e5003fa324362255d837899186cd0c3e42d376664f0d555e7e7a1d51334817c9']
 
 builddependencies = [
     ('binutils', '2.42'),
-    ('CMake', '3.31.3'),
-]
-
-dependencies = [
-    ('GKlib-METIS', '5.1.1'),
-    ('METIS', '5.1.0'),
-    ('gperftools', '2.16'),
+    ('CMake', '3.29.3'),
 ]
 
-configopts = '-DUSE_TCMALLOC=ON '
-
 sanity_check_paths = {
-    'files': ["lib/libkahip_static.a", f"lib/libkahip.{SHLIB_EXT}"] +
-             ["lib/libparhip_interface_static.a", f"lib/libparhip_interface.{SHLIB_EXT}"] +
+    'files': ["lib/libkahip_static.a", "lib/libkahip.%s" % SHLIB_EXT] +
+             ["lib/libparhip_interface_static.a", "lib/libparhip_interface.%s" % SHLIB_EXT] +
              ["include/%s" % x for x in ["kaHIP_interface.h", "parhip_interface.h"]],
     'dirs': [],
 }
Diff against KaHIP-3.19-gompi-2025b.eb

easybuild/easyconfigs/k/KaHIP/KaHIP-3.19-gompi-2025b.eb

diff --git a/easybuild/easyconfigs/k/KaHIP/KaHIP-3.19-gompi-2025b.eb b/easybuild/easyconfigs/k/KaHIP/KaHIP-3.18-gompi-2024a.eb
index 0255620044..abb8fd4f2b 100644
--- a/easybuild/easyconfigs/k/KaHIP/KaHIP-3.19-gompi-2025b.eb
+++ b/easybuild/easyconfigs/k/KaHIP/KaHIP-3.18-gompi-2024a.eb
@@ -1,38 +1,26 @@
-# METIS support added
-# Author: J. Saßmannshausen (Imperial College London/UK)
-
 easyblock = 'CMakeMake'
 
 name = 'KaHIP'
-version = '3.19'
+version = '3.18'
 
 homepage = 'https://kahip.github.io/'
-description = """The graph partitioning framework KaHIP --
-Karlsruhe High Quality Partitioning."""
+description = """The graph partitioning framework KaHIP -- Karlsruhe High Quality Partitioning."""
 
-toolchain = {'name': 'gompi', 'version': '2025b'}
+toolchain = {'name': 'gompi', 'version': '2024a'}
 toolchainopts = {'pic': True}
 
 source_urls = ['https://github.com/KaHIP/KaHIP/archive/refs/tags']
 sources = ['v%(version)s.tar.gz']
-checksums = ['ab128104d198061b4dcad76f760aca240b96de781c1b586235ee4f12fd6829c6']
+checksums = ['e5003fa324362255d837899186cd0c3e42d376664f0d555e7e7a1d51334817c9']
 
 builddependencies = [
-    ('binutils', '2.44'),
-    ('CMake', '3.31.8'),
-]
-
-dependencies = [
-    ('GKlib-METIS', '5.1.1'),
-    ('METIS', '5.1.0'),
-    ('gperftools', '2.17.2'),
+    ('binutils', '2.42'),
+    ('CMake', '3.29.3'),
 ]
 
-configopts = '-DUSE_TCMALLOC=ON '
-
 sanity_check_paths = {
-    'files': ["lib/libkahip_static.a", f"lib/libkahip.{SHLIB_EXT}"] +
-             ["lib/libparhip_interface_static.a", f"lib/libparhip_interface.{SHLIB_EXT}"] +
+    'files': ["lib/libkahip_static.a", "lib/libkahip.%s" % SHLIB_EXT] +
+             ["lib/libparhip_interface_static.a", "lib/libparhip_interface.%s" % SHLIB_EXT] +
              ["include/%s" % x for x in ["kaHIP_interface.h", "parhip_interface.h"]],
     'dirs': [],
 }
Diff against KaHIP-3.16-gompi-2023b.eb

easybuild/easyconfigs/k/KaHIP/KaHIP-3.16-gompi-2023b.eb

diff --git a/easybuild/easyconfigs/k/KaHIP/KaHIP-3.16-gompi-2023b.eb b/easybuild/easyconfigs/k/KaHIP/KaHIP-3.18-gompi-2024a.eb
index 54bd3fdc06..abb8fd4f2b 100644
--- a/easybuild/easyconfigs/k/KaHIP/KaHIP-3.16-gompi-2023b.eb
+++ b/easybuild/easyconfigs/k/KaHIP/KaHIP-3.18-gompi-2024a.eb
@@ -1,21 +1,21 @@
 easyblock = 'CMakeMake'
 
 name = 'KaHIP'
-version = '3.16'
+version = '3.18'
 
 homepage = 'https://kahip.github.io/'
 description = """The graph partitioning framework KaHIP -- Karlsruhe High Quality Partitioning."""
 
-toolchain = {'name': 'gompi', 'version': '2023b'}
+toolchain = {'name': 'gompi', 'version': '2024a'}
 toolchainopts = {'pic': True}
 
 source_urls = ['https://github.com/KaHIP/KaHIP/archive/refs/tags']
 sources = ['v%(version)s.tar.gz']
-checksums = ['b0ef72a26968d37d9baa1304f7a113b61e925966a15e86578d44e26786e76c75']
+checksums = ['e5003fa324362255d837899186cd0c3e42d376664f0d555e7e7a1d51334817c9']
 
 builddependencies = [
-    ('binutils', '2.40'),
-    ('CMake', '3.27.6'),
+    ('binutils', '2.42'),
+    ('CMake', '3.29.3'),
 ]
 
 sanity_check_paths = {

Updated software scikit-build-core-0.11.0-GCCcore-13.3.0.eb

Diff against scikit-build-core-0.11.1-GCCcore-13.3.0.eb

easybuild/easyconfigs/s/scikit-build-core/scikit-build-core-0.11.1-GCCcore-13.3.0.eb

diff --git a/easybuild/easyconfigs/s/scikit-build-core/scikit-build-core-0.11.1-GCCcore-13.3.0.eb b/easybuild/easyconfigs/s/scikit-build-core/scikit-build-core-0.11.0-GCCcore-13.3.0.eb
index 73f44c8965..135b7b0f8c 100644
--- a/easybuild/easyconfigs/s/scikit-build-core/scikit-build-core-0.11.1-GCCcore-13.3.0.eb
+++ b/easybuild/easyconfigs/s/scikit-build-core/scikit-build-core-0.11.0-GCCcore-13.3.0.eb
@@ -1,7 +1,7 @@
 easyblock = 'PythonBundle'
 
 name = 'scikit-build-core'
-version = '0.11.1'
+version = '0.11.0'
 
 homepage = 'https://scikit-build.readthedocs.io/en/latest/'
 description = """Scikit-build-core is a complete ground-up rewrite of scikit-build on top of
@@ -12,11 +12,12 @@ toolchain = {'name': 'GCCcore', 'version': '13.3.0'}
 
 builddependencies = [
     ('binutils', '2.42'),
-    ('hatchling', '1.27.0'),
+    ('hatchling', '1.24.2'),
 ]
 
 dependencies = [
     ('Python', '3.12.3'),
+    ('Python-bundle-PyPI', '2024.06'),
     ('CMake', '3.29.3'),
 ]
 
@@ -25,11 +26,8 @@ exts_list = [
         'sources': ['pyproject_metadata-%(version)s.tar.gz'],
         'checksums': ['b8b2253dd1b7062b78cf949a115f02ba7fa4114aabe63fa10528e9e1a954a816'],
     }),
-    ('pathspec', '0.12.1', {
-        'checksums': ['a482d51503a1ab33b1c67a6c3813a26953dbdc71c31dacaef9a838c4e29f5712'],
-    }),
     ('scikit_build_core', version, {
-        'checksums': ['4e5988df5cd33f0bdb9967b72663ca99f50383c9bc21d8b24fa40c0661ae72b7'],
+        'checksums': ['423d8b0885bf1942816c851f8ec7c1efc0a7ecad4f38ff43d5ba869a894b107b'],
     }),
 ]
 
Diff against scikit-build-core-0.11.5-GCCcore-14.3.0.eb

easybuild/easyconfigs/s/scikit-build-core/scikit-build-core-0.11.5-GCCcore-14.3.0.eb

diff --git a/easybuild/easyconfigs/s/scikit-build-core/scikit-build-core-0.11.5-GCCcore-14.3.0.eb b/easybuild/easyconfigs/s/scikit-build-core/scikit-build-core-0.11.0-GCCcore-13.3.0.eb
index 5078531124..135b7b0f8c 100644
--- a/easybuild/easyconfigs/s/scikit-build-core/scikit-build-core-0.11.5-GCCcore-14.3.0.eb
+++ b/easybuild/easyconfigs/s/scikit-build-core/scikit-build-core-0.11.0-GCCcore-13.3.0.eb
@@ -1,23 +1,24 @@
 easyblock = 'PythonBundle'
 
 name = 'scikit-build-core'
-version = '0.11.5'
+version = '0.11.0'
 
 homepage = 'https://scikit-build.readthedocs.io/en/latest/'
 description = """Scikit-build-core is a complete ground-up rewrite of scikit-build on top of
 modern packaging APIs. It provides a bridge between CMake and the Python build
 system, allowing you to make Python modules with CMake."""
 
-toolchain = {'name': 'GCCcore', 'version': '14.3.0'}
+toolchain = {'name': 'GCCcore', 'version': '13.3.0'}
 
 builddependencies = [
-    ('binutils', '2.44'),
-    ('hatchling', '1.27.0'),
+    ('binutils', '2.42'),
+    ('hatchling', '1.24.2'),
 ]
 
 dependencies = [
-    ('Python', '3.13.5'),
-    ('CMake', '4.0.3'),
+    ('Python', '3.12.3'),
+    ('Python-bundle-PyPI', '2024.06'),
+    ('CMake', '3.29.3'),
 ]
 
 exts_list = [
@@ -25,11 +26,8 @@ exts_list = [
         'sources': ['pyproject_metadata-%(version)s.tar.gz'],
         'checksums': ['b8b2253dd1b7062b78cf949a115f02ba7fa4114aabe63fa10528e9e1a954a816'],
     }),
-    ('pathspec', '0.12.1', {
-        'checksums': ['a482d51503a1ab33b1c67a6c3813a26953dbdc71c31dacaef9a838c4e29f5712'],
-    }),
     ('scikit_build_core', version, {
-        'checksums': ['8f0a1edb86cb087876f3c699d2a2682012efd8867b390ed37355f13949d0628e'],
+        'checksums': ['423d8b0885bf1942816c851f8ec7c1efc0a7ecad4f38ff43d5ba869a894b107b'],
     }),
 ]
 
Diff against scikit-build-core-0.11.1-GCCcore-14.2.0.eb

easybuild/easyconfigs/s/scikit-build-core/scikit-build-core-0.11.1-GCCcore-14.2.0.eb

diff --git a/easybuild/easyconfigs/s/scikit-build-core/scikit-build-core-0.11.1-GCCcore-14.2.0.eb b/easybuild/easyconfigs/s/scikit-build-core/scikit-build-core-0.11.0-GCCcore-13.3.0.eb
index 3357b19e19..135b7b0f8c 100644
--- a/easybuild/easyconfigs/s/scikit-build-core/scikit-build-core-0.11.1-GCCcore-14.2.0.eb
+++ b/easybuild/easyconfigs/s/scikit-build-core/scikit-build-core-0.11.0-GCCcore-13.3.0.eb
@@ -1,23 +1,24 @@
 easyblock = 'PythonBundle'
 
 name = 'scikit-build-core'
-version = '0.11.1'
+version = '0.11.0'
 
 homepage = 'https://scikit-build.readthedocs.io/en/latest/'
 description = """Scikit-build-core is a complete ground-up rewrite of scikit-build on top of
 modern packaging APIs. It provides a bridge between CMake and the Python build
 system, allowing you to make Python modules with CMake."""
 
-toolchain = {'name': 'GCCcore', 'version': '14.2.0'}
+toolchain = {'name': 'GCCcore', 'version': '13.3.0'}
 
 builddependencies = [
     ('binutils', '2.42'),
-    ('hatchling', '1.27.0'),
+    ('hatchling', '1.24.2'),
 ]
 
 dependencies = [
-    ('Python', '3.13.1'),
-    ('CMake', '3.31.3'),
+    ('Python', '3.12.3'),
+    ('Python-bundle-PyPI', '2024.06'),
+    ('CMake', '3.29.3'),
 ]
 
 exts_list = [
@@ -25,11 +26,8 @@ exts_list = [
         'sources': ['pyproject_metadata-%(version)s.tar.gz'],
         'checksums': ['b8b2253dd1b7062b78cf949a115f02ba7fa4114aabe63fa10528e9e1a954a816'],
     }),
-    ('pathspec', '0.12.1', {
-        'checksums': ['a482d51503a1ab33b1c67a6c3813a26953dbdc71c31dacaef9a838c4e29f5712'],
-    }),
     ('scikit_build_core', version, {
-        'checksums': ['4e5988df5cd33f0bdb9967b72663ca99f50383c9bc21d8b24fa40c0661ae72b7'],
+        'checksums': ['423d8b0885bf1942816c851f8ec7c1efc0a7ecad4f38ff43d5ba869a894b107b'],
     }),
 ]
 

sources = ['v%(version)s.tar.gz']
checksums = ['4dccf2d10f410c1e2feaff89966bfc49a1abb29ef6f08246335b110e001e09a9']

configopts = '-DCMAKE_POSITION_INDEPENDENT_CODE=ON'
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is usually done by toolchainopts = { pic:True }

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is fixed in 3efe419.

@sassy-crick
Copy link
Copy Markdown
Collaborator

Some suggestions:

  • change the title to:
{numlib}[foss/2024a] DOLFINx-0.9.0, FFCx-0.9.0, KaHIP-3.18, SLEPc-3.22.2, spdlog-1.12.0, UFL-2024.2.0, ParMETIS-4.0.3, SuperLU_DIST-9.1.0
  • make clear of the requirements:
    instead:
Basix/0.9.0-gfbf-2024a (from PR https://github.com/easybuilders/easybuild-easyconfigs/pull/22697)

better:

Requires:
- [ ] PR #22697

That way, if that PR is merged, we can tick it and it makes it a bit easier. Just have a look at other PRs and I am sure you can see what I mean.

@sassy-crick
Copy link
Copy Markdown
Collaborator

It looks like PETSc-3.22.4-foss-2024a.eb is missing as I could not find it in the open PRs. Could it be it has been forgotten to be uploaded?

@sassy-crick
Copy link
Copy Markdown
Collaborator

One way to make life easier is to use the EasyBuild built-in GitHub integration like this:

$ eb --new-pr FOO.eb

which will sort out the title for you. Not sure if you are already doing that though. :-)
Check out the EasyBuild documentation about how the integration with GitHub works.

@moravveji moravveji changed the title Adding DOLFINx for 2024a {numlib}[foss/2024a] DOLFINx-0.9.0, FFCx-0.9.0, KaHIP-3.18, SLEPc-3.22.2, spdlog-1.12.0, UFL-2024.2.0, ParMETIS-4.0.3, SuperLU_DIST-9.1.0 May 6, 2025
@moravveji
Copy link
Copy Markdown
Contributor Author

Thanks for the tips; I applied both changes.

@moravveji
Copy link
Copy Markdown
Contributor Author

It looks like PETSc-3.22.4-foss-2024a.eb is missing as I could not find it in the open PRs. Could it be it has been forgotten to be uploaded?

Added in f32a1d5.

@moravveji
Copy link
Copy Markdown
Contributor Author

One way to make life easier is to use the EasyBuild built-in GitHub integration like this:

Unfortunately, I never got to fully setup my github integration to start new PRs. That's why I do it old-school ;-)

@moravveji moravveji changed the title {numlib}[foss/2024a] DOLFINx-0.9.0, FFCx-0.9.0, KaHIP-3.18, SLEPc-3.22.2, spdlog-1.12.0, UFL-2024.2.0, ParMETIS-4.0.3, SuperLU_DIST-9.1.0 {numlib}[foss/2024a] DOLFINx-0.9.0, FFCx-0.9.0, KaHIP-3.18, SLEPc-3.22.2, spdlog-1.12.0, UFL-2024.2.0, ParMETIS-4.0.3, SuperLU_DIST-9.1.0, scikit-build-core-0.11.0 May 6, 2025
@sassy-crick sassy-crick added the 2024a issues & PRs related to 2024a common toolchains label Aug 18, 2025
@boegel
Copy link
Copy Markdown
Member

boegel commented Aug 19, 2025

This is blocked by merge conflicts & failing CI, can we revive this so it's eligible for merging?

@moravveji
Copy link
Copy Markdown
Contributor Author

This is blocked by merge conflicts & failing CI, can we revive this so it's eligible for merging?

I have already been revisiting this PR, but building compatible version of PETSc (i.e. 3.23.5) is giving me some trouble, as reported in the issue #23717 . Once that is fixed, I will update the dependencies of building DOLFINx to be compatible with the versions upstream and retry to build it.

@moravveji moravveji changed the title {numlib}[foss/2024a] DOLFINx-0.9.0, FFCx-0.9.0, KaHIP-3.18, SLEPc-3.22.2, spdlog-1.12.0, UFL-2024.2.0, ParMETIS-4.0.3, SuperLU_DIST-9.1.0, scikit-build-core-0.11.0 {numlib}[foss/2024a] DOLFINx-0.9.0, FFCx-0.9.0, KaHIP-3.18, spdlog-1.12.0, UFL-2024.2.0, ParMETIS-4.0.3, SuperLU_DIST-9.1.0, scikit-build-core-0.11.0 Aug 25, 2025
@moravveji moravveji changed the title {numlib}[foss/2024a] DOLFINx-0.9.0, FFCx-0.9.0, KaHIP-3.18, spdlog-1.12.0, UFL-2024.2.0, ParMETIS-4.0.3, SuperLU_DIST-9.1.0, scikit-build-core-0.11.0 {numlib}[foss/2024a] DOLFINx-0.9.0, FFCx-0.9.0, KaHIP-3.18, spdlog-1.12.0, UFL-2024.2.0, scikit-build-core-0.11.0 Aug 25, 2025
@Flamefire
Copy link
Copy Markdown
Contributor

Why would you want to delete existing easyconfigs from develop? I guess that wasn't intended

@moravveji
Copy link
Copy Markdown
Contributor Author

Why would you want to delete existing easyconfigs from develop? I guess that wasn't intended

OOPS. Indeed not. I just wanted to remove duplicate easyconfigs but I happened to mess up brilliantly. I will revive the two missing ones.

@github-actions github-actions bot removed the change label Dec 2, 2025
@moravveji
Copy link
Copy Markdown
Contributor Author

@Flamefire : I updated the easyconfigs in this PR making sure I avoid duplicates.
Because this PR depends on that of Basix, I need to get back to that of Basix and revisit this once that one is approved.

@sassy-crick
Copy link
Copy Markdown
Collaborator

There are also some other PRs open for DOLPHINx most notably this one here:

which has been merged. You might want to have a look what has been done there and change your PR accordingly. :-)

@moravveji
Copy link
Copy Markdown
Contributor Author

Closing this PR in favor of #23838

@moravveji moravveji closed this Jan 6, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

2024a issues & PRs related to 2024a common toolchains new update

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants