From 551b80b7210430224767efe0b480b65c6729aa27 Mon Sep 17 00:00:00 2001 From: Dom Heinzeller Date: Thu, 6 Nov 2025 15:41:58 -0700 Subject: [PATCH 1/2] Bug fix in repos/spack_repo/builtin/packages/netcdf_c/package.py to find MPI functions when build system is cmake --- repos/spack_repo/builtin/packages/netcdf_c/package.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/repos/spack_repo/builtin/packages/netcdf_c/package.py b/repos/spack_repo/builtin/packages/netcdf_c/package.py index 1271a3c68cd..03daf8ffbb3 100644 --- a/repos/spack_repo/builtin/packages/netcdf_c/package.py +++ b/repos/spack_repo/builtin/packages/netcdf_c/package.py @@ -297,6 +297,16 @@ def patch(self): "ncgen/CMakeLists.txt", string=True ) + # https://github.com/Unidata/netcdf-c/issues/3199 + filter_file( + "CHECK_FUNCTION_EXISTS(MPI_Comm_f2c HAVE_MPI_COMM_F2C)", + """if(MPI_mpi_LIBRARY) + SET(CMAKE_REQUIRED_LIBRARIES ${MPI_mpi_LIBRARY} ${CMAKE_REQUIRED_LIBRARIES}) +endif() +CHECK_FUNCTION_EXISTS(MPI_Comm_f2c HAVE_MPI_COMM_F2C)""", + "CMakeLists.txt", + string = True + ) def setup_run_environment(self, env: EnvironmentModifications) -> None: if self.spec.satisfies("@4.9.0:+shared"): From e135cac2e7b995cdc268c6f76a41529562425d26 Mon Sep 17 00:00:00 2001 From: Dom Heinzeller Date: Wed, 12 Nov 2025 05:57:59 -0700 Subject: [PATCH 2/2] For netcdf-c, apply cmake patches only of build_system=cmake --- repos/spack_repo/builtin/packages/netcdf_c/package.py | 1 + 1 file changed, 1 insertion(+) diff --git a/repos/spack_repo/builtin/packages/netcdf_c/package.py b/repos/spack_repo/builtin/packages/netcdf_c/package.py index 03daf8ffbb3..2af8466c122 100644 --- a/repos/spack_repo/builtin/packages/netcdf_c/package.py +++ b/repos/spack_repo/builtin/packages/netcdf_c/package.py @@ -288,6 +288,7 @@ class NetcdfC(CMakePackage, AutotoolsPackage): build_system("cmake", "autotools", default=default_build_system) + @when("build_system=cmake") def patch(self): """Fix bad code in ncgen/CMakeLists.txt that removes the rpath for dependencies like hdf5."""