[netcdf-porting] Autotools build system changes against v4.2.1.1

NOTE: The netcdf-porting mailing list is no longer active. The list archives are made available for historical reasons.

Hi, I've recently added NetCDF as a sub package to a finite element library I 
maintain:
http://libmesh.sf.net

I have had to make a few small changes, which I hope will be incorporated 
upstream.

The issues are:

(1) older versions of HDF5 do not define H5F_LIBVER_18.  Is H5F_LIBVER_LATEST 
suitable?  For the HDF5 that comes with CentOS 6, for example, H5F_LIBVER_18 is 
not defined.

(2) there is no make rule for crest.c or ctest64.c when BUILD_TESTSETS is not 
defined, hence it is not possible to do a 'make dist' following a 'make clean' 
in this configuration.  This is fixed by defining the rule outside the 
AM_CONDITIONAL.

(3) also, file libdispatch/ncaux.c in the source distributions has DOS 
line-endings, and I had to run dos2unix on it in order for Solaris Studio to 
compile it.


The below patch below implements my 'fixes' for issues #1 & #2.

Thanks,

-Ben





diff --git a/contrib/netcdf/4.2.1.1/h5_test/tst_h_dimscales4.c 
b/contrib/netcdf/4.2.1.1/h5_test/tst_h_dimscales4.c
index fae8aaa..e8f7240 100644
--- a/contrib/netcdf/4.2.1.1/h5_test/tst_h_dimscales4.c
+++ b/contrib/netcdf/4.2.1.1/h5_test/tst_h_dimscales4.c
@@ -13,6 +13,11 @@
 #include <H5DSpublic.h>
 #include <ncdimscale.h>
 
+/* BSK - compatibility fix for at least hdf5-1.8.5.patch1-5.el6.x86_64 */
+#ifndef H5F_LIBVER_18
+#  define H5F_LIBVER_18 H5F_LIBVER_LATEST
+#endif
+
 #define FILE_NAME "tst_h_dimscales4.h5"
 #define DIMSCALE_NAME "AAA_dimscale"
 #define VAR1_NAME "Watson"
diff --git a/contrib/netcdf/4.2.1.1/libsrc4/nc4file.c 
b/contrib/netcdf/4.2.1.1/libsrc4/nc4file.c
index bea85d8..9401470 100644
--- a/contrib/netcdf/4.2.1.1/libsrc4/nc4file.c
+++ b/contrib/netcdf/4.2.1.1/libsrc4/nc4file.c
@@ -286,7 +286,11 @@ nc4_create_file(const char *path, int cmode, MPI_Comm 
comm, MPI_Info info,
    LOG((4, "nc4_create_file: set HDF raw chunk cache to size %d nelems %d 
preemption %f", 
        nc4_chunk_cache_size, nc4_chunk_cache_nelems, 
nc4_chunk_cache_preemption));
 #endif /* USE_PARALLEL */
-   
+
+   /* BSK - compatibility fix for at least hdf5-1.8.5.patch1-5.el6.x86_64 */
+   #ifndef H5F_LIBVER_18
+   #  define H5F_LIBVER_18 H5F_LIBVER_LATEST
+   #endif
    if (H5Pset_libver_bounds(fapl_id, H5F_LIBVER_18, H5F_LIBVER_18) < 0)
       BAIL(NC_EHDFERR);
 
diff --git a/contrib/netcdf/4.2.1.1/ncdump/Makefile.am 
b/contrib/netcdf/4.2.1.1/ncdump/Makefile.am
index 285bdb3..60efdcf 100644
--- a/contrib/netcdf/4.2.1.1/ncdump/Makefile.am
+++ b/contrib/netcdf/4.2.1.1/ncdump/Makefile.am
@@ -82,7 +82,14 @@ TESTS += tst_ncgen4.sh
 endif
 #endif
 
-endif BUILD_TESTSETS
+else # when BUILD_TESTSETS is false, we still need this rule
+ctest.c:
+       cp $(top_srcdir)/ncdump/ref_ctest.c $(top_srcdir)/ncdump/ctest.c
+
+ctest64.c:
+       cp $(top_srcdir)/ncdump/ref_ctest64.c $(top_srcdir)/ncdump/ctest64.c
+
+endif BUILD_TESTSETS_FALSE
 
 CLEANFILES = test0.nc test1.cdl test1.nc test2.cdl ctest1.cdl ctest.c  \
 ctest64.c ctest0.nc ctest0_64.nc c1.cdl ctest1_64.cdl c0.nc small.nc   \



  • 2013 messages navigation, sorted by:
    1. Thread
    2. Subject
    3. Author
    4. Date
    5. ↑ Table Of Contents
  • Search the netcdf-porting archives: