HDF version 4.2.4-snap4 released on Sun Dec 27 21:02:02 CST 2009 =================================================== INTRODUCTION This document describes the differences between HDF 4.2.4 and HDF 4.2.4-snap* It is written for people who are familiar with previous releases of HDF and wish to migrate to HDF 4.2.4-snap* The HDF 4.2.4 documentation can be found on the The HDF Group's FTP server: ftp://ftp.hdfgroup.org/HDF/Documentation/ First-time HDF users are encouraged to read the HDF FAQ, which can be reached from the HDF product home page: http://hdfgroup.org/products/hdf4/ If you have any questions or comments, please see the HDF Support page: http://hdfgroup.org/services/support.html CONTENTS - New features and changes -- Configuration -- Library -- Utilities - Support for new platforms and compilers - Bugs fixed since HDF4.2.4 -- Utilities -- Library -- Configuration - Documentation - Platforms tested - Known problems New features and changes ======================== Configuration ============= - Configure suite now built with the following versions of the autotools: Automake 1.11.1, Autoconf 2.65, and Libtool 2.2.6b (MAM - 2009/12/14) Library ========= - HDF Fortran examples were added to hdf/fortran/examples. (MAM - 2009/12/14) - SD examples were added to mfhdf/examples. (BMR - 2009/08/28) - HDF C examples were added to hdf/examples. (BMR - 2009/11/07) Test ==== - Added tests for GRfindattr, GRattrinfo, and GRgetattr (BMR - 2009/11/15) Utilities ========= - Daily Test and Release ====================== Added h4vers and release scripts and Snapshot Release capability. Support for new platforms and compilers ======================================= Added support for the 64-bit Mac OS 10.5.6 with gcc 4.0.1 and Intel C and Fortran compilers version 10.1. Known problems: Due to a known bug in the Intel 10.1 icc compiler, one has to use -no-multibyte-chars flag with icc. If using 32-bit ifort, O0 flag is required to build Fortran APIs and tests. Bugs fixed since HDF4.2.4 ========================= Utilities ========= - Library ========= - The problem where incorrect result occurred when attempting to retrieve the dimension scale's number type from a netCDF file was fixed (bugzilla #1644.) (BMR - 2009/09/25) - SD tests were moved from mfhdf/libsrc to mfhdf/test. (BMR - 2009/09/10) - The problem where pieces of an image get written multiple times at different locations in the 2-D array had been fixed. The cause was the pointer to user's buffer was not advanced properly. This was part of bugzilla 1547. (BMR - 2009/06/10) Configuration ============= - The mfhdf/ncgen/Makefile.in now has $(EXEEXT) appended to the ncgen program whenever it is referenced in a build rule dependency. This fixes some compile problems on Cygwin, where the .exe is necessary. (MAM - 2009/12/17). - Configure will now fail if the yacc or flex utilities are not available (as opposed to failing sometime during make when they are used). (MAM - 2009/12/17). - Configure will now properly check for the rpc library when on Cygwin, and fail gracefully if it is not found. (MAM - 2009/12/17) - Configure will no longer try to use a Fortran compiler to set up aspects of the build environment when Fortran has been disabled, as configure now deliberately sets the F77 environment variable to 'no' when Fortran is disabled. This should no longer cause build problems on Cygwin when no Fortran compiler is available. (MAM - 2009/12/14) - './configure --help' will now correctly indicate that shared libraries are disabled by default. (MAM - 2009/12/14) Documentation ============== The updated HDF Reference Manual is now available in HTML format. Platforms tested ================ HDF 4.2 Release 4 has been tested on the following platforms: FreeBSD 6.3-STABLE i386 gcc 3.4.6 [FreeBSD] 20060305 (duty) g++ 3.4.6 [FreeBSD] 20060305 f77 (gcc) 3.4.6 gcc 4.2.5 20080702 g++ 4.2.5 20080702 gfortran 4.2.5 20080702 FreeBSD 6.3-STABLE amd64 gcc 3.4.6 [FreeBSD] 20060305 (liberty) g++ 3.4.6 [FreeBSD] 20060305 f77 (gcc) 3.4.6 gcc 4.2.5 20080702 g++ 4.2.5 20080702 gfortran 4.2.5 20080702 IRIX64 6.5 MIPSpro cc 7.4.4m (ucar mop1 64 & n32) F90 MIPSpro 7.4.4m Linux 2.6.18-92.1.22.el5xen gcc (GCC) 4.1.2 20071124 #1 SMP i686 i686 i386 gG95 (GCC 4.0.3 (g95 0.92!) July 1 2008) (jam) g77 (GCC) 3.4.6 20060404 PGI C, Fortran, C++ 7.2-5 32-bit Intel(R) C Compiler for 32-bit applications, Version 10.1.018 Intel(R) Fortran Compiler for 32-bit applications, Version 10.1.018 Linux 2.6.9-42.0.10.ELsmp #1 gcc (GCC) 3.4.6 SMP i686 i386 g++ (GCC) 3.4.6 (kagiso) G95 (GCC 4.0.3 (g95 0.92!) April 18 2007) Linux 2.6.16.46-0.12-debug #1 Intel(R) C Compiler Version 10.0.025 SMP ia64 GNU/Linux Intel(R) Fortran Itanium(R) Version 10.0.025 (ucar hir1) Linux 2.6.16.46-0.14-smp #1 gcc (GCC) 4.1.2 20070115 (SUSE Linux) SMP x86_64 GNU/Linux G95 (GCC 4.0.3 (g95 0.92!) July 1 2008) (smirom) Intel(R) C Compiler for Intel(R) EM64T Ver. 10.1.013 Intel(R) Fortran Intel(R) EM64T Ver. 10.1.013 PGI C, Fortran Version 7.2-1 for 64-bit target on x86-64 Linux 2.6.16.54-0.2.5 #1 Intel(R) C Compiler Version 10.1.017 Altix SMP ia64 Intel(R) Fortran Itanium(R) Version 10.1.017 (cobalt) SGI MPI 1.16 SunOS 5.10 32- and 64-bit Sun WorkShop 6 update 2 C 5.8 Patch 121015-06 (linew) Sun WorkShop 6 update 2 Fortran 95 8.2 Patch 121019-09 Xeon Linux 2.6.18-92.1.10.el5_lustre.1.6.6smp-perfctr #2 SMP x86_64 Intel(R) C Compiler Version 10.0.026 (abe) Intel(R) Fortran Compiler Version 10.0.026 IA-64 Linux 2.4.21.SuSE_292.til1 ia64 (NCSA tg-login) Intel(R) C Compiler Version 8.1.037 Intel(R) Fortran Compiler Version 8.1.033 Windows XP Visual Studio 6.0 Visual Studio .NET (with Intel Fortran 9.1) Visual Studio 2005 (with Intel Fortran 9.1/10.1) Visual Studio 2008 (with Intel Fortran 10.1) cygwin (gcc 3.4.4 and g95 0.90!) Windows XP(64 bit) Visual Studio 2005 (with Intel Fortran 9.1/10.1) Visual Studio 2008 (with Intel Fortran 10.1) Windows Vista Visual Studio 2008 (with Intel Fortran 10.1) cygwin (gcc 3.4.4 and g95 0.90!) Windows Vista(64 bit) Visual Studio 2008 (with Intel Fortran 10.1) MAC OS X Intel 10.5.8 Darwin 9.4.0 i686-apple-darwin8-gcc-4.0.1 (GCC) 4.0.1 G95 (GCC 4.0.3 (g95 0.91!) Apr 24 2008) gfortran GNU Fortran (GCC) 4.3.0 20070810 Intel 10.1 32 and 64-bit versions Linux 2.6.27.9-159.fc10.x86_64 #1 SMP x86_64 GNU/Linux gcc (GCC) 4.3.2 (Fedora 10) gfortran GNU Fortran (GCC) 4.3.2 20081105 (Red Hat 4.3.2-7) Linux 2.6.27-9-generic #1 SMP x86_64 GNU/Linux gcc (GCC) 4.3.2 (Ubuntu 8.10) gfortran GNU Fortran (GCC) 4.3.2 Linux 2.6.27.7-9-default #1 SMP x86_64 GNU/Linux gcc (GCC) 4.3.2 (OpenSuse 11.1) gfortran GNU Fortran (GCC) 4.3.2 Known problems ============== o Existing data written by an HDF4 Library prior to HDF 4.2r2: When a one-dimensional SDS and a dimension scale were created with the same name, subsequent accesses to the dimension scale or to the SDS might corrupt the data. HDF4 Library Releases 4.2r2 and later do not allow this conflict to occur. On the other hand, recent libraries are also unable to detect such conflicts that already exist in a file. It is therefore STRONGLY recommended to check for such name duplication before working with data created with a pre-4.2r2 library. The functions SDgetnumvars_byname and SDnametoindices are provided to help detect such name conflicts and select the correct object to access, respectively; see the HDF Reference Manual entries for further details. o This release does not support VMS systems. o N-Bit compression is not supported with Fortran APIs. o Using both fill-value and compression on SD datasets does not work. o When using PGI compilers, make sure that the JPEG library is also compiled with a PGI C compiler; linking with a JPEG library built with gcc causes JPEG library tests to fail. To bypass the problem: x Set LIBS flag to $PGI_JPEG_INSTALL_DIR/lib/libjpeg.a where $PGI_JPEG_INSTALL_DIR points to the installation directory for the PGI-compiled JPEG library: setenv LIBS $PGI_JPEG_INSTALL_DIR/lib/libjpeg.a x Use the --with-jpeg=$PGI_JPEG_INSTALL_DIR configure flag to configure with the PGI-compiled JPEG library: ./configure --with-jpeg=$PGI_JPEG_INSTALL_DIR --with-zlib.... o In order for the new API SDgetdatasize to get the correct compressed size of the data, the dataset needs to be closed (SDendaccess) or read (SDreaddata), after being written and before SDgetdatasize is called. o On a fedora x86_64 GNU/Linux machine with gfortran 4.3.2, the flag -fno-range-check needs to be used to work around old code. o On Windows with Visual Studio .NET 2003, a minor bug in the hdfnctest test causes it to fail. The failure is non-critical, and so the test has been disabled by default for all Windows compilers.