summaryrefslogtreecommitdiffstats
path: root/doc/html/ADGuide/RELEASE.txt
blob: a6492b536734b34cdd787e1666991d7171623669 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
HDF5 version 1.5.6 released on Sat May 19 22:32:57 CDT 2001
================================================================================


INTRODUCTION

This document describes the differences between HDF5-1.4.0 and
HDF5-1.5-snap0, and contains information on the platforms tested and
known problems in HDF5-1.5-snap0. For more details check the HISTORY.txt
file in the HDF5 source.

The HDF5 documentation can be found on the NCSA ftp server
(ftp.ncsa.uiuc.edu) in the directory:

     /HDF/HDF5/docs/

For more information look at the HDF5 home page at:
   
    http://hdf.ncsa.uiuc.edu/HDF5/

If you have any questions or comments, please send them to:

    hdfhelp@ncsa.uiuc.edu

CONTENTS

- New Features
- Bug Fixes since HDF5-1.4.0
- Platforms Tested
- Known Problems

Bug Fixes since HDF5-1.4.0
==========================

Library
-------
    * Fixed bug with contiguous hyperslabs not being detected, causing
      slower I/O than necessary.
    * Fixed bug where non-aligned hyperslab I/O on chunked datasets was
      causing errors during I/O
    * The RCSID string in H5public.h was causing the C++ compiling problem
      because when it was included multiple times, C++ did not like multiple
      definitions of the same static variable.  All occurance of RCSID
      definition are removed since we have not used it consistently before.
    * Fixed bug with non-zero userblock sizes causing raw data to not write
      correctly. 
    * Fixed build on Linux systems with --enable-static-exec flag. It now
      works correctly.
    * IMPORTANT: Fixed file metadata corruption bug which could cause metadata
      data loss in certain situations.
    * The allocation by alignment (H5Pset_alignment) feature code somehow
      got dropped in some 1.3.x version. Re-implemented it with "new and
      improved" algorithm.  It keeps track of "wasted" file-fragment in
      the free-list too.

Configuration
-------------
    * Changed the default value of $NPROCS from 2 to 3 since 3 processes
      have a much bigger chance catching parallel errors than just 2.
    * Basic port to Compaq (nee DEC) Alpha OSF 5.


Tools
-----

Documentation
-------------


New Features
============

    * C++ API:
        - Added two new member functions: Exception::getFuncName() and
          Exception::getCFuncName() to provide the name of the member
          function, where an exception is thrown.
        - IdComponent::operator= becomes a virtual function because
          DataType, DataSpace, and PropList provide their own
          implementation.  The new operator= functions invoke H5Tcopy,
          H5Scopy, and H5Pcopy to make a copy of a datatype, dataspace,
          and property list, respectively.
    * F90 API:
        - Added aditional parameter "dims" to the h5dread/h5dwrite and
          h5aread/h5awrite subroutines. This parameter is 1D array of size
          7 and contains the sizes of the data buffer dimensions. 
    * F90 static library is available on Windows platforms. See
      INSTALL_Windows.txt for details.
    * File sizes greater than 2GB are now supported on Linux systems with
      version 2.4.x or higher kernels.
    * Added a global string variable H5_lib_vers_info_g which holds the
      HDF5 library version information.  This can be used to identify
      an hdf5 library or hdf5 application binary.
      Also added a verification of the consistency between H5_lib_vers_info_g
      and other version information in the source code.
    * H5 <-> GIF convertor has been added. This is available under 
      tools/gifconv. The convertor supports the ability to create animated
      gifs as well.

Platforms Tested
================

  AIX 4.3.3.0 (IBM SP powerpc)  mpcc_r 3.6.6
  Cray T3E sn6711 2.0.5.45      Cray Standard C Version 6.4.0.0
                                Cray Fortran Version 3.4.0.2
  Cray SV1 sn9605 10.0.0.7      Cray Standard C Version 6.4.0.0
                                Cray Fortran Version 3.4.0.2
  FreeBSD 4.3                   gcc 2.95.2
                                g++ 2.95.2
  HP-UX B.10.20                 HP C  HP92453-01 A.10.32.30
  HP-UX B.11.00                 HP C  HP92453-01 A.11.00.13
  IRIX 6.5                      MIPSpro cc 7.30
  IRIX64 6.5 (64 & n32)         MIPSpro cc 7.3.1m
                                mpt.1.4.0.2
                                mpich-1.2.1
  Linux 2.2.16-3smp             gcc-2.95.2
                                g++ 2.95.2
                                pgf90 3.1-3
  OSF1 V4.0                     DEC-V5.2-040
                                Digital Fortran 90 V4.1-270
  SunOS 5.6                     WorkShop Compilers 5.0 98/12/15 C 5.0 
  (Solaris 2.6)                 WorkShop Compilers 5.0 99/10/25 Fortran 90
                                       2.0 Patch 107356-04
                                Workshop Compilers 5.0 98/12/15 C++ 5.0
  SunOS 5.7                     WorkShop Compilers 5.0 98/12/15 C 5.0
  (Solaris 2.7)                 WorkShop Compilers 5.0 99/10/25 Fortran 90
                                       2.0 Patch 107356-04
                                Workshop Compilers 5.0 98/12/15 C++ 5.0
  TFLOPS r1.0.4 v4.0            mpich-1.2.1 with local changes
  Windows NT4.0, 2000 (NT5.0)   MSVC++ 6.0
  Windows 98                    MSVC++ 6.0

