Daily tests failed for Absoft f95 compiler
Solution:
Failure was due to several typos in H5f90prpto.h file; fixed
I also removed redundant flags from the configration files.
Platforms tested: heping with f95, g95, pgf90; pommier with f95
Previous implementation failed to compile on MAC OS X Tiger 10.4 and AIX 5.2
In previous implementation, each overloaded Fortran function called the same
C function. Since declaration of parameters in INTERFACE block for
C Function differed, some compilers issued warnings but g95 on MAC and AIX
failed to compile.
Solution: Add C wrappers corresponding to each overloaded Fortran function
to call C stub function. This fix should also reduce number of warnings
on IRIX systems.
Platforms tested: MAC OS and AIX 5.2 (copper) with g95;
sol (with Sun compilers), heping with PGI compilers
and quote its arguments. Also checks for the 'socket' library on
Solaris.
If this patch passes the Daily Tests and makes the user happy, I'll
port it back to the 1.6 branch.
Tested on mir and sol.
File format is not stable, don't keep files produced!
Description:
First stage of checkins modifying the format of groups to support creation
order. Implement "dense" storage for links in groups.
Try to clarify some of the symbols for the H5L API.
Add the H5Pset_latest_format() flag for FAPLs, to choose to use the newest
file format options (including "dense" link storage in groups)
Add the H5Pset_track_creation_order() flag for GCPLs, to enable creation
order tracking in groups (although no index on creation order yet).
Remove --enable-group-revision configure flag, as file format issues are
now handled in a backwardly/forwardly compatible way.
Clean up lots of compiler warnings and other minor formatting issues.
Tested on:
FreeBSD/32 4.11 (sleipnir) w/threadsafe
Linux/32 2.4 (heping) w/FORTRAN & C++
Linux/64 2.4 (mir) w/enable-v1.6 compa
Mac OSX/32 10.4.8 (amazon)
AIX 5.3 (copper) w/parallel & FORTRAN
Since these examples need to follow filesystem paths, the Makefiles need
to create directories in the examples directory; added this to the
Makefile.am.
Tested on Windows, mir, juniper
"make check-vfd" will now run all tests in the test directory with different
file drivers (at least, all of those tests that use the testing framework's
FAPL). Tests that fail will be skipped.
This is not a perfect fix, but is better than nothing.
Along with this change, check-vfd should be added to the Daily Tests.
Feature
Description:
Revised Link APIs.
Solution:
New link APIs use H5L*
H5*create_expand do not create links to the objects created; this must
be done manually with H5Llink.
Added APIs to link an object given its ID (H5Llink), to copy links (H5Lcopy),
and changed creation APIs (H5Lcreate_hard and H5Lcreate_soft) and query
API (H5Lget_linkinfo instead of H5Gget_objinfo).
All old APIs are still supported in H5Gdeprec.c .
Platforms tested:
sol, mir, copper
Misc. update:
Forgot to update MANIFEST and release docs. Will do after checkin.
Code cleanup
Description:
Trim trailing whitespace in Makefile.am and C/C++ source files to make
diffing changes easier.
Platforms tested:
None necessary, whitespace only change
Configuration feature
Description:
'make install' now tests both static and shared libraries if both are installed.
Solution:
Previously, shared libraries were only tested when static libraries were not installed.
Also cleaned up line in commence.am that was including HL library in all Makefiles.
Platforms tested:
mir (Makefile change only)
Bug fix - bugzilla #552
Description:
On Cray X1, trying to use : as an argument confused the system.
Solution:
Added a test in configure to see if : as an argument is bad.
If so, skipped the test.
Platforms tested:
mir, Cray X1 (change to configure only)
Bug fix
Description:
tg-login was having an error about H5match_types.Tpo being missing.
Solution:
tg-login was trying to build H5_match_types twice at the same time and
becoming confused as a result.
Massaged the dependencies in the Makefile.am to prevent this.
Platforms tested:
mir, sol, tg-login
Bug fix.
Description:
The ${TR}, though avoid the error, is inconvenient. It is needed
because configure.in use the char range in the style of 'a-z'.
The other style of '[a-z]' is more commonly accepted by all tr
but autoconf tends to strip away [], making the syntax rather
clumsy.
Solution:
Learned from autoconf that it avoids the use of character range
by just spell all the letters out. Changed our tr commands to
use those variables defined by autoconf. Also removed the
definition of ${TR} since it will cause inconsistancy when
autoconf also use plain 'tr' in its generated code.
The Makefile.in are changed because the elimination of ${TR} from
configure triggered its removal from all Makefil.in. That is okay
because ${TR} is not used at all in Makefile.
Platforms tested:
h5committested. (sol failed to connected). also tested in shanti
using both /usr/ucb/tr and /bin/tr (the bad one before.)
Misc. update:
Updated both INSTALL and RELEASE files.
Description: When --enable-group-revision flag was used, h5fget_filesize_f
function returned different value from expected one. Test failed
with false negative result.
Solution: Added Fortran function h5_group_revision_f and its
C stub to check if macro H5_GROUP_REVISION is defined.
Expected value from h5fget_filesize_f is set up accordingly.
Platforms tested: copper, shanti and heping with and without
--enable-group-revision configuration flag
Misc. update:
Several bug fixes
Description:
Added config file for Cray X1 (previous file was misnamed)
Simplified some code in hyperslab.c test that seemed to have been
confusing compiler on Cray X1.
Fixed typo in config/commence.am
Cleaned up hl/src/Makefile.am
Solution:
All four fixes should be straightforward. The failure on Cray was
very difficult to debug, but involved arithmetic errors.
This change seems to fix it.
Platforms tested:
heping, copper, sol, some Cray X1 (more testing when system comes back up)
Description: H5match_types uses reserved "INT" string and writes it
to the H5H5fortran_types.f90 file. If application uses
Fortran intrinsic INT and HDF5, compilation fails since
it becomes redefined in H5H5fortran_types.f90.
Solution: Rename INT to Fortran_INTEGER
Platforms tested: copper, shanti, heping with g95
Misc. update:
Description: file_close and multi driver tests fail on VMS.
Solution: IFDEF'ed them for now with !DEC directive.
Platforms tested: VMS server, heping
Misc. update:
new feature
Description:
1) separated the HL library into "public" and "private" header files, with the same caracteristics as the basic library
2) added the public headers to hdf5.h (with a conditional include macro, defined in configure.in)
3) added the path to HL in all Makefile.am 's , because of the inclusion in hdf5.h
Solution:
Platforms tested:
linux 32, 64
AIX
solaris
with fortran and c++
(one packet table example fails)
Misc. update:
Code cleanup
Description:
Tweak fortran test for alpha release to check for different file size
(a size difference between the compact & "old" dense form).
Platforms tested:
FreeBSD 4.11 (sleipnir)
Linux 2.4 32-bit (heping)
Linux 2.4 64-bit (mir)
Solaris 2.9 (shanti)
Misc. update:
Bug fix
Description:
Previous checkin did a bad thing; 'make clean' failed in example directories.
Solution:
Fixed commence.am so that examples no longer break, and fixed a mistake
in conclude.am.
Platforms tested:
heping (minor makefile change)
Misc. update:
Bug fix
Description:
make check-clean didn't clean results of example tests
Solution:
Fixed Makefiles so that check-clean recurses into example directories.
Also a little Makefile cleanup.
Platforms tested:
mir, modi4, heping, copper
Description: defined H5_FC_FUNC_(name, NAME) for VMS since we cannot
run autoconf on that system
Solution: Used append methos to form the string; this may become the change
for all platforms after more testing
Platforms tested: heping, VMS server
Misc. update:
Added high-level example directories
Description:
Refactored common code out of examples Makefiles.am, added high-level
example directories, added packet table examples.
Solution:
Examples now draw from a common config/examples.am file, which
contains rules for installing, uninstalling, and cleaning examples.
High-level example directories are mostly empty, except for the
C and C++ packet table tests.
Platforms tested:
mir, sleipnir, copper, shanti
Bug fix
Description:
Change unsigned index variable to signed index variable (again), to fix
error introduced with last Windows warnings cleanup.
Platforms tested:
Linux 2.4 (heping) w/FORTRAN
Too minor to require h5committest
Code cleanup
Description:
Fix a bunch of warnings flagged by Windows compilers.
Platforms tested:
FreeBSD 4.11 (sleipnir)
Too minor to require h5committest
New feature
Description:
Add in a combination of Peter's & my code to support copying
variable-length data from one file to another, although currently only
supported with contiguous data storage.
Platforms tested:
FreeBSD 4.11 (sleipnir)
h5committest
Bug fix
Description:
Fortran type generation was broken in two ways. Fixed both.
Solution:
Firstly, there were a couple of path problems. Fixed a typo and
specified the full path of a file.
Secondly, the dependencies weren't right when building with HDF5-specific
commands (make lib, make check-s, etc.). Tweaked dependencies
to fix the problem.
Platforms tested:
mir, modi4, sleipnir
Configure feature
Description:
Added 'make trace' target.
Solution:
Added tracing to 1.7. This was done automatically in 1.6, but left out
of 1.7 until now (oops!).
Tracing in 1.7 only happens manually, when the user types 'make trace.'
Tracing automatically requires more framework than it's worth.
I also fixed a couple of tracing bugs and ran trace.
Platforms tested:
mir, sleipnir, modi4
Misc. update:
Bug fix
Description:
Before this checkin, 'gmake check-s' would fail if there was a file in
the current directory named 'check-s'.
This is fixed under gmake (not sure how to fix for other makes).
Solution:
check, progs, install, etc. are what gmake calls "phony" targets,
which means that no file should be created. These targets can be
specified by a line of the form
.PHONY: check progs install ...
Automake adds this line for targets it knows about, but HDF5 has a
lot of custom rules. This checkin adds a .PHONY line for those rules.
I believe that only gmake recognizes the .PHONY line (at least, pmake
doesn't seem to), but a partial solution is better than none.
This error should occur very rarely anyway (the user has to manually
create files with names like 'build-check-s' or '_test').
Platforms tested:
mir, sleipnir, modi4
New feature
Description:
Check in baseline for compact group revisions, which radically revises the
source code for managing groups and object headers.
WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!!
WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!!
This initiates the "unstable" phase of the 1.7.x branch, leading up
to the 1.8.0 release. Please test this code, but do _NOT_ keep files created
with it - the format will change again before the release and you will not
be able to read your old files!!!
WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!!
WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!!
Solution:
There's too many changes to really describe them all, but some of them
include:
- Stop abusing the H5G_entry_t structure and split it into two separate
structures for non-symbol table node use within the library: H5O_loc_t
for object locations in a file and H5G_name_t to store the path to
an opened object. H5G_entry_t is now only used for storing symbol
table entries on disk.
- Retire H5G_namei() in favor of a more general mechanism for traversing
group paths and issuing callbacks on objects located. This gets us out
of the business of hacking H5G_namei() for new features, generally.
- Revised H5O* routines to take a H5O_loc_t instead of H5G_entry_t
- Lots more...
Platforms tested:
h5committested and maybe another dozen configurations.... :-)
Bug fix
Description:
Fixed a bug when using h5fc and h5c++ with static libraries.
Added high-level C++ and Fortran libraries to h5c++ and h5fc.
Solution:
Platforms tested:
mir, heping, shanti, sleipnir
Bug fix/feature
Description:
Added support for -shlib in h5fc and h5c++.
Made check-install use -shlib when only shared libraries have been installed.
Solution:
h5fc and h5c++ didn't recognize -shlib. Stole code from h5cc to link against
shared libraries.
When static libraries are disabled, the examples Makefiles will automatically
use the -shlib option to link against shared libraries. Thus,
--disable-static and make check-install should work together.
Platforms tested:
heping(disable-static, enable-static, fortran, c++), modi4 (disable-static, fortran, c++, parallel, enable-static)
Bug fix
Description:
Failed parallel tests now cause make to exit with an error.
Solution:
Edited config/conclude.am to throw an error if parallel test programs fail.
Platforms tested:
heping, modi4
Bug fix
Description:
Changed configure.in to use an environment variable TR to set the path
to the tr utility.
Solution:
There are two kind of tr on Solaris with slightly different syntax.
HDF5's configure relies on the "standard" tr. Traditionally, HDF5ers
have needed to make sure that the "right" tr was found before the
wrong one in their path; now they can use an environment variable.
Platforms tested:
mir, shanti, sol
Misc. update:
Forgot to update release notes. Off to do that now.
Makefile bug fix
Description:
Previously, automake didn't output rules to build perform/mpi-perf or
the test/gen_* programs.
Now these can be built by typing 'make mpi-perf' (or 'make foo') or by
configuring with --enable-build-all.
Solution:
Automake doesn't like having rules for programs it doesn't build. Tricked
it by having these programs built "sometimes"--whenever the user enables
--build-all. This should be used mostly for testing and to ensure that
these helper programs compile.
***IMPORTANT***
These programs do *not* currently compile. When --enable-build-all is used
(not the default), gen_new_fill fails because it uses an old API. This is
an existing "bug" that has simply been exposed by this checkin.
Platforms tested:
sleipnir, modi4, sol
Misc. update:
Bug fix.
Description:
mpich2 using f95 did not support function 'unlink'.
Removed the unlink call for now. Need a better solution.
Platforms tested:
heping using mpich and mpich2 versions of mpif90.
Misc. update:
bug fix.
Description:
When a parallel test script test fails, make would continue because the
way it was setup inside a for loop. Fixed it by issuing an exit 1 inside
the loop.
There was also a typo error in the newer command comparision that it
must be $${chkname} in order to be valid. Also, the test script itself
was not checked in the newer lists. All fixed.
Platforms tested:
h5committested and also hand tested in heping pp mode.
Purpose: Typo fix
Description: Declaration of long double variable was after executable
statement. Many compilers choked ;-(
Solution: Declare variable before the first executable statement
Platforms tested: shanti (compilation only), copper (tests passed)
Misc. update:
New feature.
Description:
Added the time command to the make check target to report time usage
of the execute of each test and test scripts. This gives us some idea
how long each test takes and some vague idea it is compute bound or
not.
powerpc-ibm-aix5.x:
Change $RUNPARALLEL default setting to allow it being invoked by the
time command.
Platforms tested:
h5committested.
Description:
Fortran multi_file test failed on SX-6. It turned out that compiler
could not handle (long long HADDR_MAX) * ( float var). The result of this
operation was 0.
Solution:
Introduced long double variable to store the value of HADDR_MAX
and use the new variable in * operation. (Suggested by John)
Platforms tested: SX-6, mir with PGI compilers; a very minor change
Misc. update:
Description: Fortran array was passed directly to a C function. Since
size of fortran INTEGER is bigger than size
of C int on SX-6 with -ew switch, the passed data was wrong.
Solution: Copy Fortran array to the appropriate C array.
Platforms tested: SX-6 ; trivial change
Misc. update:
Feature
Description:
Added H5_CFLAGS, etc. to 1.7 branch.
Now compilation flags can be put in H5_*FLAGS and they'll be used when
building hdf5 but not in h5cc.
Platforms tested:
mir, sleipnir, modi4
Misc. update:
Bug fix
Description:
Disabled C++ shared libraries for Sun Workshop compiler.
Solution:
This bug only seems to happen when using the -xarch=v9 flag to compile in
64-bit mode, but disabling shared libraries entirely for this compiler is
an easier fix (I don't know how to detect 64 bit mode from the command line).
The framework for disabling shared libraries for other C++ compilers is
in place.
Platforms tested:
sol, mir, sleipnir, modi4
Bug fix/feature
Description:
Disabled shared libraries for a number of Fortran compilers that don't
support them.
This allows other compilers to support shared Fortran libraries.
Solution:
Added a conditional, SHARED_FORTRAN_CONDITIONAL, which is true if
Fortran supports shared libraries. It is set in configure.in.
Platforms tested:
mir, sleipnir, colonelk, heping
Bug fix
Description:
Building with --disable-static seems to have been broken on several platforms.
Fixed this.
Configure will now disable shared libraries automatically when using pgf90
or when building on Cygwin.
Solution:
To avoid errors when using shared libraries with pgf90 (which I had not
realized were compiler-specific), I had manually set convenience libraries
to use the -static linking flag. Apparently, this is not necessary, and
caused these libraries to be created as empty archives when --disable-static
was used.
Also, some libraries were including other libraries, which was not
necessary.
I also fixed code in configure.in to correctly detect whether shared
or static libraries are enabled, and moved code that disables shared libraries
to before libtool is created (rather than editing libtool after the fact).
Despite repeated warnings that only one shared library can be linked at a
time, I have yet to have shared libraries break the linking of tests on
any system. We'll see if the Daily Tests turn up anything.
Platforms tested:
mir (fortran, C++), sleipnir (C++), modi4 (fortran, C++, parallel),
sol (fortran, C++), cygwin
Bug fix
Description:
Recent group code changes tweaked the size of the free space in the file
for this test. Update to the latest correct value.
Platforms tested:
h5committested
Description: Added support for "big" REAL and DOUBLE PRECISION
datatypes (i.e. sizes of Fortran real and double precision
may be 8 and/or 16 bytes; usually specified by compilers
flags like -r8, -r16, -d8, etc.)
Solution: Added code to generate all necessary datatypes on a fly.
Platforms tested: heping with g95 (-r8, -d8)
mir with ifc (-r16, -r8)
Note: multi file test failed when REAL is 128 bit.
I will address this later.
Misc. update:
Description: Added code to generate sizes of Fortran REAL and
DOUBLE PRECISION types. This will "almost" eliminate
H5f90i.h file that defines C stubs datatypes.
Solution:
Platforms tested: heping with g95 (-r8, -d8 and default settings)
Misc. update:
Description: Currently we are trying to match excatly Fortran and C types.
Unfortunately, some systems (SX-6) provide compiler switches
(-ew) that make ALL Fortran types to be at least of size 8.
As a result, Fortran library cannot be compiled.
Solution: Allow INTEGER(HID_T) type to be 8 bytes if necessary. The values
of this type are originated in the C library and can be safely
passed back and forth. Please note that we cannot do the same
for INTEGER(SIZE_T) type. Fortunately there is a switch
that allows size_t be 8 bytes for both C and Fortran compilers.
Platforms tested: It is a minor change, therefore SX-6 only;
daily tests will do the rest :-)
Misc. update:
Bug fix
Description:
Errors on sol may have been due to "make clean" being run both
manually and by automake. Removed the manual run.
Also cleaned c++/examples/ii_files directory created by some compilers
(e.g., on modi4).
Solution:
This does mean that examples directories will not be cleaned by
'make clean'.
Platforms tested:
sol, mir, heping, modi4
tidy up.
Description:
MPE option created *.clog file whenever it is executed in MPI.
The cleanup of *.clog files were done in individual Makefile.in.
Often, it is forgotten.
Solution:
Moved the cleaning of *.clog files to CHECK_CLEANFILES in commence.am
so that it is applied whenever check-clean is called.
Platforms tested:
heping pp using MPE.
Bug fixes
Description:
This checkin fixes an occasional error on kelgia on sol during distclean.
It also causes test scripts to depend properly on the programs they're
supposed to be testing.
Solution:
The kelgia bug was due to some files being cleaned by automake and manually.
Removed the manual cleaning in src/Makefile.am.
Test script dependencies now need to be specified manually, since the
makefile can't guess what they test from their name. Currently all test
scripts in a given directory have a single list of dependencies--this was
easy and seems to be sufficient.
These dependencies are listed in the SCRIPT_DEPEND variable in the Makefile.am.
Platforms tested:
heping, mir, modi4, sol
Misc. update:
minor tidy up.
Description:
Changed both test programs and test scripts to use the same suffixes
(.chkexe and .chklog). Changed from .log to .chklog to avoid running
into potential conflicts by other "things" (e.g., config.log).
Tested:
Heping.
Code cleanup
Description:
Trim trailing whitespace, which is making 'diff'ing the two branches
difficult.
Solution:
Ran this script in each directory:
foreach f (*.[ch] *.cpp)
sed 's/[[:blank:]]*$//' $f > sed.out && mv sed.out $f
end
Platforms tested:
FreeBSD 4.11 (sleipnir)
Too minor to require h5committest
Bug fix and improvement.
Description:
The test output were not displayed for parallel tests.
The serial tests output were always displayed whether the test was
actually ran this time or not.
Solution:
Moved the display of test output inside the target where the actual
tests are run.
Platforms tested:
Tested in heping using pp and fortran.
Bug fix and code minor cleanup.
Description:
The attempt to redirect stderr together to the log files were
done in the wrong order such that stderr output goes to where
stdout WAS. Fixed that.
Code minor cleanup--use shell variables to hold the name of the
log file and the test instead of generating them repeatedly. This
makes easier code reading, less crowded and avoid typos.
Only conclude.in is changed. The Makefile.in changes are all
derived from automake.
Platforms tested:
h5committested.
bug fix.
Description:
Fortran test, fflush2, depends on a file created by fflush1.
Fixed Makefile to reflect such a dependency.
Platforms tested:
heping.
bug fix.
Description:
test program used fortran STOP to end the program even when there
was an error. STOP does not exit with non-zero. Therefore, make
or other programs could not detect an error has occurred.
Solution:
Wherever it is appropirate, replace STOP with h5_exit_f statments.
Platforms tested:
Tested in heping.
Makefile feature
Description:
'make check-clean' now cleans *.h5 files created by tests as well as
.log and .chkexe files.
Solution:
check-clean is now a separate target in its own right, which cleans less
than mostlyclean (check-clean < mostlyclean < clean < distclean).
Platforms tested:
mir, heping, modi4 (serial and parallel)
Feature: check-clean target
Description:
'make check-clean' cleans up output files from tests.
Solution:
Tests create foo.chkexe and foo.log files. Scripts create foo.chksh and
foo.logsh files. 'make check-clean' will clean these files up so that
the tests can be re-run.
Also suppressed some not-very-useful output of Makefiles when it would
echo commands.
Platforms tested:
mir, sleipnir, modi4
Misc. update:
Configuration feature
Description:
Serial test output is now stored in log files and printed when all tests
in a directory complete, or when a test fails. This should make test output
more readable and useful.
Also made changes to clean up ii_files directories that are created by some
C++ compilers/linkers.
Also fixed a few minor Makefile bugs.
Solution:
When serial tests run, their output is saved in *.log or *.logsh. While
running, tests only print when they begin and when they complete; their
more specific output (from the log file) is printed if the test fails or
when all tests have completed.
Comments welcome.
Platforms tested:
mir, modi4 (parallel and serial), copper, shanti
Bug fixes
Description:
A number of minor changes to Makefiles. Some files will now be cleaned
properly, some comments are more informative, etc.
Platforms tested:
heping, mir, modi4
bug fix
Description:
rwdsetexample and attrexample both modify the same file created by
dsetexample. Need to serialize all three of them.
Platforms tested:
Did 50 times of make check in fortran/examples. It used to fail
at least once. Now it does not fail.
Bug fix
Description:
The ".chksh" file for a test script was being created in the "source"
location rather than the build location. This can cause problems when
multiple builds are running because "slower" machines will see the ".cshsh"
file from faster machines and will not run the test script as they should.
Solution:
Use 'basename' command to strip off the path of the script and create
the ".chksh" file in the build location.
Platforms tested:
FreeBSD 4.11 (sleipnir)
h5committest
bug fix.
Description:
-nt is not a universal option for the test command in all platforms.
The use of it in conclude.am cause some platforms to bark at the
Makefile generated.
Solution:
Created a command script bin/newer which tests if file1 is newer
than file2. Replace the "test file1 -nt file2" by
"newer file1 file2".
Platforms tested:
Tested in sol.
Bug fix
Description:
Fixed error in Fortran examples on modi4.
Solution:
Added another dependency in the Fortran examples.
Platforms tested:
mir, modi4 (serial and parallel)
Bug fix
Description:
Added dependencies to examples Makefiles so that examples can be run in
parallel.
Solution:
The examples directories (for C, C++, and Fortran) all have some dependencies
explicitly spelled out in their Makefiles.am. This is a good short-term
solution, and should prevent errors in the Daily Tests.
Platforms tested:
mir, modi4 (parallel and sequential)
Bug fix
Description:
Fixed bugs that caused tests to be unable to find testhdf5.sh during
daily tests, and another that broke sol and shanti.
Solution:
When tests are run, their path is ./$testname .
When scripts are run, their path has no leading "./". Fixed.
Sol and shanti don't recognize the -e option for test, but they do know
-f. Fixed.
Also modified release notes.
Platforms tested:
mir, shanti, heping
Feature: tests now use parallel make and only run once
Description:
When make is invoked in parallel (using the -j option), several tests will
now be run simultaneously. This should speed up testing on a number of
systems.
When a test passes, it creates a foo.chkexe or foo.chksh file, which prevents
the test from running again unless the test or library changes.
Solution:
Most of the changes live in config/conclude.am. Added *.chkexe and *.chksh
files to the list of files to be cleaned at "make mostlyclean" time.
Parallel tests still run one at a time, but use the same make instructions
as serial tests.
Platforms tested:
mir, eirene, sleipnir, pommier, copper, modi4 (some errors occurred, probably
due to the test being run before updating hdf5. Will re-run tests after
checkin.)
Description: "long long" type caused compilation problems on Windows
Solution: Use long_long definition
Platforms tested: heping, Windows will follow
Misc. update:
Description:
When compiler flag was used to set the size of Fortran integer
to 8 bytes, library would fail.
Solution:
Cleaned up the code; added detection of Fortran INTEGER type size
and appropriately defined int_f type for C-stubs routines.
Platforms tested:
Solaris 2.8 32 and 64-bit, AIX 5.1 64-bit parallel
PGI Fortran with -i8 flag on heping
Absoft Fortran with -i8 flag on heping
g95 on mir (Fortran integer is 8 bytes by default that cannot be
changed - compiler bug ;-)
AIX Fortran with -qintsize=8 32 and 64-bit modes on copper
Misc. update:
Bug fix
Description:
H5test_kind.f90 had an error when being compiled by pgf90.
Solution:
A variable wasn't declared. Declared it to fix the bug.
Platforms tested:
heping, mir
Bug fix/improvement
Description:
Added another step to fortran type detection. This should help on some
bizarre platforms.
Solution:
Formerly, H5fortran_detect.f90 was included in the distribution. Now
it is generated by H5test_kind.f90 (written by Elena).
Platforms tested:
verbena, modi4, copper
Bug fix
Description:
Fortran type detection failed on Cygwin. This is because executables
in Cygwin have the .exe extension, which confused dependencies in
the Makefile.
Solution:
Sprinkled the $(EXEEXT) variable liberally about the fortran/src
Makefile.am. This variable is set at configure time and will
be ".exe" on Cygwin and stay "" on Linux.
Platforms tested:
Cygwin, modi4, mir
bug fix
Description:
check-s and check-p were set as pre-requistics of test. They
would get executed in parallel if parallel make is used. This
could cause problems since serial tests are used to be executed
before parallel tests. It is not known if it is always okay to
run serial and parallel tests in simultantously.
Solution:
Change check-s and check-p as actions of the target test so
that they get executed sequnentially.
Platforms tested:
heping PP.
Added check-s and check-p targets.
Description:
Added check-s and check-p targets to 1.7 branch to match changes to 1.6
branch. Now parallel and serial tests can be run separately.
Platforms tested:
mir, modi4, copper
Bug fix
Description:
Fortran tests failed because UTF-8 character set flag wasn't initialized
properly.
Solution:
Elena showed me where the flags needs to be initialized. Problem solved.
Platforms tested:
heping, copper, modi4
new fortran parallel test
Description:
added a test that writes and reads several datasets
Solution:
Platforms tested:
linux (intel compiler, tungsten)
AIX (copper)
Misc. update:
Feature
Description:
Added "support" for UTF-8 character encoding.
Solution:
Wrote tests to check that UTF-8 can be used in a number of places in
HDF5 (object names, data, etc.). These tests live in test/tunicode.c.
Added a new UTF-8 character encoding for datatypes.
Platforms tested:
mir, modi4, heping
Misc. update:
Code cleanup
Description:
fortran/src/H5f90i.h used to define different fortran types for every
compiler. Now it only defines three things, and they are the
same for every platform but one.
Solution:
Eliminate duplicate definitions; now there are only two cases
("UNICOS" and "everything else").
This should also let the HDF5 Fortran compile anywhere, even on
unknown platforms.
Platforms tested:
mir, pommier, modi4, copper, Cray X1 (in progress)
Cray X1 Port
Description:
Porting 1.7 branch to Cray X1. With these changes, HDF5 builds, but
there are some errors in the tests. Working on the errors.
Solution:
Added nv1-cray file to config directory.
Cleaned up some code in hl/c++ that was causing compiler to complain.
Platforms tested:
Cray X1, mir, sleipnir
Misc. update:
bug fix
Description:
some lines were longer that 132 characters (the "official" max lenght of a line in F95)
the g95 compiler complained about it
Solution:
reduce the line lenght
Platforms tested:
linux (g95, intel)
Misc. update:
bug fix
Description:
the hdf5 file of the test was being generated on the NFS filesystem
Solution:
use the libtest function h5_fixname
Platforms tested:
Linux
Misc. update:
added new fortran parallel tests that replace the old ones
Description:
this first set of tests do a write/read by hyperslabs
Solution:
Platforms tested:
Linux (heping) PGI compiler
Linux (heping) Intel compiler
AIX (copper) IBM compiler
SGI Altix (cobalt) Intel compiler
Xeon Linux cluster (tungsten) Intel compiler
Misc. update:
Purpose:
Bug fix
Description:
Some platforms (Windows) don't have the long long type, which causes automatic
Fortran type matching to fail.
A solution is to use HDF5's long_long type.
Solution:
Changed H5match_types.c to use long_long type. Moved definition
of long_long out of H5private.h and into H5public.h.
Platforms tested:
mir, copper, pommier
Bug fix
Description:
Made High-Level Fortran code use automatically generated headers
rather than a separate hardcoded header.
Solution:
Set hdf5/hl/fortran/src to include hdf5/fortran/src, so that it
will find the copy of H5f90i.h in that directory.
Took #include "H5private.h" out of H5f90i.h (and moved it to files
that included H5f90i.h.
Platforms tested:
mir, modi4, pommier
Configuration feature
Description:
Fortran integer types (not reals) are now automatically detected at
build-time.
Solution:
Two helper programs are used, one to detect what types the Fortran compiler
has access to, and one to generate header files for C and Fortran matching
up types.
Platforms tested:
mir, copper, modi4, pommier (last week)
Misc. update:
MANIFEST updated, H5f90fortran_types.f90 removed from configure.in, since
it is not longer generated by configure.
Output tweak
Description:
Test output in C++ and Fortran directories now puts "C++ API:" or
"Fortran API:" in front of the name of the test being run.
I had overlooked the line of code that caused this to happen.
Solution:
Added HDF_CXX and HDF_FORTRAN variables to C++ and Fortran Makefiles.am.
Platforms tested:
heping (minor change)
Bug fix.
Description:
When there were errors in the test, program still just call MPI_FINALIZE
and failed to attempt to exit with some error code so that calling
programs like make be informed of the exceptions.
Solution:
Call MPI_ABORT if error is detected. Though MPI_ABORT does not
guarantee 100% failure report, it has the best chance.
Also made dimension incompatible as a real error.
Platforms tested:
Did not h5committest but tested in heping PP only since this
is a simple fix.
Bug fix.
Description:
Data file name is hardcoded to be in current directory which does not
necessarily support MPIO. Changed it to /tmp/sds.h5 for slightly larger
chance of success but the eventual solution is to set it according to
environment variables. Patch it this way for now.
Platforms tested:
mir.
Misc. update:
Minor feature
Description:
If a user configures without C++ or Fortran, 'make' will not recurse into
c++ or fortran directories. However, if the user cd's into these
directories and 'makes,' the Makefiles will attempt to build interfaces
that have not been configured, usually failing.
In an unrelated but minor change, src/H5detect should be compiled with
the -g flag to disable compiler optimizations since it is only
executed once.
Solution:
Make it harder for users to try to compile interfaces that have not been
configured by making c++, fortran, and hl directories not recurse into
their subdirectories unless they have been configured.
Thus, 'make' in /fortran/src will break if Fortran has not been configured,
but 'make' in /fortran will not break.
Platforms tested:
mir, modi4, copper
Misc. update:
Description: h5pget_driver_f function returned information that could not
be interpreted by fortran application
Solution: Defined Fortran global variables that correspond to
the C H5FD_<driver_name> variables at the Fortran library
initialization time.
Platforms tested: heping with PGI compilers, sol 64-bit and copper parallel
Misc. update:
Improvement
Description:
Changed headers in Fortran directories to use H5_FC_FUNC macro
from H5pubconf.h rather than FC_FUNC macro from H5config.h.
This is better practice and works better with the Windows projects.
Platforms tested:
heping, Windows
Description: Removed support for SRB driver
Solution: Removed or modified appropriate files; ran reconfigure
to regenerate Makefile.in and configure files.
Platforms tested: heping and shanti
Misc. update: ran bin/chkmanifest on heping
Description: Added missing h5get_member_class_f function
Solution:
Platforms tested: heping; it is a simple change. I will
watch daily tests and take care of failures.
Misc. update:
Configuration feature
Description:
Different Fortran compilers mangle function names in different ways
(upper case, lower case, adding underscores). To link between
Fortran and C functions, we need to know what a given function's
name is under a given compiler.
Solution:
Use autoconf's FC_WRAPPERS check to determine the Fortran
naming scheme and define the FC_FUNC_ macro to name our
functions (in H5f90proto.h). Removed references to
our old FNAME macro, as well as flags that indicated whether
function names were upper or lower case.
Platforms tested:
mir, pommier, modi4, copper, more
Feature
Description:
Added support for conditional compilation of parallel Fortran
examples. No such examples exist currently, but it should be
possible to add them to the Makefile.am with no fuss and have
them compile only when parallel is enabled.
Platforms tested:
eirene, copper, modi4
Misc. update:
Bug fix
Description:
On some machines, $RUNSERIAL variable needs to be used to run
tests. Set $RUNTESTS (which is used for non-parallel tests) to
be $RUNSERIAL in configure.am.
Also, since I was updating all Makefiles.in anyway, I updated
commence.am to point to autotools installs in AFS instead of
those on heping.
Platforms tested:
mir, sleipnir, modi4, copper
Purpose:
"Bug fix"
Description:
Hardcoded Makefiles to use /bin/sh instead of letting configure
detect shell automatically. This is what v1.6 does, and avoids
problems on janus.
Platforms tested:
sleipnir, copper, modi4, mir
Feature - conditional compilation
Description:
SRB file driver and tests are now compiled only when SRB is enabled
(using --with-srb during configure).
Solution:
Added an automake conditional in configure.in, altered Makefiles.am in
src and test directories to depend on that conditional.
This should make a nice example for posterity to add conditionally
compiled sources.
Platforms tested:
heping (only configure change)
Windows fortran examples was checked into a wrong directory.
The correct directory is hdf5/windows/fortran/examples.
The current directory is hdf5/fortran/examples.
Description:
Solution:
Platforms tested:
Misc. update:
Windows fortran examples was checked into a wrong directory.
The correct directory is hdf5/windows/fortran/examples.
The current directory is hdf5/fortran/examples.
Description:
Solution:
Platforms tested:
Misc. update:
ndows fortran examples was checked into a wrong directory.
The correct directory is hdf5/windows/fortran/examples.
The current directory is hdf5/fortran/examples.Description:
Solution:
Platforms tested:
Misc. update:
Windows fortran examples was checked into a wrong directory.
The correct directory is hdf5/windows/fortran/examples.
The current directory is hdf5/fortran/examples.Description:
Solution:
Platforms tested:
Misc. update:
Windows fortran examples was checked into a wrong directory.
The correct directory is hdf5/windows/fortran/examples.
The current directory is hdf5/fortran/examples.:wq:
Description:
Solution:
Platforms tested:
Misc. update:
Windows fortran example project files were checked into the wrong directory,
has to remove them.
The correct directory to be checked in is /hdf5/windows/fortran/examples,
The currect directory inside CVS tree is /hdf5/fortran/examples.
Description:
Solution:
Platforms tested:
Misc. update:
Purpose:
Added C++ wrapper for Packet Table API.
Description:
Added macro for high-level C++ library (LIBH5CPP_HL), which changes every
Makefile.in.
Added directories for high-level C++ library (though currently only Packet
Table API is supported).
Added both C++ source and tests.
Platforms tested:
sleipnir, mir, modi4
Misc. update:
Automake version upgrade
Description:
Upgraded automake version from 1.6.2 to 1.9.5.
Changed bin/reconfigure script to use automake 1.9.5.
Changed configure.in and Makefiles to use new FCFLAGS and FC variables
instead of FFLAGS and F9X.
Automake and configure should now do the lion's share of the work
supporting Fortran 9X; macros in acsite.m4 are now mostly unused (will
be cleaned later).
Altered how configure handles pmake; now root-level Makefile.in is
processed by bin/reconfigure to have a .MAKEFLAGS target, since
automake no longer allows us to define unused variables.
Configure now always checks for C++ compiler even if it is not
used, since automake thinks this is the Right Thing To Do and
will break otherwise.
Platforms tested:
Sol, copper, heping, mir, sleipnir, eirene, pommier, kelgia, modi4.
Removed GASS configuration and software packages associated with
it. The following software are no longer configurable.
checking for main in -lcrypto... yes
checking for SSL_get_version in -lssl... yes
checking globus_common.h usability... yes
checking globus_common.h presence... yes
checking for globus_common.h... yes
checking for globus_module_activate in -lglobus_common... yes
checking for main in -lglobus_gass_cache... yes
checking for main in -lglobus_gaa... yes
checking for main in -lglobus_gss... yes
checking for main in -lglobus_gss_assist... yes
checking for main in -lglobus_io... yes
checking for main in -lglobus_gass_transfer_assist... yes
checking for main in -lglobus_gass_transfer... yes
checking for globus_gass_open in -lglobus_gass_file... yes
Platforms tested:
h5committested (but copper was down.) tested in modi4 too.
Bug fix
Description:
Fortran builds were dying with unknown flags.
Solution:
Fortran builds should be static, not shared. Static flags had been specified
for libraries, but apparently were also needed for executables.
Solved problem by adding static flag to everything in fortran directories.
Platforms tested:
mir, eirene
Bug fix
Description:
Some machines and compilers were having trouble creating fortran libraries
as shared libraries.
Solution:
Added flag in Makefiles.am to create fortran libraries as shared libraries.
(This is how HDF5 was set up before automake changes; I forgot to add
these flags, and it didn't cause a problem until now.)
Platforms tested:
sleipnir, eirene, verbena
Misc. update:
Purpose:
Bug fix
Description:
modi4 dies during build with strange errors.
The root cause of these is a two-year-old hack in HDF5's libtool
script that only takes effect on IRIX.
Solution:
Edited the libtool hack (by editing ltmain.sh) to correct a bug in
the hack.
Also made sure that compiler-specific DEFAULT_LIBS are used
when linking.
Platforms tested:
sleipnir, copper, modi4, sol
Bug fix
Description:
While commenting out some code in a Makefile.am, I missed two lines.
Solution:
Commented out those lines.
Platforms tested:
verbena, heping
Misc. update:
Configure feature
Description:
Changed bin/reconfigure.sh script to use autotools in AFS.
Solution:
Previously, the only machine with the correct versions of autoconf and
automake was heping. Now both tools are installed in AFS, so
in theory any hdf machine can be used to run the reconfigure script.
Platforms tested:
heping, eirene, verbena.
On sleipnir and arabica the autotools were unable to find a version
of m4 that was new enough for them.
Misc. update:
Bug fix
Description:
Arabica exhibited strange errors when linker found wrong versions of
header files. This happened because include directories were
given to linker in the wrong order.
Solution:
Move include directories from AM_CFLAGS variable to INCLUDES
variable to put them before CPPFLAGS variable. Trust me, it works.
This bug may also have contributed to strange errors on other platforms
(kelgia?).
Platforms tested:
copper, sleipnir, arabica.
(h5dump broke while building on arabica, but this happened in
a clean checkout, too).
Bug fix
Description:
pmake (on modi4, for instance) complains about undefined variables
if it is run without the -V flag, which turns those errors to warnings.
Solution:
Added test to configure.in to see if $MAKE will allow Makefiles
with undefined variables. If not, sets -V flag in AM_MAKEFLAGS.
Ensured that all custom make targets use AM_MAKEFLAGS.
Also defined all variables that caused errors in top-level Makefile.am.
This means that pmake can be used to build hdf5 *from the top level
only*. To run make from a subdirectory, still need to use -V flag
(or use make or gmake).
Platforms tested:
modi4, heping, copper, sleipnir
Purpose:
Bug fix
Description:
Make uninstall in /fortran/testpar was trying to remove install/bin directory.
Solution:
Remove the extra line that was copy-pasted into Makefile.am by mistake. Oops.
Platforms tested:
Copper.
Bug fix
Description:
Parallel make was having trouble in fortran/testpar directory
on sol.
Solution:
Added a dependency to ensure that things are built in the correct order.
Platforms tested:
sol
Bug fix
Description:
/fortran/testpar build breaks when making in parallel
Solution:
Massage depdendencies slightly to ensure that object files are
built after module file.
Also made sure that module file gets cleaned properly.
Platforms tested:
eirene
Purpose:
Bug fix
Description:
Parallel builds were breaking in tools/lib
Solution:
talign didn't realize it depended on libh5tools.la because its
dependencies listed the full path (../../tools/lib/libh5tools.la).
Changed this, and made similar changes in a couple of other
directories.
This checkin should also add the --foreign flag to every Makefile.in
Platforms tested:
sleipnir (minor change)
New feature
Description:
Add basic code for new B-tree implementation. They don't do much yet,
aren't hooked up to anything yet and the format may change, but I'd like to
start getting them into the daily tests.
Platforms tested:
FreeBSD 4.11 (sleipnir) w/parallel
Too minor to require h5committest
Bug fix
Description:
Found the permanant fix to automake/CVS dependency problem
Solution:
Added AM_MAINTAINER_MODE macro to configure.in.
Now automake will never try to regenerate Makefiles, Makefiles.in,
configure, H5config.h, etc. when they are out of date, nor will it
print any warnings.
Developers should be very very careful to use reconfigure script,
and can add --enable-maintainer-mode flag to configure on heping
to regenerate these files correctly.
Platforms tested:
heping sleipnir copper
Bug fix
Description:
Configuration files' timestamps were incorrect.
Solution:
Update Makefiles.in. Also added correct paths to autotools on heping,
so heping build should be able to re-generate configuration files even
if they are still broken.
Platforms tested:
sleipnir
Bug fix
Description:
Dependencies between configure files (aclocal, configure.in, configure,
Makefiles.am and .in) are still causing Makefiles to try to run autotools
during build.
Solution:
Committed all Makefiles.in to update their timestamps.
As a temporary measure, forcibly prevented automake from running
autotools during build by redefining the variables it uses.
Platforms tested:
sleipnir (No changes to Makefile content)
Bug fix
Description:
Different compilers use different flags to include Fortran module files
Solution:
Changed boilerplate to use configure variable rather than hardcoded -M flag.
Platforms tested:
sleipnir, sol, copper
Configuration feature
Description:
HDF5 now uses automake to generate Makefiles
Solution:
Makefile.in files are now generated from Makefile.am files.
To reconfigure (after chaning a Makefile.am or configure.in):
/bin/sh bin/reconfigure.sh
Platforms tested:
Many
Description: Removed PABLO from the source
Solution:
Platforms tested: arabica with 64-bit, copper with parallel,
heping with GNU C and C++ and PGI fortran (but
I disabled hl, there is some weird problem only
on heping: F9XMODFLAG is not
propagated to the Makefile files
Misc. update:
Bug fix
Description:
Correctly retire the H5E_LEN setting, now that the FORTRAN and C++ APIs
have been corrected to not use it either.
Solution:
Pass in the string buffer length for FORTRAN
In the C++ API, call H5Eget_msg() in a manner similar to the way
H5Fget_name() is called.
Platforms tested:
Linux 2.4 (heping) w/FORTRAN & C++
Solaris 2.7 (arabica) w/FORTRAN & C++
Description: Fortran module search directories included ../src and
../../fortran/src directories; this was defined in
acsite.m4 file in order for fortran and HL fortran tests
to compile. Those flags were included in h5fc and h5pfc scripts.
Solution: Removed those directories from acsite.m4 file and updated
Makefile.in files.
Platforms tested: sequential on arabica and parallel on copper
including HL Fortran
Misc. update:
Purpose: Bug fix
Description: Test reported failure because of the wrong
testing condition when szip didn't have encoder
Solution: Fixed the code
Platforms tested: copper with
SZIP not present
SZIP encoder/decoder present
SZIP decoder present
Misc. update:
Description: libh5test_fortran.a(la) files were installed by
make install
Solution: Brought changes back from 1.6
Platforms tested: mir, eirene
Misc. update:
Description: Fortran szip test had a wrong logic; as a result
wrong return values were reported in the absence of
the SZIP library, and it was skipped when encoder was
disable
Solution: Fixed the test
Now SZIP fortran test should report "SKIP" only
when SZIP is not configured in.
Platforms tested: tg-login in parallel mode, copper,
mir with new PGI compilers and shared
SZIP libraries. All platforms were tested with
SZIP not available
SZIP with encoder/decoder
SZIP with decoder only
Misc. update:
bug fix and document.
Description:
Unix and probably other systems too, has a small exit value range
such as 1 byte. So, exit(256) may end up the same as exit(1).
Added caution message to the exit wrappers and changed test programs
to exit(1) when errors detected.
Platforms tested:
tested in copper. verified here that exit(256) was treated just like
exit(0).
Bug Fix/Code Cleanup/Doc Cleanup/Optimization/Branch Sync :-)
Description:
Generally speaking, this is the "signed->unsigned" change to selections.
However, in the process of merging code back, things got stickier and stickier
until I ended up doing a big "sync the two branches up" operation. So... I
brought back all the "infrastructure" fixes from the development branch to the
release branch (which I think were actually making some improvement in
performance) as well as fixed several bugs which had been fixed in one branch,
but not the other.
I've also tagged the repository before making this checkin with the label
"before_signed_unsigned_changes".
Platforms tested:
FreeBSD 4.10 (sleipnir) w/parallel & fphdf5
FreeBSD 4.10 (sleipnir) w/threadsafe
FreeBSD 4.10 (sleipnir) w/backward compatibility
Solaris 2.7 (arabica) w/"purify options"
Solaris 2.8 (sol) w/FORTRAN & C++
AIX 5.x (copper) w/parallel & FORTRAN
IRIX64 6.5 (modi4) w/FORTRAN
Linux 2.4 (heping) w/FORTRAN & C++
Misc. update:
Port
Description:
Initial work for supporting GNU FORTRAN/F95 on FreeBSD. I think I've
got things mostly set up correctly, but I'm getting an internal compiler
error on one of the FORTRAN sources, so I'm not going to add this configuration
to the daily tests yet.
Platforms tested:
FreeBSD 4.10 (sleipnir) w/GNU FORTRAN
Not tested in h5committest
New feature: support fortran DLL on windows.
small bug fix.
Description:
1. Need to add macro for some functions in order to make fortran DLL work.
2. One routine(verify) missed the special macro DEC FORTRAN needs. Added.
Solution:
Platforms tested:
windows XP with MC VC6.0+Dec 6.6c.
Linux 2.4
and h5committest not finished yet.
Misc. update:
Bug fix
Description:
Correct/update detection of Linux platforms.
Also, refactor common code out of different architectures for Linux builds.
Platforms tested:
Linux 2.4 (verbena)
Too minor to require h5commitest
Bug fix
Description:
Correct typedef for dataset region references to avoid struct alignment
issues on Crays.
Solution:
Change the typedef for hdset_reg_ref_t from a struct to an array of
unsigned char's of the correct size and propagate the appropriate adjustments
around the code.
Platforms tested:
FreeBSD 4.10 (sleipnir)
Linux 2.4 (verbena) w/fortran
Cray T90 (subzero) w/fortran
Cray SV1 (wind) w/fortran & parallel
Cray T3E (cyclone) w/fortran & parallel
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
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:
Purpose: Maintenance for MAC OSX
Description: Added support for Absoft Fortran compiler f95;
Ddefault compiler is set to IBM xlf.
Solution:
Platforms tested: pommier with xlf and Absoft f95 compilers
Misc. update:
Purpose: Maintenance
Description: Added h5fget_name_f and h5fget_filesize_f subroutines and tests.
Solution: N/A
Platforms tested: arabica (32-bit), sol (64-bit)
parallle build on copper failed for the C library with the the
following error:
ld: 0711-317 ERROR: Undefined symbol: .H5FD_stdio_term
Since this change doesn't affect the C library, I am cheking it in
and will retest the fresh CVS copy after this check-in.
Misc. update:
Bug Fix.
Description:
nh5zget_filter_info_c function was not declcared as H5_FCDLL, which is
required for fortran dll in Windows. _H5ZGET_FILTER_INFO_C is considered
as an unresolved external symbol by Fortran Compiler in Windows without
H5_FCDLL.
Solution:
Added H5_FCDLL for nh5zget_filter_info_c function.
Platforms tested:
DEC Fortran 6.0 in Windows XP.
Misc. update:
Purpose: Maintenance
Description: H5_SZIP_CHIP_OPTION_MASK was deleted from the list
of the available parameters for the H5Pset_szip function.
Solution: Updated Fortran source, tests and documentation
to reflect this change.
Platforms tested: arabica (too small for h5committest)
Misc. update:
Purpose:
HDF5 now supports SZIP with no encoder.
Description:
SZIP can be configured to have both encoder and decoder or just to have the decoder. HDF5 can now query the configuration of any filter, and will throw errors if users try to write using a filter with encoding disabled.
Solution:
Added H5Zget_filter_info function, changed API for H5Pget_filter and H5P_get_filter_by_id. See SZIP RFC.
Platforms tested:
Copper (fortran, C++, parallel), Sleipnir (C++), Arabica (fortran, C++), Verbena (fortran, C++)
Misc. update:
Bug fix.
Description:
The Example dimension size is incorrect. Changed it to 3.
Platforms tested:
Tested in TG-NCSA which detected the error.
Misc. update:
Fixing Fortran DLL on windows
Description:
Need to use another macro H5_FCDLL to build fortran C stub library.
change all H5_DLL to H5_FCDLL in file H5fproto.h.
Solution:
see above.
Platforms tested:
eirene(fortran),
arabica(fortan)
Misc. update:
Purpose: Maintenance
Description: h5dwrite/read_f and h5awrite_read_f functions were overloaded
with dims argument being of type INTEGER and INTEGER(HSIZE_T).
We promised to remove overloading in 1.4 release. It was
removed from documentation but not from the source code.
Solution: Finish code cleanup.
Platforms tested: Solaris 2.7 32 and 64 bit, and copper with --enable-
parallel. Windows are broken, so Kent and Xuan
will test it with their changes later.
Misc. update:
Code cleanup
Description:
Clean up lots of warnings based on those reported from the SGI compilers
as well as gcc.
Platforms tested:
SGI O3900, IRIX64 6.5 (Cheryl's SGI machine)
FreeBSD 4.9 (sleipnir) w/ & w/o parallel
h5committest
Bug fix.
Description:
"make check" failed because the macro "$<" is not known to those
makes.
Solution:
Replace that macro with a string name in the form of a more basic
macro of "$@".
Platforms tested:
h5committested (copper used make.)
Misc. update:
Purpose:
replaced name of delete filter with remove filter for the new function H5Premove_filter
Description:
Solution:
Platforms tested:
linux
Misc. update:
Code cleanup
Description:
Add C++ and FORTRAN wrappers for new H5Pdelete_filter routine, along with
documentation and a note in the release notes.
Platforms tested:
FreeBSD 4.9 (sleipnir)
Linux 2.4 (verbena) w/ C++ and FORTRAN
Too minor for full h5committest
Feature
Description:
Added option -showconfig which Shows the HDF5 library configuration summary
Platforms tested:
No h5committest test which does not test these tools.
Tested in eirene by hand.
Misc. update:
Bug fix
Description:
When two property lists are compared, the H5Pequal routine was just
comparing the raw information for the property values. This causes problems
when the raw information contains pointers to other information.
Solution:
Allow a 'compare' callback to be registered for properties, so that a user
application get perform the comparison itself, allowing for "deep" compares of
the property value.
This was exported to the H5Pregister & H5Pinsert routines in the development
branch, but not the release branch.
Platforms tested:
FreeBSD 4.9 (sleipnir)
h5committest
Purpose: Maintenance
Description: Fortran APIs MAC OS X port for IBM XL Fortran compiler
Solution: Brought back changes from 1.6 branch
Platforms tested: pommier, h5comittested; this time h5committest
complained about copperpp directory and didn't run;
tests on verbena and sol passed.
Misc. update:
Bug fix
Description:
Fix szip FORTRAN tests..
Solution:
Increase the chunk size to be bigger than the szip 'pixels per block'.
Also add in code that checks for a maximum number of errors and doesn't keep
reporting that thousands of errors have occurred.
Platforms tested:
Linux 2.4 (verbena) w/szip & FORTRAN
Not tested w/h5committest since this combination isn't covered by it.
Improvement
Description:
If the library is built in parallel mode, then name the "h5cc" and
"h5fc" programs "h5pcc" and "h5pfc" resp. This saves the user from
worrying about mixing serial and parallel builds of the library and
having to specify the pathnames and so-forth.
Platforms tested:
Linux (w/ parallel & Fortran)
Modi4 (w/ parallel & Fortran)
Sol (Serial & Fortran & C++)
Misc. update:
Updated release/docs/RELEASE
Code cleanup
Description:
Start stripping leftovers from HDF4 out of this file, working toward
getting everything defined at configure time, instead of depending on the
framework of ifdef's used in HDF4.
Platforms tested:
h5committest
Bug fix
Description:
Fixed type declaration of rdcc_nelmts that was causing daily tests to fail.
(Checked w/Elena first)
Platforms tested:
h5committest
Purpose: Rolling over changes from 1.6 branch
Description: h5pget(set)_cache_f functions had a wrong type of the
third parameter
Solution: Fixed the type to be INTEGER(SIZE_T)
Platforms tested: kelgia, arabica 64-bit, copper 64-bit
Misc. update:
Bug fix
Description:
"group" errors were not being included in the total # of errors
Platforms tested:
FreeBSD 4.9 (sleipnir)
Linux 2.4 (verbena) w/FORTRAN
too minor for h5committest
Code cleanup
Description:
Cleaned up various compiler warnings
Platforms tested:
FreeBSD 4.9 (sleipnir)
Linux 2.4 (verbena) w/FORTRAN
too minor for h5committest
Code cleanup
Description:
Removed "H5Git" routines, now that there are library routines which perform
the same functionality.
Platforms tested:
FreeBSD 4.9 (sleipnir)
Linux 2.4 (verbena) w/FORTRAN
too minor for h5committest
Purpose: Bug fix
Description: Parameter rdcc_nelmts of the h5pget_cache_f subroutine
had wrong INTEGER(SIZE_T) instead of INTEGER type.
Solution: Fixed the type
Platforms tested: arabica in 64-bit mode (where INTEGER(SIZE_T) is not
the same as INTEGER)
Misc. update:
Add feature
Description:
Add H5Fget_freespace() routine, to check the amount of free space in a
file. This information is only valid until the file is closed currently,
however (until we start recording the free space information in the file
itself).
Platforms tested:
FreeBSD 4.9 (sleipnir)
h5committest
Description: On Linux systems valdrind tool complained about memroy leaks in the
following statements like
if(!a) free(a);
Solution: replaced the statements with
if ( a != NULL) free(a);
Platforms tested: eirene (too small for committest)
Misc. update:
Code cleanup
Description:
Changed version #'s returned from H5Pget_version from 'int *' to
'unsigned *' since we are never going to be using negative version #'s... :-)
Platforms tested:
FreeBSD 4.8 (sleipnir)
too small to need 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:
Purpose: Bug fix
Description: Somehow line DEC$if defined(BUILD_HDF4_DLL) was inserted
to the file. It should be HDF5!!!!!!!!!!!!!!!
Solution: Fixed the typo.
Quincey, Thank you for noticing that.
Platforms tested: Will be tested on Windows.
Misc. update:
No longer needed. make check-install or make check does the
checking now.
Platforms tested:
no h5committest since I am removing a script command that is not
needed any more.
Misc. update:
no need to update doucment since it was an internal command
that was never documented.
Code cleanup
Description:
Switched 'hobj_ref_t' from funny structure with array inside to just be
'haddr_t', since that was equivalent and less confusing.
Platforms tested:
h5committested
Update
Description:
Revamped the configuration system. The configurations for the Fortran
and C++ libraries are no longer separate from the "main"
configuration system. This involved removing the "configure*" and
"aclocal.m4" files from the fortran/ and c++/ subdirectories. Also
merging settings in the config/ subdirectories into the main config/
subdirectory.
Fortran header files had to be modified a little for Linux. It was
checking if it was a Linux machine by some #defines, however with the
-std=c99 switch, these defines weren't there. I added a check for
some other ones which should be there whether the -std=c99 switch is
used or not.
Platforms tested:
Verbena (Fortran & C++)
Sol (Fortran & C++)
Copper (Fortran & C++)
Modi4 (Parallel, Fortran, & C++)
Misc. update:
Code cleanup
Description:
Finish converting the B-tree 'K' values to use unsigned integers, rather
than signed ones, since negative amounts of entries in a B-tree node aren't
meaningful.
Platforms tested:
FreeBSD 4.8 (sleipnir)
h5committest
Update configuration
Description:
Now that we've split the tree (Yea!), change the main trunk back to debug
on and production off.
Also, change the version # to 1.7.0
update for release
Description:
Set the version information to 1.6.0-pre1 to get ready for
v1.6 release.
Platforms tested:
h5committested.
Misc. update:
Description: When Quincey and I updated Fortran SZIP flags, we accidentally
renamed one of the C flags H5_SZIP_ALLOW_K13_OPTION_MASK used
by Fortran C-stub routine.
Solution: Fix the typo.
Platforms tested: Linux 2.5 and True64
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:
Purpose: Bug fix
Description: Makefile.in has hardcoded dependencies. H5Zff.lo was
missing for the sequential version. That caused parallel
make to fail, since module HDF5 was built before H5Z.
Solution: Added H5Zff.lo to dependencies list.
Platforms tested: This is an obvious error and also due to the seminar and picnic
schedule I am checking in without testing. I will test it later today.
Misc. update:
Purpose: Small bug fix
Description: On SP when 64 bit mode is used, RUNPARALLEL environment
variable is not set up correctly for Fortran.
Solution: Copy Albert's fix for C library to Fortran
Platforms tested: copper with 64-bit parallle C and Fortran
Misc. update:
Purpose: Maintenance
Description: Bumped the version number to 1.5.62 after creating
a tar ball for the fourth round of testing.
Solution: run bin/h5vers -s scipt on arabica
Platforms tested: N/A
Misc. update:
Bug Fix
Description:
On Copper, the redefinition of the PACKAGE_* #defined macros
in H5pubconf_fortran.h was causing havoc with the compiler now
that we specify ANSI C with it.
Solution:
Renamed the PACKAGE_* variables to FORTRAN_PACKAGE_* instead.
Platforms tested:
Copper (small fix...needed to determine the sed command worked).
Misc. update:
Purpose: IA64 (titan) cleanup and backing up previous change to the
H5f90global.f90 file
Description: We defined IA64 variable for C-stubs compilation
on IA64 systems. But system defines __ia64 and
it is better to use it as we do on all other systems.
Fortran test failed since global variable became undefined.
Solution: Removed -DIA64 and use __ia64 instead.
Somehow removal of COMMON statements from H5f90global.f90
caused errors on titan. Most of the global fortran variables became
undefined. I am not sure why it is happenning. It may be ecc compiler
or there is an error in the Fortran code. Since it may take some time
to track it, I decided to remove this change.
Platforms tested: titan, arabica
Misc. update:
Purpose: IA64 (titan) cleanup
Description: We defined IA64 variable for C-stubs compilation
on IA64 systems. But system defines __ia64 and
it is better to use it as we do on all other systems.
Solution: Removed -DIA64 from compilation flags since H5f90i.h header
files uses __ia64 variable that is defined on IA64 systems.
Platforms tested: titan
Misc. update:
Purpose: Bug fix
Description: On Cray SV1 multi-driver test failed while closing
access property list.
This test creates a file using multi driver, writes
dataset, closes the file; reopens the file and reads
back data. At some point I commented out call to
h5pget_access_plist_f, but forgot to comment out corresponding
h5pclose_f.
Solution: removed comment on the h5pget_access_plist_f subroutine.
Platforms tested: Cray SV1, copper with parallel, Winodws with VF, arabica.
There is some caveat left. I have a call to h5pget_fapl_multi_f
that follows h5pget_access_plist_f, it was also commented out.
This call works everywhere except Windows. Fortran part looks OK,
since my test program uses h5pget_fapl_multi_f before it closes the
file in the same test, and it works. Probably it is a library
bug that needs confirmation. For now I will leave second
h5pget_fapl_multi_f commented out.
Misc. update:
Purpose: Bug fix
Description: On Windows Fortran szip test failed in debug mode.
It turned out that C-stub for H5Pget_filter_by_id didn't
calculate the correct value of namelen parameter that is
passed to the H5Pget_filter_by_id function. As a result
fortran parameter that hold creation property id was overwritten
and h5fdcreate_f failed.
Solution: Fixed the value of namelen parameter to the H5Pget_filter_by_id
function.
Platforms tested: Windows 2000 with VF both debu and release modes,
sol, verbena.
Misc. update:
Purpose: Code cleanup
Description: For some unknown to myself reason I used COMMON in the
HDF5 module that has to be included in all Fortran
HDF5 application. This is redundant and may cause
problems for optimization. Also COMMON is an "OLD"
feature and shouldn't be used.
Solution: Removed COMMON statements.
Platforms tested: modi4 sequential and parallel, arabica, vebena,
Windows with Visual Fortran.
Misc. update: