summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--var/spack/repos/builtin/packages/hdf5/h5f90global-mult-obj-same-equivalence-same-common-block.patch16
-rw-r--r--var/spack/repos/builtin/packages/hdf5/package.py6
2 files changed, 22 insertions, 0 deletions
diff --git a/var/spack/repos/builtin/packages/hdf5/h5f90global-mult-obj-same-equivalence-same-common-block.patch b/var/spack/repos/builtin/packages/hdf5/h5f90global-mult-obj-same-equivalence-same-common-block.patch
new file mode 100644
index 0000000000..8bf5c142e9
--- /dev/null
+++ b/var/spack/repos/builtin/packages/hdf5/h5f90global-mult-obj-same-equivalence-same-common-block.patch
@@ -0,0 +1,16 @@
+diff --git a/fortran/src/H5f90global.F90 b/fortran/src/H5f90global.F90
+index dd2b171..629418a 100644
+--- a/fortran/src/H5f90global.F90
++++ b/fortran/src/H5f90global.F90
+@@ -142,10 +142,7 @@ MODULE H5GLOBAL
+
+ INTEGER(HID_T), DIMENSION(PREDEF_TYPES_LEN) :: predef_types
+ EQUIVALENCE (predef_types(1), H5T_NATIVE_INTEGER_KIND(1))
+- EQUIVALENCE (predef_types(2), H5T_NATIVE_INTEGER_KIND(2))
+- EQUIVALENCE (predef_types(3), H5T_NATIVE_INTEGER_KIND(3))
+- EQUIVALENCE (predef_types(4), H5T_NATIVE_INTEGER_KIND(4))
+- EQUIVALENCE (predef_types(5), H5T_NATIVE_INTEGER_KIND(5))
++ ! EQUIVALENCE predef_types(2:5) are unnecessary and violate the standard
+ EQUIVALENCE (predef_types(6), H5T_NATIVE_INTEGER)
+ EQUIVALENCE (predef_types(7), H5T_NATIVE_REAL)
+ EQUIVALENCE (predef_types(8), H5T_NATIVE_DOUBLE)
diff --git a/var/spack/repos/builtin/packages/hdf5/package.py b/var/spack/repos/builtin/packages/hdf5/package.py
index 5a15b33d98..6477d9cee2 100644
--- a/var/spack/repos/builtin/packages/hdf5/package.py
+++ b/var/spack/repos/builtin/packages/hdf5/package.py
@@ -90,6 +90,12 @@ class Hdf5(AutotoolsPackage):
# described in #2 we allow for such combination.
# conflicts('+mpi+cxx')
+ # There are known build failures with intel@18.0.1. This issue is
+ # discussed and patch is provided at
+ # https://software.intel.com/en-us/forums/intel-fortran-compiler-for-linux-and-mac-os-x/topic/747951.
+ patch('h5f90global-mult-obj-same-equivalence-same-common-block.patch',
+ when='@1.10.1%intel@18')
+
def url_for_version(self, version):
url = "https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-{0}/hdf5-{1}/src/hdf5-{1}.tar.gz"
return url.format(version.up_to(2), version)