h5diff new features
Description:
implemented diff for compound types. so far it only compares the integer and float classes
of these compound types. this is done with a new recursive function
that compares datum by datum
Platforms tested:
linux
solaris 2.7
IRIX
Misc. update:
h5repack new features
Description:
added a copy routine for all types
added a copy routine for attributes
commnented some debug messages in h5trav
added the verbose option to some h5diff messages
Platforms tested:
linux
solaris 2.5
IRIX
Misc. update:
Regenerated
Description:
Regenerated Dependencies files because of changes to the h5diff and
tools library.
Platforms tested:
Linux (small change and just needed to be checked once).
h5repack new features
Description:
implemented some features of h5repack , mostly borrowed from hrepack
like
1) the parsing of options
2) building a list of options
3) printing formats
added a test program that generates files and calls h5diff to compare
the input and output files
Platforms tested:
Misc. update:
h5diff maitainance
Description:
separated the h5diff source between several modules
there is a public module with a new function "h5diff" that can be called by an application
program (h5repack will use it )
added a new verbose option that can turn off all printf
Platforms tested:
linux
solaris
IRIX
Misc. update:
Code cleanup
Description:
Change field member count and indices for compound and enumerated types from
'int' to 'unsigned' to better reflect actual use.
Cleaned up a few other minor compiler warnings, etc.
Platforms tested:
FreeBSD 4.9 (sleipnir)
Linux 2.4 (verbena)
too minor to require h5committest
Code Improvement
Description:
Changed from passing a structure into a function by value into
passing it in by pointer. Noticed this while compiling with a highly
optimizing compiler which took >30 minutes to analyze the program
(granted, this is the compiler's fault, but in general, it's better
to pass large structures in by pointer and not by value).
Platforms tested:
Linux (specific to h5import, so only needed to test on one platform)
Misc. update:
Bug fixes and code cleanup
Description:
Corrected output of array separator when vlen separator was needed.
datatypes.
Parts of formatting cleanup to greatly reduce the amount of trailing
whitespace emitted in output.
Platforms tested:
FreeBSD 4.9 (sleipnir)
h5committest
Bug fixes and code cleanup
Description:
Changes to h5dump code:
- Dump shared datatypes for any class of datatype, not just compound
datatypes.
- Cleaned up formatting to greatly reduce the amount of trailing
whitespace emitted in output. Also removed some spurious blank
lines from named datatype output.
Added code to generate named datatype attribute test file.
Added tests for dumping named datatypes in attributes for both DDL and
XML output.
Platforms tested:
FreeBSD 4.9 (sleipnir)
h5committest
Code cleanup
Description:
Clean up a few loose ends and warnings for the 1.6 compatibility changes
to the error API.
Platforms tested:
FreeBSD 4.9 (sleipnir)
too minor to require h5committest
bug fix
Description:
h5diff would incur a segmentation fault in Alpha clusters when
the percentage option is used. This was due to memory aliagment
issue when the options variable is declared as a local variable
in main().
Moved the declaration to a global declaration.
Platforms tested:
"h5committested"
And tested at cluster QT of SNL.
Misc. update:
Code cleanup
Description:
Remove various "fixtype" routines which duplicate (and actually pre-date)
the functionality in H5Tget_native_type in favor of having the tools call
H5Tget_native_type(). This provides the same functionality (actually better
functionality, since the old "fixtype" routines didn't handle alignment of
compound fields correctly) and reduces the amount of code to maintain.
Add additional tests to dump out a "complex" compound datatype which
exercises more code in the library for aligning compound fields correctly.
Platforms tested:
FreeBSD 4.8 (sleipnir)
h5committest
Updated the copyright notice--mostly by rearranging
some text to make them consistent.
Solution:
Platforms tested:
"h5committested"--sol is down, so, no SUn test.
Misc. update:
Bug fix
Description:
Object references were not getting written out correctly to the file, with
recent changes to their memory structure.
Solution:
Convert the object references correctly.
Platforms tested:
h5committested
Code cleanup
Description:
Remove recent changes which duplicated code from config/conclude.in, now
that the output of XML schema XID's is portable.
Platforms tested:
h5committested
Refactored code
Description:
Chased 'objno' and 'fileno' changes in H5G_stat_t structure, including
updating the addresses displayed.
Platforms tested:
h5committested
Code cleanups & bug fixes
Description:
Lots of changes to chase 'objno' and 'fileno' changes in H5G_stat_t struct,
including changing the output of object IDs from "<number>:<number>" to just
"<number>".
Same change to XML schema XIDs from "xid_<number>-<number>" to just
"xid_<number>"
Cleaned up a number of memory leaks
Use the H5_PRINTF_HADDR_FMT macro for printing 'haddr_t's
Platforms tested:
h5committested
Refactored code
Description:
Added 'unsigned flags[2]' field and changed 'objno' field from 'unsigned
long[2]' to 'haddr_t' (to reflect changes in H5G_stat_t)
Platforms tested:
h5committested
Refactored code
Description:
Use H5E_BEGIN_TRY/H5E_END_TRY macros around blocks where errors shouldn't
be printed, instead of managing 'automatic error' information.
Use new 'flags' field in table objects where appropriate
Chase changes to 'fileno' and 'objno' fields of H5G_stat_t
Platforms tested:
h5committested
Code cleanup & refactoring
Description:
Use H5E_BEGIN_TRY/H5E_END_TRY macros around blocks where errors shouldn't
be printed, instead of managing 'automatic error' information.
Changes to use new 'flags' fields in the table of objects, since the 'objno'
field can't be [ab]used any longer.
Platforms tested:
h5committested
Code cleanup
Description:
Use H5E_BEGIN_TRY/H5E_END_TRY macros around code which shouldn't display
the error stack on failure, instead of setting and resetting the automatic
error printing routines.
Platforms tested:
h5committested
bug fix
Description:
1. function rindex is not recognized by windows. Using strrchr instead.
Thereafer strings.h is not necessary.
2. Variable p_type is defined as "hid_t" type at one function; but it is never used.
At the end of that function, H5Tclose(p_type) is assigned. It may cause problems.
So erase two lines.
Solution:
See above
Platforms tested:
windows 2000, linux 2.4, sol 2.7, AIX 5.1.
Misc. update:
Bug Fix
Description:
pmake failed during make of h5dump because of some undefined
variables.
Solution:
Defined the variables.
Platforms tested:
Modi4 (small change and only Irix specific)
Misc. update:
This is an omibus update to the h5dump program.
1. Fixes bug 888
2. updates XML output to 1.6
Description:
Solution:
Platforms tested:
verbena, arabica, copper (64)
Misc. update:
MANIFEST updated
Need to do release notes.
bug fix
Description:
if the user incorrectly put the option -n20 (instead of -n 20) as the last argument
h5diff tried to parse the 20 as an extra argument, causing a failure
if ('-' !=argv[i+1][0] )
Solution:
add an extra test for the case that option is the last argument
if ( i<argc-1 && '-' !=argv[i+1][0] )
Platforms tested:
linux . this is too trivial for all platforms test
Misc. update:
Purpose:
Bug Fix
Description:
LIBTOOLS macro was being used but not defined.
Solution:
Removed the LIBTOOLS macro as it wasn't necessary
Platforms tested:
Modi4 (small fix)
Misc. update:
Bug Fix
Description:
The SUBDIRS macro is now defined as "" in the config/commence.in
file. We shouldn't have definitions of this macro before the
inclusion of config/commence.in.
Solution:
Placed all definitions of SUBDIRS after config/commence.in inclusion.
Platforms tested:
Modi4 (Small fix yet again).
Misc. update:
Purpose:
Bug Fix
Description:
Changes needed to make "pmake" work on Modi4.
Solution:
Needed to add some null macro defines in the commence.in files.
Needed to remove a dependence on LIBH5TEST in the fortran make
since LIBH5TEST isn't used in the fortran stuff.
Platforms tested:
Modi4 (small change)
Misc. update:
Description: H5Tget_native_type fails for multiple kinds of datatype on Cray; it fails
fix-length string type, too.
Platforms tested: Cray, h5committest
Bug fix
Description:
h5cc was removed prematurely in "make clean". Moved it to be
removed in "make distclean" only.
Solution:
Platforms tested:
COpper.
Misc. update:
Bug fix/new feature
Description:
Teach h5dump/h5ls to display variable-length datatypes correctly.
Change "raw byte" output of array elements from "0xde8141b1a818" to
"de:81:41:b1:a8:18" so that it's easier for users to read.
Platforms tested:
FreeBSD 4.8 (sleipnir)
h5committest
Misc. update:
Patch provided by Robb Matzke (matzke@llnl.gov)
Bug fix
Description:
The output from the modification time is highly system dependent, so
remove it from the h5ls output before comparing file with diff.
Platforms tested:
FreeBSD 4.8 (sleipnir)
h5committest
Bug fix
Description:
The output from the modification time is highly system dependent, so
remove it from the h5ls output before comparing file with diff.
Platforms tested:
FreeBSD 4.8 (sleipnir)
h5committest
Code cleanup/new features.
Description:
Clean up whitespace & formatting.
Make the -S (simple) output display a dataset's modification time in UTC
rather than local timezone.
Display variable-length datatype information.
Simplified & enhanced bitfield datatype information displayed.
Platforms tested:
FreeBSD 4.8 (sleipnir)
h5committest
Cleanup
Description:
h5dumpgentest is already included in TEST_PROGS. Removed its old
entry in PROGS.
Platforms tested:
Only in Copper since this is trivial.
Misc. update:
added writing more attributes to one test file
Description:
added the writing of 3D attributes to one test file of h5ls
Solution:
Platforms tested:
Windows 2000 (octopus)
Linux 2.4 (rockaway)
SunOS 5.7 (arabica)
IRIX 6.5 (modi4)
Misc. update:
Purpose:
Bug Fix
Description:
The flags for the linker on MacOS X were invalid.
Solution:
If this is a darwin platform (MacOS X), then don't specify the
runtime linker flags.
Platforms tested:
MacOSX (since it only affects it...)
Misc. update:
Minor corrections to match the man pages. Code provided by Pankaj.
Description:
* do not accept more than 30 file names
* corrected error messages.
Solution:
Platforms tested:
Tested on verbena.
Already tested on several platforms before integration.
Misc. update:
Bug fix
Description:
This would sometimes coredump in machines like PSC Alpha cluster
or linux icc if -g is not used.
Solution:
The real problem was because char string arrays were declared
without including space for the null terminator. E.g.,
char s[5][2]={ "s1", "s2", ...}
is not correct. Increased the size and also need to change
the H5S... definitions too.
Platforms tested:
"h5committested"--the h5dumpgentest passed without problem though
it failed in Fortran but that is a current known problem.
Tested in verbena using icc and also in PSC's cluster.
Misc. update:
Can't find this error in the v1.5 know problem list.
bug fix
Description:
unsigned integers were not printed out correctly
Solution:
added %u and %lu to the list of formats
Platforms tested:
Windows 2000 (octopus)
Linux 2.4 (rockaway)
SunOS 5.7 (arabica)
IRIX 6.5 (modi4)
Misc. update:
h5diff support for long_long
Description:
added h5diff support for long_long;
No automatic test was added because
it seems that the printf format of long_long is slightly different in Linux and IRIX(modi4),
because the diff command complained about a difference in the 2 test files for long_long;
visually, it seems that in IRIX an extra space is added after the print (or maybe it is
just me that is seeing extra spaces :=)
this test is test 5.8, commented in testh5diff.sh
Platforms tested:
Windows 2000 (octopus)
Linux 2.4 (rockaway)
SunOS 5.7 (arabica)
IRIX 6.5 (modi4)
Misc. update:
Bug Fix
Description:
The order the libraries are included in the compilation line is very
important.
Solution:
Need to specify the libraries in the order that they are given. If
we're building the application staticly, then use the static HDF5
library.
Platforms tested:
Modi4
Verbena
Arabica
Misc. update:
bug fix
Description:
the signed / unsigned comparison was not properly handled.
the fixtype function sets the sign for the memory type the same sign as found on disk
and the array_diff function only handled signed cases
Solution:
addded for each INTEGER size type an OR condition with the unsigned version
if the datatypes have different signs , comparison is NOT supported
Platforms tested:
Windows 2000 (octopus)
Linux 2.4 (rockaway)
SunOS 5.7 (arabica)
IRIX 6.5 (modi4)
Misc. update:
bug fix
Description:
Not all echo commands honors the '-n' option. In those cases,
the output look weired though recognizable.
Solution:
Eliminated the use of -n option. A better fix would be having
configure to set the proper use of the echo command.
Platforms tested:
only on sasn100 (a sun frontend of Janus).
No committest since this is just a simple shell script change.
Bug Fix
Description:
Two things:
- static libraries may depend upon the HDF5 library. We should
put them before the HDF5 library on the commandline instead of
afterwards to avoid conflict.
- the CFLAGS weren't being used during linking. This was causing
problems on Arabica where the flags are important to
distinguish between building a 32-bit and 64-bit application.
Solution:
- Added logic so that it catches the static libraries and puts them
before the hdf5 library on the command line. WARNING: This may not
work in all situations...but it should be okay for the good
majority.
- added the CFLAGS macro to the commandline...
Platforms tested:
LInux (Colonelk)
Arabica
Modi4 (Parallel)
(Small changes so doesn't need full h5committesting...)
Misc. update:
Purpose: bug fix for Tru64 and test of the latest szip library.
Description: h5diff uses basename function that also is defined
in the system string.h file. That caused compilation to
fail.
Solution: renamed basename to h5diff_basename
Platforms tested: verbena, arabica, arabica-64,
and PSC Compaq machine.
Misc. update:
bug fix and enhancement
Description:
combined the --simple option to the display of NATIVE datatypes
with the -S option , the print of the datatype will always display the full description
making it possible to do an automatic test for catching differences on output
made the case for printing the type of bitfield data, which was not handled
the new test generates a dataset with 10 attributes, each one a different datatype
Platforms tested:
Windows 2000 (octopus)
Linux 2.4 (rockaway)
SunOS 5.7 (arabica)
IRIX 6.5 (modi4)
Misc. update:
bug fix
Description:
when the list attribute function was called with values of type reference, the format string was not initialized
causing a segmentation fault on printf
Solution:
initialized the string ( with obj no and file no turned on )
Platforms tested:
Windows 2000 (octopus)
Linux 2.4 (rockaway)
SunOS 5.7 (arabica)
IRIX 6.5 (modi4)
Misc. update:
fixed a typo on the usage message, redone the test files that deal with with
Description:
Solution:
Platforms tested:
Windows 2000 (octopus)
Linux 2.4 (rockaway)
SunOS 5.7 (arabica)
IRIX 6.5 (modi4)
Misc. update:
changes of input/ output format
Description:
on web page /RFC/h5diff
Solution:
Platforms tested:
Windows 2000 (octopus)
Linux 2.4 (rockaway)
SunOS 5.7 (arabica)
IRIX 6.5 (modi4)
Misc. update:
Bug Fix
Description:
Lots of things. Mostly, multiple libraries declared on the command
line bothered some compilers. Then the order of the libraries is
important. Then if you are building static, you don't want an
"-lhdf5" flag in your compile line.
Solution:
Various hacks to remove redundant libraries from the compile line and
to keep the order of them and to replace -lhdf5 with the .a file when
building static.
Platforms tested:
Modi4 (Fortran & Parallel)
Verbena (Fortran & C++)
Arabica (Fortran)
Misc. update:
Fix
Description:
The way I was checking for -lfoo flags wasn't rigorous enough.
Solution:
Use a "grep" instead of the "case" statement. Also check that the
full "-lfoo" flag is matched instead of just part of it.
Platforms tested:
Linux (small fix)
Misc. update:
Bug fix
Description:
A few groups were left open after they were used.
Solution:
Closed them. :-)
Platforms tested:
FreeBSD 4.8 (sleipnir)
h5committested
Bug Fix
Description:
Some compilers aren't happy if you specify the same library multiple
times when linking. This caused HDF5 Lite to crash during tests on
Kelgia
Solution:
Modified the script so that the shared libraries are specified only
once for the commandline.
Platforms tested:
Kelgia (small fix).
Misc. update:
Bug Fix
Description:
When doing a "configure" using the h5cc script as the compiler, it
would fail to accept the "-E" flag as running the preprocessor. The
problem was that it was trying to link the file afterwards. Of
course, the file wouldn't be there, so it would fail.
Solution:
Changed it so that if the -E flag is used, then we don't try to link
(this is how it's done in mpicc...I must have copied it wrongly).
Platforms tested:
Linux & Kelgia (small change not needing full testing)
Misc. update:
changed algorythm
Description:
changed the array_diff function to increment the read buffer with a size selected
by an appropriate native data type.
previously it was assumed, e.g. int size = 4 bytes
Solution:
Platforms tested:
Linux 2.4 (rockaway)
SunOS 5.7 (arabica, 64bit mode)
IRIX 6.5 (modi4)
Misc. update:
Bug fix
Description:
The tests would just segmentation fault in Tflops because the
compiled code were launched without using the $RUNSERIAL to launch
them. This may fail in some batch systems like Tflops.
Solution:
Used $RUNSERIAL to launch the compiled code.
Also fixed a typo of the script command line.
Platforms tested:
Only tested in Tflops since the modified code resided there.
Misc. update:
bug fix
Description:
datasets with different storage datatypes where not read to memory to same size types
Solution:
obtain the memory type and size, for the TWO datasets ,
with the "fixtype" function
"upgrade" the smaller size to the larger if they are different
added H5DIFF_DEBUG flag for print information
Platforms tested:
Linux 2.4 (rockaway)
SunOS 5.7 (arabica, 64bit mode)
IRIX 6.5 (modi4)
Misc. update:
added new test files for h5diff
bug fix
Description:
the criteria for determining the correct switch case cast to void* to type* was the data size read from disk.
this was causing problems on Cray T3E, where all integer except char are 8 bytes long
Solution:
changed the criteria for using the memory size instead, which is determined by the same function
that reads the data into memory
the messages " using memory NATIVE_TYPE_X" were removed, because they might not coincid on different
platforms.
Platforms tested:
Linux 2.4 (rockaway)
SunOS 5.7 (arabica)
IRIX 6.5 (modi4)
Misc. update:
New feature/enhancement
Description:
Chunked datasets are handled poorly in several circumstances involving
certain selections and chunks that are too large for the chunk cache and/or
chunks with filters, causing the chunk to be read from disk multiple times.
Solution:
Rearrange raw data I/O infrastructure to handle chunked datasets in a much
more friendly way by creating a selection in memory and on disk for each chunk
in a chunked dataset and performing all of the I/O on that chunk at one time.
There are still some scalability (the current code attempts to
create a selection for all the chunks in the dataset, instead of just the
chunks that are accessed, requiring portions of the istore.c and fillval.c
tests to be commented out) and performance issues, but checking this in will
allow the changes to be tested by a much wider audience while I address the
remaining issues.
Platforms tested:
h5committested, FreeBSD 4.8 (sleipnir) serial & parallel, Linux 2.4 (eirene)
h5diff update
Description:
removed the -l , list, option
this feature will be part of a different tool
Solution:
Platforms tested:
Windows 2000 (octopus)
Linux 2.4 (rockaway)
SunOS 5.7 (arabica)
IRIX 6.5 (modi4)
Misc. update:
new feature
Description:
during the sequencial match list, by default the differences between matched datasets were printed.
added an -m option that allows to turn this off, just printing the file differences
Solution:
Platforms tested:
Linux 2.4 (rockaway)
SunOS 5.7 (arabica)
IRIX 6.5 (modi4)
Misc. update:
Update
Description:
Fixed description. Should be 1-byte instead of 1-bytes
Platforms tested:
Linux (Small change, no need for full checking)
Misc. update: