From 9b2cfd9db6ca9ee67ab237904bcbfb6ecee53b8e Mon Sep 17 00:00:00 2001 From: Federico Perini Date: Mon, 19 Aug 2024 15:23:04 +0200 Subject: [PATCH 1/3] document HDF5 --- pages/spec/metapackages.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/pages/spec/metapackages.md b/pages/spec/metapackages.md index 12f22805d..0435666d7 100644 --- a/pages/spec/metapackages.md +++ b/pages/spec/metapackages.md @@ -102,3 +102,19 @@ Currently verified system configurations are: MPI C++ support on macOS is missing because homebrew is built with `clang`, whose C++ ABI is incompatible with the GNU C++ ABI needed to link against gfortran. ::: +## HDF5 + +```{code-block} toml +:emphasize-lines: 2 +name = "my_science_app" +dependencies.hdf5 = "*" +``` + +HDF5 is supported for Fortran, C and C++ languages. The `pkg-config` backend is employed by `fpm` to find a valid local HDF5 installation, so, please insure that `pkg-config` is also available when using this metapackage. + +Both the default and the high-level (`HL`) interfaces are linked against if available. +On Ubuntu, special steps are taken on Ubuntu to ensure `HL` are added. On Ubuntu with oneAPI compilers, CMake HDF5 installations are supported (`apt` versions only support `gfortran`). + +:::{note} +Codes using HDF5 built with `oneAPI` compilers should not have the `-standard-semantics` flag: it changes module name mangling from `_mp_` to `_MP_` which makes HDF5 modules unavailable. +::: From 508c741a563f6fc75025becef1a48ee156b0dbfe Mon Sep 17 00:00:00 2001 From: Federico Perini Date: Mon, 19 Aug 2024 15:24:19 +0200 Subject: [PATCH 2/3] cleanup --- pages/spec/metapackages.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pages/spec/metapackages.md b/pages/spec/metapackages.md index 0435666d7..0cd3cc39d 100644 --- a/pages/spec/metapackages.md +++ b/pages/spec/metapackages.md @@ -113,7 +113,8 @@ dependencies.hdf5 = "*" HDF5 is supported for Fortran, C and C++ languages. The `pkg-config` backend is employed by `fpm` to find a valid local HDF5 installation, so, please insure that `pkg-config` is also available when using this metapackage. Both the default and the high-level (`HL`) interfaces are linked against if available. -On Ubuntu, special steps are taken on Ubuntu to ensure `HL` are added. On Ubuntu with oneAPI compilers, CMake HDF5 installations are supported (`apt` versions only support `gfortran`). +- On Ubuntu, special steps are taken to ensure `HL` are added. +- On Ubuntu with oneAPI compilers, `CMake` HDF5 installations are supported (`apt` versions only support `gfortran`). :::{note} Codes using HDF5 built with `oneAPI` compilers should not have the `-standard-semantics` flag: it changes module name mangling from `_mp_` to `_MP_` which makes HDF5 modules unavailable. From 10e5e66038588fcf39e7d812f7a85851685115ac Mon Sep 17 00:00:00 2001 From: Federico Perini Date: Mon, 19 Aug 2024 17:04:54 +0200 Subject: [PATCH 3/3] use macos-12 --- .github/workflows/build.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 9f9c1bfc4..dbcad8ac6 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -9,7 +9,7 @@ jobs: strategy: fail-fast: false matrix: - os: [ubuntu-latest, macos-11, windows-latest] + os: [ubuntu-latest, macos-12, windows-latest] gcc: [10] steps: