[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[netCDF #MVM-110226]: HDF5 and configure
- Subject: [netCDF #MVM-110226]: HDF5 and configure
- Date: Wed, 12 Sep 2012 09:04:52 -0600
Hi Mathieu,
> we were trying to compile HDF5 with configure
> and we found that there is no option for hdf5 in it:
> ------
> dutour@dutour-Satellite-L655:~/netcdf-4.1.3$ ./configure --help | grep -i
> hdf
> --disable-netcdf-4 build with netcdf-4 (HDF5 and zlib required)
> --enable-netcdf4 build with netcdf-4 (HDF5 and zlib required)
> --enable-hdf4 build netcdf-4 with HDF4 read capability (HDF4,
> HDF5
> --enable-hdf4-file-tests
> get some HDF4 files from Unidata ftp site and test
> Forecast conventions. (Requires netCDF-4 and HDF5)
> Specify default file cache chunk size for HDF5
> files
> file chunk cache chunk for HDF5 files (should be
> for HDF5 files (a number between 0 and 1,
> ------
> We would have expected a --with-hdf5-prefix=.... but there is no
> such thing. Instead we used CPPFLAGS and LDFLAGS.
>
> There may be some reason for that but right now this looks very
> strange.
The change in how the locations of the various libraries are handled
was to fix a bug caused by using "--with-hdf5=".
I need to promote this to an FAQ answer, so people can see what lead
to this decision. Here's a draft of what the FAQ will look like:
Q: Why was the "--with-hdf5=" configure option dropped in netCDF
versions after 4.1.3?
A: It fails badly in the area of 32/64 bit platforms (i.e. platforms
that want both a 32 bit and a 64 bit version of the library
installed at the same time.) It also adds a lot of code to our
build system.
Since this is not the normal way that packages are built, the use
of these options caused netCDF to require more documentation, and,
what's worse, required that each installer read the documentation
(this is not the usual case with Unix packages, which can generally
be built without setting any options.)
More importantly, the use of the --with-hdf5 option (and similar
ones like --with-zlib, --with-szlib, --with-pnetcdf, --with-hdf4)
cause two serious bugs:
1 - No way for these options to work on platforms that have libraries
in /lib and /lib64 for 32 and 64 bit builds.
2 - Caused problem for for cross-compiles link the mingw32 build and
builds on some supercomputers.
Ultimately, it is only possible for the builder of the software to
know what settings to use in the various FLAG environment
variables. All of our attempts to "help" in this area just result
in problems for some small (but important) fraction of the user
base. Therefore I have decided that all these options must go, both
in netCDF and in libCF. I regret the inconvenience this may cause
users who have become accustomed to these options.
A fuller explanation can be found here:
https://www.unidata.ucar.edu/jira/browse/NCF-20
and the conspiracy behind this decision is explained in the last
paragraph of this netcdfgroup mailing list posting:
http://www.unidata.ucar.edu/mailing_lists/archives/netcdfgroup/2011/msg00345.html
--Russ
Russ Rew UCAR Unidata Program
address@hidden http://www.unidata.ucar.edu
Ticket Details
===================
Ticket ID: MVM-110226
Department: Support netCDF
Priority: Normal
Status: Closed