Code warrior support erased previous change of object settings, we need to resume the old change.
Description:
Xuan checked in the recent change for windows settings(many of them) on Sep. 1st and it was wiped out by code warrior support that used the old all.zip modified on Aug. 27th. In order to maintain the release for windows, we have to resume it.
Solution:
Platforms tested:
Misc. update:
added a new project file for CodeWarrior (the files in the library changed since the last version )
Description:
Solution:
Platforms tested:
Misc. update:
New feature.
Description:
Before this update, we use per_hdf_library convention to set environment variables for gzip and szip compression libraries, for example, HDF5_EXT_LIBS = zlib.lib szlib.lib.
As some of HDF5 dump and repack tests should be skipped when gzip/szip are disabled. But we found it was very complicated to check whether gzip/szip were disabled in Windows with the per_hdf_library convention. Using per_external_library naming convention makes the checking much easier. So we decide to convert to per_external_library naming convention.
A new environment variable H5_SZIP_CAN_ENCODE is added to check whether szip encoding is enabled.
dumptest.bat and repacktest.bat batch files are also updated so these tests which use gzip/szip filters will be skipped when gzip/szip are disabled and will be tested when gzip/szip are enabled.
Solution:
Now we should set the following environment variables:
HDF5_EXT_ZLIB = zlib.lib
HDF5_EXT_SZIP = szlib.lib
HDF5_EXT_ZLIB_DLL = c:\zlib114\dll\zlib.lib
HDF5_EXT_SZIP_DLL = szlibdll.lib
when we want to enable gzip/szip.
Set H5_SZIP_CAN_ENCODE as 1 when szip encoding is enabled and as 0 when szip encoding is disabled.
Platforms tested:
Visual C++ 6.0 on Windows 2000/XP.
(Will test with .NET after this check-in).
Misc. update:
Description: Restore 6 old error API functions back to the library to be backward
compatible with v1.6. They are H5Epush, H5Eprint, H5Ewalk, H5Eclear, H5Eset_auto,
H5Eget_auto. These functions do not have error stack as parameter.
Solution: Internally, these functions use default error stack.
Platforms tested: h5committest and fuss.
Misc. update: RELEASE.txt
Text display change
Description:
Changed the test names to much shorter strings for easier
use.
Platforms tested:
No h5committed test. Only test parallel in eirene.
Misc. update:
Bug fix.
Description:
There was a minor bug in the hdf5check.bat I checked in last night. We should check check_results.txt (not hdf5_results.txt) to find out whether there are any failed tests.
Solution:
Change hdf5_results.txt to check_results.txt.
Platforms tested:
Minor fix, Kent tested the fix on Windows XP.
Misc. update:
"bug fix" sort of.
Description:
The current mpicc at TG-NCSA recognizes uint64_t but not
int64_t. hdf5 code rightly assumes when the unsigned type
is defined, the corresponding signed type should be valid
too. So, when it detected uint64_t is valid, it went ahead
using int64_t which ended in compiling failure.
Solution:
Changed the detection to check on int64_t instead. This does
not change any logic, just goes around the mpicc compiler error
at TG-NCSA.
Platforms tested:
h5committested and tested at TG-NCSA (pp) too.
Misc. update:
Update.
Description:
Add HDF5 timing tests into hdf5check.bat batch file.
hdf5check.bat batch file will generate a new file tests_results under HDF5 directory to dispaly whether all HDF5 tests passed or not, if failed, which tests failed (the check_results.txt which includes detailed HDF5 libraries and tools tests results will also be generated at the same time).
Solution:
Platforms tested:
Windows 2000/XP.
Misc. update:
Bug fix.
Description:
$CXX_BASENAME was not set yet if $CXX was pre-set to g++. In turn,
CXX_flags are not picking up the g++ values.
Solution:
The correct solution should be done in configure which should have
setup CXX_BASENAME if $CC is set before sourcing this file.
Put a special patch here for g++ for now.
(Also added the recognization of icc as another name for Intel
compilers.)
Platforms tested:
No h5committest but tested in TG-NCSA since these changes affected
the IA64 platform only.
Misc. update:
New feature.
Description:
Before this update, to link HDF5 with zlib and szip libraries and DLLs,
zlib.lib szlib.lib were added into Object/library modules in more than
50 windows projects settings; c:\zlib114\dll\zlib.lib szlibdll.lib were
added into Object/library modules in hdf5dll project settings.
With the above settings, if we want to disable zlib and/or szip libraries
and DLLs from HDF5, we have to remove zlib.lib szlib.lib from Object/library
modules in more than 50 projects settings; c:\zlib114\dll\zlib.lib szlibdll.lib
also need to remove from hdf5dll project settings.
The above operations should be done for both release and debug versions.
So it is really very unconvenient to disable zlib and/or szip libraries and DLLs.
Solution:
Add HDF5_EXT_LIBS environment variable and replace zlib.lib szlib.lib
in Object/library modules with $(HDF5_EXT_LIBS)
Add HDF5_EXT_LIBS_DLL environment variable and replace c:\zlib114\dll\zlib.lib
szlibdll.lib in Oject/library modules with $(HDF5_EXT_LIBS_DLL).
If we want to enable both zlib and szip, set
HDF5_EXT_LIBS = zlib.lib szlib.lib
HDF5_EXT_LIBS_DLL = c:\zlib114\dll\zlib.lib szlibdll.lib
If we want to enable zlib and disable szip, set
HDF5_EXT_LIBS = zlib.lib
HDF5_EXT_LIBS_DLL = c:\zlib114\dll\zlib.lib
If we want to disable zlib and enable szip, set
HDF5_EXT_LIBS = szlib.lib
HDF5_EXT_LIBS_DLL = szlibdll.lib
If we want to disable both zlib and szip, set
HDF5_EXT_LIBS =
HDF5_EXT_LIBS_DLL =
Platforms tested:
Tested with Microsoft Visual C++ 6.0/DEC Fortran 6.0 and .NET on Windows XP and
Visual C++ 6.0/DEC Fortran 6.0 on Windows 2000 for all the possible 4 zlib/szip
enable/disable combinations:
1. Enable both
2. Enable zlib and disable szip
3. Disable zlib and enable szip
4. Disable both
Misc. update:
Bug fix (sorta)
Description:
Change reading of "missing" chunks from datasets with undefined fill
values to not overwrite the application buffer with random garbage from
memory. Note that this is almost the same, since whatever garbage the
application had in those locations will still be there...
Platforms tested:
FreeBSD 4.10 (sleipnir)
IRIX64 6.5 (modi4)
h5committested
Fix of bug/feature which caused testphdf5 to fail when run with more than
32 processes. This fix was originally applied to the 1.6 branch, and is
now ported to the 1.7 branch.
Description:
32 process limit was a hard coded constant.
Solution:
Modified most of the routines in t_mdset.c to adapt dynamically to
the current number of processes. In passing, I also tidied up a
few memory leaks.
Note that one new routine had been added to the 1.7 version of
t_mdset.c since the 1.6/1.7 split. I applied changes to this
routine as well.
Platforms tested:
h5committested
Tested on eirene with 4 and 8 processes. Couldn't go higher.
I would have like to repeat my 32 - 64 process tests on copper,
but was unable to do so as I don't have access to cu12t at
present. Perhaps I will be able to manage this in the next
few days. However, Albert wanted these changes checked in to
the 1.7 branch so he could work with them.
Misc. update:
h5repack test
Description:
modified a test file generation contents, for more easy debugging
(generated just one reference dataset and one region reference )
Solution:
Platforms tested:
linux
aix
solaris
Misc. update:
Code cleanup.
Removed bunch of old options (r,w,v,i,b,e) that are no longer valid
or useful after adopting the general test interface. Moved the test
of sizeof MPI_Offset into the test routine itself.
Platforms tested:
Eirene and Sol using pp mode.
Bug fix.
Description:
The return value of TestPrivateParser() was not tested, thus program
would keep on going incorrectly even if errors were detected in
TestPrivateParser.
Solution:
Check the return and exit accordingly.
Platforms tested:
Tested in Eirene and Sol in both serial and pp modes.
new test
Description:
added a test that generates and copies a file with a dataset with fill value
(this is to test the property list function H5Pequal)
Solution:
Platforms tested:
linux
solaris
aix
Misc. update:
Description:
The private function p_close was removed previously, but I
inadvertently put it back in a few places, while transferring
the changes from 1.6 branch. These are removed now.
Platforms tested:
SunOS 5.7 (arabica)
Linux 2.4 (eirene)
bug fix.
Description:
The test routines only print error messages but not all of them
return number of errors detected back to the main routine which
always exit with a 0 status. Thus make or shell commands could
not detect there were errors.
Solution:
Changed the test routines to return appropriate number of
errors to main routine which in turn exit with the appropriate
exit code if errors found.
Platforms tested:
Tested in Sol and eirene (pp).
Misc. update:
Description:
Updated various function headers for the RM as reviewing progresses.
Rearranged functions in header files for more sensible look of the RM.
Platforms tested:
SunOS 5.7 (arabica)
Linux 2.4 (eirene)
Description:
Added wrappers for H5Fget_name:
H5File::getFileName
H5Object::getFileName
Moved some functions from Group into the base class CommonFG for
H5File too.
Platforms tested:
SunOS 5.7 (arabica)
Linux 2.4 (eirene)
Description: Added PGI Fortran support for Linux64 systems (x86_64)
Solution:
Platforms tested: AMD Opteron box at AMD Sunnyvale and verbena
with PGI and gcc compilers.
Misc. update:
new feature
Description:
added a check that the chunk size must be smaller than pixels per block in SZIP request
prints a message and exits, if not met
Solution:
Platforms tested:
linux
aix
solaris
Misc. update:
Fix to config for ia64-linux (C++)
Description:
missing character in config file
Solution:
add the missing character
Platforms tested:
'hal'
Misc. update:
Description: In H5O_fill_new_decode and H5O_fill_new_encode, UINT32DECODE and
UINT32ENCODE were used to decode and encode message size, which is ssize_t.
Solution: Change to INT32DECODE and INT32ENCODE.
Platforms tested: fuss - very simple change.
Misc. update:
feature
Description:
Another revamp of the test interface.
TestInit: is used to register Test Program name, test program specific
Usage and option parsing routines.
TestUsage: will invoke extra usage routine if provided.
TestParseCmdLine: will invoke extra option parsing routine if provided.
GetTestSummary() and GetTestCleanup() replaces the previous Summary and
CleanUp arguments of TestParseCmdLine.
test/testhdf5, test/ttsafe.c, testpar/t_mpi.c, testpar/testphdf5.c:
All have been updated to use the new Test Routines.
testpar/t_mpi.c:
Also a fix of a compiler optimization bug when pgcc in Linux is
used to compile it. Changed buf[] and expected to unsigned char
type to avoid a bug that failed to do sign-extension.
Platforms tested:
"h5committested"
Also tested thread-safe option in eirene.
Update.
Description:
Make some minor change so that h5jamgentest.c is compatible with Windows.
Solution:
Change open() and write() functions to HDopen(), and HDwrite().
Platforms tested:
Windows 2000
Windows XP
eirene
(Note: I talked with Bob and Kent about these changes before check-in)
Misc. update:
Update.
Description:
Make some minor change so that tellub.c is compatible with Windows.
Solution:
1. unistd.h is not available in windows system. Add a macro for this header file as:
#ifdef H5_HAVE_UNISTD_H
#include <unistd.h>
#endif
2. Change open, read, write, lseek functions to HDopen, HDread, HDwrite, and HDlseek,
as these HD functions are more comtatible with Windows system.
3. add #include H5private.h
4. remove #include <stdlib.h>
Platforms tested:
Windows 2000
Windows XP
eirene
(Note: I talked with Bob and Kent about these changes before check-in)
Misc. update:
Update.
Description:
Make some minor change so that h5jam.c is compatible with Windows.
Solution:
1. unistd.h is not available in windows system. Add a macro for this header file as:
#ifdef H5_HAVE_UNISTD_H
#include <unistd.h>
#endif
2. Change open, read, write, lseek functions to HDopen, HDread, HDwrite, and HDlseek,
as these HD functions are more comtatible with Windows system.
3. add #include H5private.h
4. remove #include <stdlib.h>
Platforms tested:
Windows 2000
Windows XP
eirene
(Note: I talked with Bob and Kent about these changes before check-in)
Misc. update:
Update.
Description:
Make some minor change so that h5jam.c is compatible with Windows.
Solution:
1. unistd.h is not available in windows system. Add a macro for this header file as:
#ifdef H5_HAVE_UNISTD_H
#include <unistd.h>
#endif
2. Change open, read, write, lseek functions to HDopen, HDread, HDwrite, and HDlseek,
as these HD functions are more comtatible with Windows system.
3. add #include H5private.h
4. remove #include <stdlib.h>
Platforms tested:
Windows 2000
Windows XP
eirene
(Note: I talked with Bob and Kent about these changes before check-in)
Misc. update:
Update.
Description:
Add h5jam and h5unjam tools into Windows workspace.
Solution:
1. Add h5jam project in hdf5\tools\ directory, which includes hdf5\tools\h5jam\h5jam.c
2. Add h5unjam project in hdf5\tools\ directory, which includes hdf5\tools\h5jam\h5unjam.c
3. Add h5jamtst project in hdf5\tools\testfiles\ directory, which includes hdf5\tools\h5jam\h5jamgentest.c
4. Add getub project in hdf5\test\ directory, which includes hdf5\tools\h5jam\genub.c
5. Add tellub project in hdf5\test\ directory, which includes hdf5\tools\h5jam\tellub.c
Platforms tested:
Visual C++ 6.0 on Windows 2000/XP and .NET on XP.
Misc. update:
Description: In H5O_fill_new_decode, it tries to read message size(-1) when
fill value is undefined for version 1. During UINT32DECODE, if the machine is
64-bit, a value 0x00000000ffffffff is returned, which is like a valid value.
Solution: If fill value is undefined, don't read the message size, simply
assign -1 to it.
Platforms tested: fuss - did h5committest for v1.6 already.
bug fix
Description:
the option CHUNK:NONE (remove chunking ) was not setting the layout to contiguous
Solution:
Platforms tested:
linux
solaris
AIX
Misc. update:
Purpose:
bug fix
Description:
1. The IF-block of skipping collective chunk IO tests when the number of
processes is greater than some number essentially skipped all parallel tests.
2. John tested at copper with the number of processor = 64 and collective
chunk IO tests passed, so we increase the number of precessor =24 to 64 for
skipping the test.
Solution:
1. change the IF block flow so that it only skips collective chunk IO tests when
the number of process is greater than 64.
Platforms tested:
copper(only change a bit of parallel test code, no needs to test on other platforms).
Misc. update:
Bug fix
Description:
1 - Dataset contiguous storage cache information had a bug where it was
possible to try to access invalid cache information if the cache wasn't filled
the first time it attempted to loop through the list of offset/length vectors.
2 - Additionally, the contiguous storage cache information was being used
in certain circumstances from the chunked dataset I/O code path, which was
generally fatal since the chunk storage and contiguous storage information
were stored together in a union.
Solution:
1 - Avoid special case of first trip through loop over offset/length
I/O vectors and always check for the contiguous storage sieve buffer buffer
being NULL.
2 - Change the union containing the chunk and contiguous storage cache
information into a struct, allowing both to be used at the same time.
Platforms tested:
FreeBSD 4.10 (sleipnir)
h5committested
Bug fix
Description:
The examples would compile even if some header file were not
installed. That was because the CPPFLAGS has -I... components
that included the src directories.
Solution:
The h5cc or h5pcc commands should have all the necessarily
library include directories covered. Changed CPPFLAGS to
search only the examples source directory for local header
files.
Platforms tested:
No h5committest tests which do not check examples.
Hand tested it in sol.
New Feature.
Description:
Add two new batch files for HDF5 building and testing on Windows.
Solution:
1. Add hdf5build.bat: build hdf5 from command line, which has four opitions:
hdf5build build c library and tools only
hdf5build enablecpp build c/c++ libraries and tools
hdf5build enablefortran build c/fortran libraries and tools
hdf5build enableall build c/c++/fortran libraries and tools
2. Add hdf5bt.bat: this batch file calls hdf5build.bat and hdf5check.bat to
build and test hdf5 from command line. It also has four options:
hdf5bt build and test c library and tools only
hdf5bt enablecpp build and test c/c++ libraries and tools
hdf5bt enablefortran build and test c/fortran libraries and tools
hdf5bt enableall build and test c/c++/fortran libraries and tools
Platforms tested:
Windows 2000/XP.
Misc. update:
New Feature.
Description:
Add several new batch files for hdf5 windows tests.
Solution:
1. Add install_dll.bat: copy hdf5 dlls to windows system directory.
2. Add install_cppdll.bat: copy hdf5 cpp dlls to windows system directory.
3. Add install_f90dll.bat: copy hdf5 fortran dlls to windows system directory.
4. Add hdf5check.bat: test hdf5 from command line, which has four opitions:
hdf5check test c library and tools only
hdf5check enablecpp test c/c++ libraries and tools
hdf5check enablefortran test c/fortran libraries and tools
hdf5check enableall test c/c++/fortran libraries and tools
5. Update testhdf5tools, dumptest, difftest, lstest, importest, repacktest.
Platforms tested:
Windows 2000/XP.
Misc. update:
Feature
Description:
Added --private option which is for individuals making a private
release version. It sets the SubRelease string to the date of
release. This should be sufficient to distinguish releases
provided one does not make two private releases on the same
day.
Platforms tested:
No h5committest since it does not test this feature.
Hand tested it in Eirene.