The recent update from hdf5 1.8.16 to 1.10.0 has introduced
an issue with ABI incompatibility. Thus, anyone that has
code written to the 1.8.16 ABI may find that their code no
longer functions with 1.10.0. This should have been noted
in ports/UPDATING.
To fix the problem (currently under testin), one needs to
apply the following patches.
Index: Makefile
===================================================================
--- Makefile (revision 415194)
+++ Makefile (working copy)
@@ -23,7 +23,8 @@
CONFIGURE_ARGS= --enable-cxx \
--enable-hl \
--enable-instrument \
- --enable-strict-format-checks
+ --enable-strict-format-checks \
+ --with-default-api-version=v18
GNU_CONFIGURE= yes
INSTALL_TARGET= install-strip
MAKE_JOBS_UNSAFE= yes
--- work/hdf5-1.10.0/fortran/src/H5_f.c.orig 2016-05-30 11:51:55.838813000
-0700
+++ work/hdf5-1.10.0/fortran/src/H5_f.c 2016-05-30 11:52:46.901739000 -0700
@@ -227,14 +227,14 @@
/*
* FIND H5T_NATIVE_REAL_C_LONG_DOUBLE
*/
-#if H5_FORTRAN_C_LONG_DOUBLE_IS_UNIQUE!=0
+#if FORTRAN_C_LONG_DOUBLE_IS_UNIQUE!=0
if (sizeof(real_C_LONG_DOUBLE_f) == sizeof(float)) {
if ((types[12] = (hid_t_f)H5Tcopy(H5T_NATIVE_FLOAT)) < 0) return
ret_value;
} /*end if */
else if (sizeof(real_C_LONG_DOUBLE_f) == sizeof(double)) {
if ((types[12] = (hid_t_f)H5Tcopy(H5T_NATIVE_DOUBLE)) < 0) return
ret_value;
} /*end if */
-# if H5_FORTRAN_HAVE_C_LONG_DOUBLE!=0
+# if FORTRAN_HAVE_C_LONG_DOUBLE!=0
else if (sizeof(real_C_LONG_DOUBLE_f) == sizeof(long double)) {
if ( H5_PAC_C_MAX_REAL_PRECISION >= H5_PAC_FC_MAX_REAL_PRECISION) {
if ((types[12] = (hid_t_f)H5Tcopy(H5T_NATIVE_LDOUBLE)) < 0) return
ret_value;
Please supply either a science/hdf5-1.8 port, revert the 1.10.0
update, or consider the above patches.
--
Steve
_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to "[email protected]"