Tests to verify the bug fixed are installed.
Test: v1.8.4 passed all tests on
Jam (default and with --disable-depreacted-symbol), Amani (v16API),
Linew (default).
This should be good for trunk version too.
Description:
H5HG_load made improper assumptions about the ordering of object indices, namely
that they are in order. Not only is this not guaranteed by the file format
spec, but this condition can be violated if id's "wrap around" which can happen
when overwriting VL data. H5HG_load has been fixed to handle any order of
indices. Also fixed some other bugs involving allocation of global heaps in
memory.
Tested: jam, linew, amani (h5committest)
Description:
The H5TB API makes some improper assumptions about the order of compound
datatype members. Namely, it assumes that members remain in the order in which
they were inserted. Unfortunately, this assumption is inherent in the design of
the interface. The library has been patched so that this assumption holds in
situations relevant to H5TB.
Tested: jam, linew, amani (h5committest)
Description:
Calling H5Tcommit_anon on a file with read only access would cause an
assertion failure. Added a check to H5T_commit to return a failure in
this case. Removed redundant check in H5T_commit_named.
Tested: Fedora 11 (very minor change)
Description:
Calling H5Tcommit1 or H5Tcommit2 on a file with read only access would cause an
assertion failure. Added a check to H5T_commit_named to return a failure in
this case. Also a minor fix in the link_filters test.
Tested: Fedora 11 (very minor change)
Refactor v2 B-tree code to bring it further in line with how the fractal
heap code works, to make forthcoming modificaions easier. Also minor tweaks to
the fractal heap code to clean it up a bit more also.
Tested on:
FreeBSD/32 6.3 (duty) in debug mode
FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
Linux/32 2.6 (jam) w/PGI compilers, w/default API=1.8.x,
w/C++ & FORTRAN, w/threadsafe, in debug mode
Linux/64-amd64 2.6 (smirom) w/Intel compilers, w/default API=1.6.x,
w/C++ & FORTRAN, in production mode
Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
w/szip filter, in production mode
Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
in production mode
Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in debug mode
Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode
Refactor v2 B-tree code to take creation parameters to H5B2_create() as
a struct (instead of individual arguments), call the client's class "cls"
instead of "type" internally, and add client class name to client class struct.
Tested on:
FreeBSD/32 6.3 (duty) in debug mode
FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
Linux/32 2.6 (jam) w/PGI compilers, w/default API=1.8.x,
w/C++ & FORTRAN, w/threadsafe, in debug mode
Linux/64-amd64 2.6 (smirom) w/Intel compilers, w/default API=1.6.x,
w/C++ & FORTRAN, in production mode
Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
w/szip filter, in production mode
Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
in production mode
Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in debug mode
Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode
Mac OS X/32 10.6.1 (amazon) in debug mode
Mac OS X/32 10.6.1 (amazon) w/C++ & FORTRAN, w/threadsafe,
in production mode
Fix error in dataset's chunk index v1 B-tree debugging code to correctly
pass userdata down to B-tree cache load routine.
Tested on:
Linux 2.4/64 (chicago1)
(too minor to require h5committest)
The file failed to compiled in AIX which flags syntax error.
Fixed by making the statements more explicitly compare with NULL
and added a missing trailing semi-colon.
Tested:
Tested in AIX (Up at LLNL) only. The changes are trivial and should
be portable to all platforms.
Comment says Error exit code is -1 but actual code use 1.
Changed it to EXIT_FAILURE (1) and exit(0) to exit(EXIT_SUCCESS) for
better coding.
Tested: jam.
Error exit code of -1 is illegal (exit code is unsigned).
Changed it to EXIT_FAILURE (1).
Also changed exit(0) to exit(EXIT_SUCCESS) for better coding.
Tested: jam.
The error started out as an erroneous test of using v16 API via
source code. (See bug 1264). It was implemented as:
#include "hdf5.h"
#define H5_USE_16_API
That was incorrect and generated warnings in Linux but error in AIX
for redefining macro H5_USE_16_API.
I corrected it yesterday to pass AIX by moving H5_USE_16_API up as:
#define H5_USE_16_API
#include "hdf5.h"
This is the proper way to turn on v16API and it passes all normal
tests. I knew it would not work if somehow v16API is disabled
but hoping it can be fixed later. Well, it broke last night
under --disable-deprecated-symbols.
Removed the #define H5_USE_16_API and let Raymond fix it after
the release.
Description:
Fixed CommonFG::getComment and CommonFG::getLinkval to provide
default values for buffer size to improve usability.
Added test file tlinks.cpp, which only contains test for getLinkval
and will expand when C++ wrappers for H5L functions are implemented.
Platforms tested:
Linux/32 2.6 (jam)
FreeBSD/64 6.3 (liberty)
SunOS 5.10 (linew)
#define H5_USE_16_API
was inserted AFTER #include <hdf5.>, too late was it to take
effect. Instead, it caused a macro redefinition, flagged as an error
by AIX.
Fixed by moving it before the <hdf5.h>.
Tested: Jam.
Configure Cleanup
Description:
Make all AM_CFLAGS visible in CFLAGS during configure so all checks
have full visibility of any set flags.
Tested:
h5committest
-qmoddir=. because -qmoddir defaults to current directory already.
-static because it is not mentioned in "man xlf". Don't know it was a typo
or just an obsoleted option.
Removing both of them produced no ill or visible effects.
Tested: Up of LLNL
added a signal handler to the tcheck_version to intercept the abort signal from
H5check_version. Some systems would prints extra messages and/or core dump if
the abort signal is not handled. This eliminates those unwanted side effect.
Tested: h5committested.
configure cleanup
Description
1. Removed check that disables shared libraries when pgcc is used. Apparently
they previously did not work with libtool 1.5.14 and on mir, neither of
which is in use anymore. Testing on jam and amani appear fine, so this
check is unnecessary.
2. Removed check that disables shared C++ libraries when -xarch is used to
enable 64 bit mode. We now use m64 flag to build 64 bit binaries, so
we shouldn't explicitly disable shared C++ libraries if -xarch is
discovered.
3. Removed old configure output summary section from configure.in, since
we now use the libhdf5.settings file.
4. Updated powerpc-ibm-aix5.x config file to once again put c99 flag into
H5_CFLAGS (and thus NOT get into h5cc), as decided in our dev meeting.
Tested:
h5committest
full build with pgcc on jam / amani
xlf90 and mpxlf90_r respectively. The fortran 90 compilers support
free format source files. This allows the removal of -k so that
the default compiler command is cleaner.
Tested: AIX Up at LLNL.
(Note: mpxlf90_r does not work but this could have been an undetected
old problem.)
Refactor the v2 B-tree code to use an open & close call internally, in
preparation for making those part of the library private APIs for dealing with
v2 B-trees.
Tested on:
FreeBSD/32 6.3 (duty) in debug mode
FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
Linux/32 2.6 (jam) w/PGI compilers, w/default API=1.8.x,
w/C++ & FORTRAN, w/threadsafe, in debug mode
Linux/64-amd64 2.6 (smirom) w/Intel compilers, w/default API=1.6.x,
w/C++ & FORTRAN, in production mode
Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
w/szip filter, in production mode
Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
in production mode
Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in debug mode
Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode
Mac OS X/32 10.6.1 (amazon) in debug mode
Mac OS X/32 10.6.1 (amazon) w/C++ & FORTRAN, w/threadsafe,
in production mode
Refactor v2 B-trees to pin the B-tree header in the cache instead of
using separate reference counted data structure.
Tested on:
FreeBSD/32 6.3 (duty) in debug mode
FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
Linux/32 2.6 (jam) w/PGI compilers, w/default API=1.8.x,
w/C++ & FORTRAN, w/threadsafe, in debug mode
Linux/64-amd64 2.6 (smirom) w/Intel compilers, w/default API=1.6.x,
w/C++ & FORTRAN, in production mode
Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
w/szip filter, in production mode
Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
in production mode
Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in debug mode
Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode
Mac OS X/32 10.6.1 (amazon) in debug mode
Mac OS X/32 10.6.1 (amazon) w/C++ & FORTRAN, w/threadsafe,
in production mode
Platforms tested: jam (trivial change)
Note: Most of the Fortran compilers create module files with "mod" extension.
In the past, I believe, there were systems (Cray?) that used different
extensions. We should add those to the current fix when we find them.
2. tools/h5stat/h5stat.c: clean up and activate options as stated in usage
3. tools/h5stat/testfiles/*.ddl: modified according to the latest output
-This line, and those below, will be ignored--
M tools/h5repack/h5repack_main.c
M tools/h5stat/testfiles/h5stat_newgrat.ddl
M tools/h5stat/testfiles/h5stat_filters.ddl
M tools/h5stat/testfiles/h5stat_help1.ddl
M tools/h5stat/testfiles/h5stat_help2.ddl
M tools/h5stat/testfiles/h5stat_tsohm.ddl
M tools/h5stat/testfiles/h5stat_filters-F.ddl
M tools/h5stat/h5stat.c
for stream VFD. -lsocket is still used for linking, but it
is added by libtool and not by us.
Set up debug flags for Fortran.
Platforms tested: linew 32 and 64-bit.
Configure / Config File Fixes
Description:
1. Made AM_CPPFLAGS assignments in configure a bit safer. (i.e., check to
ensure include paths exist before adding them to AM_CPPFLAGS).
2. Change AIX config file to add -D_LARGE_FILES into AM_CXXFLAGS instead
of H5_CXXFLAGS (same with *_CFLAGS). This will propagate it into
h5c++, where it is needed to compile correctly.
3. Added missing line containing AM_CFLAGS to configure output summary.
Tested:
h5committest, and uP (AIX machine, via Albert).
Configure Fix
Description:
uP (AIX Machine) was failing because configure needs to see -k flag in
FCFLAGS for some checks to behave as intended. Since the config files
were switched to passing all flags into H5_FCCFLAGS, this broke this
behavior.
To allow configure to see this again, FCFLAGS and all other user flags
are saved before doing anything, and restored at the end of configure,
so if needed we can set these values in configure and/or the config/
files without (permanently) overriding or changing anything a user sets.
Also modified the powerpc-ibm-aix5.x config file to once again put -k
into FCFLAGS in addition to H5_FCFLAGS (the former of which will be
restored after configure completes the checks).
Tested:
h5committest (jam and amani finished, linew still running, though
I wanted to get this in for daily tests since it needs to be run on
uP for final verification).
Couple quick configure cleanups
Description:
- Made a few AM_LDFLAGS assignments a bit safer.
- Regenerated a couple Makefile.in's via bin/reconfigure to address
some typo-fixes that didn't propagate in my last check-in.
Tested:
- h5committest
- Also, I suspect this fix will address a failure on Sandia's clogin2
machine, but Albert currently has no password to gain access, so I have
only minimal logs of the failure and no way to test it there. I'll
just let the automated tests there determine if indeed I'm right.