changes.
Last round of check in fixed the problem when an attribute was opened twice and data was
written with one of the handles, the file didn't have the data. It happened because each
handle had its own object structure, and the empty one overwrote the data with fill value.
This is fixed by making some attribute information like the data be shared in the
attribute structure.
Tested on smirom, kagiso, and linew.
Description:
Enclosed some code that test reference counts in brackets so that
temporary objects will go out of scope before checking references.
This is to work around the issue where some C++ compilers destroy
temporary objects at different time than others.
Platforms tested:
SunOS 5.10 (linew)
Linux 2.6 (kagiso)
FreeBSD (duty)
Description:
The fortran Makefile.am used HDF_FORTRAN to indicate it is part of the
Fortran API source so that conclude.am will give fortran api prefix in the
test output. The symbox HDF_FORTRAN is also used in configure for a different
purpose (indicated --enable-fortran). They conflicted.
Similar problem for the symbol HDF_CXX.
Solution:
Changed all the involved Makefile.am to use "FORTRAN_API" instead. It is
a more appropriate name. Same for CXX_API.
Along the way, discovered that the Makefile.am of hl/fortran/test and
hl/cxx/test did not have those symbols at all. Added them in.
Platform tested:
Kagiso serial and h5committested (kagisopp, smirom, linew).
Improvement.
Description:
src/libhdf5.settings was the initial configure summary and is installed.
Then configure is changed to dump a summary of the configure settings to
the output and also append it to src/libhdf5.settings. That created
two different output formats and duplicated information. This is the
initial attempt to clean up this confusion and unify the output format.
It is decided to use the src/libhdf5.settings template as the unified means.
This requires more macros symbols be defined. The following symbols are
all related to generating the src/libhdf5.settings file.
AC_SUBST(EXTERNAL_FILTERS)
AC_SUBST(MPE) MPE=no
AC_SUBST(STATIC_EXEC) STATIC_EXEC=no
AC_SUBST(HDF_FORTRAN) HDF_FORTRAN=no
AC_SUBST(FC) HDF_FORTRAN=no
AC_SUBST(HDF_CXX) HDF_CXX=no
AC_SUBST(CXX) HDF_CXX=no
AC_SUBST(HDF5_HL) HDF5_HL=yes
AC_SUBST(GPFS) GPFS=no
AC_SUBST(LINUX_LFS) LINUX_LFS=no
AC_SUBST(INSTRUMENT) INSTRUMENT=no
AC_SUBST(CODESTACK) CODESTACK=no
AC_SUBST(HAVE_DMALLOC) HAVE_DMALLOC=no
AC_SUBST(DIRECT_VFD) DIRECT_VFD=no
AC_SUBST(THREADSAFE) THREADSAFE=no
AC_SUBST(STATIC_SHARED)
AC_SUBST(enable_shared)
AC_SUBST(enable_static)
AC_SUBST(UNAME_INFO) UNAME_INFO=`uname -a`
The src/libhdf5.settings.in has CONDITIONAL's added to it too. The
untrue conditions turned into a "#" and these lines are cleaned by the
post processing script.
Platform tested:
h5committest on kagiso, smirom and linew. (smirom had failures not due to
my changes.)
Description: Updated bin/reconfigure script to reflect the new versions of
libtool and automake in the /home1/packages/ directory.
Rearranged configure.in script. For some reason, when using
libtool 2.2, the libtool script doesn't generate until
later in the configuration process, so I had to move
a test that parsed through the libtool script to a point
after where it was actually being generated.
Ran libtoolize on the project, and ran bin/reconfigure to
regenerate configure and Makefile.in's throughout.
Tested: kagiso, smirom, linew, tg-login
Description: IRIX64 failed to build tools/h5import, as well as c++/test
with szip. This is because IRIX is very picky when it comes
to linking libraries, and must be done in specific order.
(other UNIXes are not as such, and thus the problem wasn't
present).
Solution: Rearrange the order in which the libraries are
linked on the compiler line by sorting the line that
assigns libraries into the LDADD variable in the Makefile.am's
of the two respective directories.
Tested: IRIX64, kagiso, smirom
Add work-around to allow reading files that were produced with a buggy
earlier version of the library, which could create objects with the wrong
object header message count. There is now a configure flag
"--enable-strict-format-checks" which triggers a failure on reading a file
with this sort of corruption (when enabled) and allows the object to be read
(when disabled). The default value for the "strict-format-checks" flag is
yes when the "debug" flag is enabled and no when the "debug" flag is disabled.
Note that if strict format checks are disabled (allowing objects with
this particular kind of corruption to be read) and the file is opened with
write access, the library will re-write the object header for the corrupt
object with the correct # of object header messages.
This closes bugzilla bug #1010.
Tested on:
FreeBSD/32 6.2 (duty) in debug mode
FreeBSD/64 6.2 (liberty) w/C++ & FORTRAN, in debug mode
Linux/32 2.6 (kagiso) w/PGI compilers, w/C++ & FORTRAN, w/threadsafe,
in debug mode
Linux/64-amd64 2.6 (smirom) w/default API=1.6.x, w/C++ & FORTRAN,
in production mode
Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
in production mode
Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
w/szip filter, in production mode
Mac OS X/32 10.4.10 (amazon) in debug mode
Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in production mode
Add H5Rget_obj_type() to the API versioning and switch internal
routines to use H5Rget_obj_type2()
Misc. other code cleanups, etc.
Tested on:
FreeBSD/32 6.2 (duty)
FreeBSD/64 6.2 (liberty)
Linux/32 2.6 (kagiso)
Linux/64 2.6 (smirom)
AIX/32 5.3 (copper)
Solaris/32 2.10 (linew)
Mac OS X/32 10.4.10 (amazon)
Add --enable-deprecated-symbols configure option, to allow users to
remove deprecated public API symbols at configure time.
Add bin/make_vers script to bin/reconfigure actions.
Run bin/reconfigure to regenerate autotool components.
Tested on:
Mac OS X/32 10.4.10 (amazon)
FreeBSD/32 6.2 (duty)
Linux/32 2.6 (kagiso)
Description:
Compilers don't destroy temporary objects at the same time, some do
immediately after use, some delay until the end of the scope. The
delay makes it difficult to test the reference count functionality.
Solution:
Enclosed the operations on objects and check reference count after
getting out of the enclosed block. This only works for the test!
I'm assuming that checking reference count is just for the library
to test that functionality; the user will not need to do that. :-/
Platforms tested:
SunOS 5.10 (linew)
Linux 2.6 (kagiso)
2) Removing configuration of c++/src/H5cxx_pubconf.h file.
Reasoning: the additional pubconf file caused compilation complications, this is cleaner.
Tested: kagiso, smirom
Description: added new configuration to generate a pubconf file
in the c++/src directory, H5cxx_pubconf.h. When C++
compiler recognizes 'offsetof', the macro
H5_CXX_HAVE_OFFSETOF is defined in the new
pubconf file.
tested: kagiso, smirom
Description: a new configure flag has been created that will now set a macro
in the test/Makefile. The flag is with-default-vfd=. When set to
a virtual file driver (e.g. "--with-default-vfd=sec2"), the macro
DEFAULT_VFD will hold this value.
Tested: kagiso, smirom, linew
file size from MPI_File_get_size. Bypass this problem by replacing it with
stat. Add an option --disable-mpi-size in configure to indicate this function
doesn't work properly. Add a test in testpar/t_mpi.c, too. If it returns wrong
file size, print out a warning.
Tested on kagiso (parallel) because already tested the same change to v1.6 on
several platforms (kagiso, cobalt, copper, and sol).
./c++/test/tcompound.cpp
./c++/test/ttypes.cpp
./c++/test/tfilter.cpp
./c++/test/tvlstr.cpp
Also, fixed a declaration in ttypes.cpp that was causing a compile error in MSVS6.0.
Tested:
Visual Studio 6.0 on WinXP
kagiso
too minor for h5committest
Description:
Added extern "C" to cleanup functions as well, forgot last time.
Cleaned up/Added comments to some of the newly added tests.
Platforms tested
AIX 5.1 (copper)
Linux 2.6 (kagiso)
SunOS 5.8 64-bit (sol)
Description:
VMS revealed a problem in calling C++ test functions from C AddTest.
Solution:
Per Quincey's suggestion, added
#ifdef __cplusplus
extern "C"
#endif
to the called C++ functions.
Platforms tested
AIX 5.1 (copper)
Linux 2.6 (kagiso)
On pending: waiting for Elena to test on VMS when she comes back.
The copyright notices have errors in the closing comment lines that
C++ compilers complain about. Fixed the comment line.
Tested platform:
In smirom using disable-production, enable-debug, disable-shared option.
(other combinations would ended in build or test failures. Pretty sure
they were caused by my changes.)
Description: Multiple copies of Copyright appeared in Makefile.in. This was
due to automake copying the copyright right in the included files such as
config/commence.am.
Solution: Automake treats double hashes as comments and does not copy them
to Makefile.in. Changed all the copyright notices in config/*.am to use
double hashes for the Copyright right notice.
Tested: kagiso via bin/reconfigure.
Tested platform:
Kagiso only since it is only a comment block change. If it works in one
machine, it should work in all, I hope. Still need to check the parallel
build on copper.
Description:
- Added a brief test for DSetCreatPropList::setSzip. More through tests
will be added later.
- Moved check_values from dsets.cpp into h5cpputil.cpp for sharing
with other tests.
Platforms tested
AIX 5.1 (copper)
SunOS 5.8 64-bit (sol)
Linux 2.6 (kagiso)
The examples had been depending on the build libraries in src, but should have
been depending only on the installed h5cc. Fixed this.
Tested on kagiso (dependency change only, and was unable to replicate the
problem on any system). Real test will be Daily Tests tonight.
Description:
Added
* tests for some generic datatype operations
* tests for compound datatype operations
These tests are checked in now to make sure they're safe! They can
use some more comments and minor cleanups. Will do very soon.
Fixed few minor typos.
Platforms tested
AIX 5.1 (copper)
SunOS 5.8 64-bit (sol)
HPUX 11.00 (kelgia)
It seems that while Cygwin supports the time command, it has trouble with
the syntax
srcdir="../../hdf5/test" time ./testhdf5
and complains.
The solution is to test the above case in configure and not to use the time
command if it fails; Cygwin is fine with
srcdir="../../hdf5/test" ./testhdf5
Tested on Cygwin and kagiso. This feature shouldn't be a major compatibility
problem since every platform but Cygwin is already fine with the current
syntax.
Description:
Fixed several mismatched types causing daily test to fail on tg-login.
Platforms tested:
Linux 2.6 (kagiso) - just to make sure no ill effects.
I cannot login to tg-login3 so am going to watch for it on daily test
tonight.
The version of libtool used by HDF5 isn't directly affected by the reconfigure
script; instead, libtoolize --force must be used by hand. Libtool was the
source of the problem, so rolling its version back to 1.5.14 should solve the
issue (at least temporarily).
Reconfigure should still work on both heping and kagiso.
Tested on heping, kagiso, and tg-login3.
Should disable linking against shared libraries in Fortran for compilers that
don't support shared libraries.
Should also fix problem when the wrong Fortran file extension was specified.
If these changes don't solve the Daily Test issues, I'll look at backing out
the autotool version change until I have time to fix them.
Tested on heping, kagiso, juniper.
Description:
Added (long) to a verify_val call.
Platforms tested:
Linux 2.6 (kagiso) - very minor, and Kent will test it on Windows, because
that was where it was complained about.