Known Problems
==============
* DLLs do not work on Windows 98 (and probably on NT and 2000 too)

* The stream-vfd test uses ip port 10007 for testing.  If another application
  is already using that port address, the test will hang indefinitely and
  has to be terminated by the kill command.  To try the test again, change
  the port address in test/stream_test.c to one not being used in the host.

* The --enable-static-exec configure flag fails to compile for Solaris
  platforms. This is due to the fact that not all of the system
  libraries on Solaris are available in a static format.

  The --enable-static-exec configure flag also fails to correctly compile
  on IBM SP2 platform for the serial mode.  The parallel mode works fine
  with this option.
  
  It is suggested that you don't use this option on these platforms
  during configuration.

* With the gcc 2.95.2 compiler, HDF 5 uses the `-ansi' flag during
  compilation. The ANSI version of the compiler complains about not being
  able to handle the `long long' datatype with the warning:

        warning: ANSI C does not support `long long'
  
  This warning is innocuous and can be safely ignored.

* SunOS 5.6 with C WorkShop Compilers 4.2:  Hyperslab selections will 
  fail if library is compiled using optimization of any level.

* When building hdf5 tools and applications on windows platform, a linking
  warning: defaultlib "LIBC" conflicts with use of other libs will appear
  on debug version when running VC++6.0. This warning doesn't affect building
  and testing hdf5 applications. We will continue investigating this.

* h5toh4 converter fails two cases(tstr.h5 and tmany.h5) for release dll version on
  windows 2000 and NT. The reason is possibly due to windows NT DLL
  convention on freeing memory. It seems that memory cannot be free
  across library or DLL. It is still under investigated.

* The Stream VFD was not tested yet under Windows.
  It is not supported in the TFLOPS machine.

* Shared library option is broken for IBM SP and some Origin 2000 platforms.
  One needs to run ./configure with '--disable-shared'

* The ./dsets tests failed in the TFLOPS machine if the test program,
  dsets.c, is compiled with the -O option.  The hdf5 library still works
  correctly with the -O option.  The test program works fine if it is
  compiled with -O1 or -O0.  Only -O (same as -O2) causes the test
  program to fail.

* Certain platforms give false negatives when testing h5ls:
    - Solaris x86 2.5.1, Cray T3E and Cray J90 give errors during testing
        when displaying object references in certain files.  These are benign 
        differences due to the difference in sizes of the objects created on
        those platforms.  h5ls appears to be dumping object references
        correctly.
    - Cray J90 (and Cray T3E?) give errors during testing when displaying
        some floating-point values.  These are benign differences due to the
        different precision in the values displayed and h5ls appears to be
        dumping floating-point numbers correctly.

* Before building HDF5 F90 Library from source on Crays (T3E and J90) 
  replace H5Aff.f90, H5Dff.f90 and H5Pff.f90 files in the fortran/src subdirectory 
  in the top level directory with the Cray-specific files from the 
  ftp://hdf.ncsa.uiuc.edu/pub/ougoing/hdf5/hdf5-1.4.0-beta/F90_source_for_Crays
  directory.

* The h4toh5 utility produces images that do not correctly conform
  to the HDF5 Image and Palette Specification. 

      http://hdf.ncsa.uiuc.edu/HDF5/doc/ImageSpec.html

  Several required HDF5 attributes are omitted, and the dataspace 
  is reversed (i.e., the ht. and width of the image dataset is 
  incorrectly described.)  For more information, please see:

     http://hdf.ncsa.uiuc.edu/HDF5/H5Image/ImageDetails.htm

* The test_compression in ./c++/test/dsets.cpp failed on Linux.  A size
  value that is passed to a memcpy mysteriously becomes very large resulting 
  in a Segnmentation Fault.  This specific test is disabled until we can 
  figure out the problem and come up with a solution.