[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[netCDF #MVM-110226]: HDF5 and configure



lools good; might change
...Therefore I have
to ...Therefore we have

Russ Rew wrote:
> New Staff Reply: HDF5 and configure
> 
> Hi Mathieu,
> 
>> we were trying to compile HDF5 with configure
>> and we found that there is no option for hdf5 in it:
>> ------
>> address@hidden:~/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
> Link:  
> https://www.unidata.ucar.edu/esupport/staff/index.php?_m=tickets&_a=viewticket&ticketid=20585



Ticket Details
===================
Ticket ID: MVM-110226
Department: Support netCDF
Priority: Normal
Status: Closed


NOTE: All email exchanges with Unidata User Support are recorded in the Unidata inquiry tracking system and then made publicly available through the web. If you do not want to have your interactions made available in this way, you must let us know in each email you send to us.