HDF4 version 4.2.4-snap0 released on Sun Oct 4 13:26:48 CDT 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 ============= - EIP - YEAR/MO/DA Library ========= - Utilities ========= - Daily Test and Release ====================== Added h4vers and release scripts and Snapshot Release capability. Support for new platforms and compilers ======================================= Bugs fixed since HDF4.2.4 ========================= Utilities ========= - Library ========= - Configuration ============= - 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 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-bit version 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.