From 63c75f0a38155420ba1f9a3cb05ff1e8ef089d93 Mon Sep 17 00:00:00 2001 From: Frithjof Gressmann Date: Sat, 23 Aug 2025 15:21:12 -0500 Subject: [PATCH 1/2] Ensure correct MPI linking This instructs uv to ignore prebuild mpi4py binaries to ensure proper linking against the available MPI version. Furthermore, this updates the linker language for the io module to C++ to prevent ABI mismatch. --- pyproject.toml | 15 ++++++++------- python/neuroh5/CMakeLists.txt | 2 +- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 121197d..db39dfd 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,13 +1,14 @@ [build-system] -requires = ["setuptools", "wheel", "numpy >= 1.21.6", "mpi4py >= 3.0.0",] +requires = ["setuptools", "wheel", "numpy >= 1.21.6", "mpi4py >= 3.0.0"] build-backend = "setuptools.build_meta" [project] name = "neuroh5" dynamic = ["version", "description", "entry-points", "maintainers", "readme"] -dependencies = [ - "click", - "h5py >= 3.0", - "numpy >= 1.21.6", - "mpi4py >= 3.0.0", -] \ No newline at end of file +dependencies = ["click", "h5py >= 3.0", "numpy >= 1.21.6", "mpi4py >= 3.0.0"] + +[tool.uv] +no-binary-package = ["mpi4py"] + +[tool.uv.pip] +no-binary = ["mpi4py"] diff --git a/python/neuroh5/CMakeLists.txt b/python/neuroh5/CMakeLists.txt index be1206b..8d38fcd 100644 --- a/python/neuroh5/CMakeLists.txt +++ b/python/neuroh5/CMakeLists.txt @@ -21,7 +21,7 @@ set_target_properties( PROPERTIES PREFIX "" OUTPUT_NAME ${NEUROH5_IO_PYTHON_C_MODULE_NAME} - LINKER_LANGUAGE C + LINKER_LANGUAGE CXX ) From 139a206e921c9b75c09b300e22ae7c42428b660a Mon Sep 17 00:00:00 2001 From: Frithjof Gressmann Date: Mon, 25 Aug 2025 14:48:30 -0500 Subject: [PATCH 2/2] Rollback to C linking --- python/neuroh5/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/python/neuroh5/CMakeLists.txt b/python/neuroh5/CMakeLists.txt index 8d38fcd..be1206b 100644 --- a/python/neuroh5/CMakeLists.txt +++ b/python/neuroh5/CMakeLists.txt @@ -21,7 +21,7 @@ set_target_properties( PROPERTIES PREFIX "" OUTPUT_NAME ${NEUROH5_IO_PYTHON_C_MODULE_NAME} - LINKER_LANGUAGE CXX + LINKER_LANGUAGE C )