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.
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
Users can create external links using H5L_create_external(). These links
point to an object in another HDF5 file. Users can alter the behavior of
external links or create new kinds of links by registering callbacks
using the H5L interface.
Added tests, tools support, etc.
Also a number of other, minor changes have been made (some restructuring of
the H5L interface, for instance).
Additional documentation and examples are forthcoming.
"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.
Upgrade
Description:
chnaged it from doing CVS-managed files to SVN-managed files.
(The use of ed, is real ugly, but ed exists in all Unix systems.
May want to consider using awk which is a more powerful and will have
a cleaner implementation.)
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.
The snapshot release directory was temporarily moved to a different
directory called unstable_format. Since the format is now back to
the normal one, reverse the release directory to the normal place too.
Platforms tested:
No test since it was a trivial change.
feature.
Description:
Added the option of -64 which is similar to -n32. This is needed by
Atlantia which has the ABI as -n32.
Platforms tested:
Pretty straight forward but not testable by h5committest.
Will be tested when daily tests run.
fix.
Description:
More machines stop supporting "rsh machine command".
Worse yet, it hangs the "rsh machine command" process.
Solution:
Switch the order of testing remote execution to use
ssh first, then rsh.
Platforms tested:
no h5committest since it does not test this command.
Change is trivial and will monitor Daily test tonight.
Bug fix
Description:
The snapshot script was trying to install-doc, even though the docs are
no longer included in the cvs repo.
Solution:
Replaced 'make install install-doc' with 'make install-all', which should
have the same effect (installing the library and examples).
Platforms tested:
very minor change
Change to release script
Description:
Silenced doxygen's output when bin/release doc is run. Now if doxygen
has an error the release script will exit.
Platforms tested:
mir
New feature.
Description:
Added the feature to make a release tarball for the documents tree too.
Platforms tested:
Feature code was created by James. I just did some touch up and
tested it by hand in heping. I am checking it in while he is absent.
Misc. update:
Cleanup
Description:
v1.7:
Removed some debug files left by previous change.
Uncommented the removal of the temporary working directory.
v1.6:
Moved the code of removal of the temporary working directory
to a later location in order to stay in sync with v1.7.
(The later location is needed for v1.7 code but makes no different
to v1.6)
Platforms tested:
Tested by hand.
improvement.
Description:
Release must be run at the top of the hdf5 source directory.
Added a test to verify this condition at the beginning of the
command.
Platforms tested:
Tested by hand.
Bug fix in release script
Description:
release --private should create a release without changing the current
version of the library. This wasn't working for the libtool version, which
was getting bumped regardless.
Solution:
Fixed the release and h5vers scripts to leave the source directory
unchanged when bin/release --private is run.
Platforms tested:
mir (changes to scripts only)
Bug fix.
Description:
Fixed a typo and also moved initialization of n_xxxx variables to the
common declaration place.
Platforms tested:
Tested in v1.6 branch already.
Cleaned up reconfigure output
Description:
Added two lines to separate output from trace script from autotools
output in reconfigure.
Solution:
Running reconfigure updated src/Makefile.in as a side effect, since
I changed config/lt_vers.am in my last checkin but forgot to
run reconfigure then.
Platforms tested:
mir (cosmetic change to reconfigure script only)
Bug fix.
Description:
release created temporary files in .. directory. If the -d directory
is the same as the parent directory, it would fail when it tried to
copy the temporary files to the destination directory.
Solution:
Changed release to create a temporary directory and create all temporary
files in that temporary directory.
Platforms tested:
Handtested in heping.
Improvement
Description:
Release action now prints a message showing Release version and where it
deposits it.
Platforms tested:
Change is simple and will test by hand after check in.
Misc. update:
Improvement.
Description:
Splitted the "make check" into "make check-s" and "make check-p" so that
it is clearer which nature of tests are being tested.
Platforms tested:
heping (serial and pp).
Temporary fix.
Description:
Since the file format is unstable, we don't want the snapshot tarball
be readily available to any FTP users. Change the snapshot archived
location to a directory that is not accessible by Anon. FTP. If someone
wants to use one of these snapshot versions, give him/her a copy of these
files.
When file format is restored, switch this back to the previous default
location.
Platforms tested:
no test since change is pretty trivial. I have scheduled a snapshot
release tonight to see if it will put it in the right place.
Feature
Description:
bin/reconfigure now allows users to define the paths to the autotools on their
system. bin/reconfigure also runs the trace script when it is invoked.
Solution:
The autotools are specified using environment variables: AUTOCONF, AUTOMAKE,
ACLOCAL, AUTOHEADER, and LIBTOOL_DIR. See bin/reconfigure for the defaults.
The version of each of the autotools is checked before they are run, so
users can't invoke the wrong version of any autotool.
The trace script is run on all the .c files in the src directory when
reconfigure is invoked. Ideally, bin/reconfigure should be run when any new
function is added to the library, but if the tracing information is out of
date the library will still work.
The trace script has also been modified to ignore the multi and stdio file
drivers (per Quincey's suggestion).
Platforms tested:
mir, shanti
Cleanup and new feature.
Description:
Remove old code no longer used (LOCATE_GASS, LOCATE_FORTRAN, LOCATE_HDF4.
Added new option to locate szlib.
Platforms tested:
Tested in heping and shanti.
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:
Improvement
Description:
The previous HTML files strategy was to expect the very first comment
block is the copyright notice. That did not work well as more and more
other comments appear now.
Solution:
Changed the strategy to look for the only the essential body of copyright
notice. This no longer verifies this body of text is a comment block. But
the previous strategy is not really bullet-proof either.
Platforms tested:
tested in heping.
Improvement
Description:
The previous HTML files strategy was to expect the very first comment
block is the copyright notice. That did not work well as more and more
other comments appear now.
Solution:
Changed the strategy to look for the only the essential body of copyright
notice. This no longer verifies this body of text is a comment block. But
the previous strategy is not really bullet-proof either.
Platforms tested:
tested in heping.
Bug fix, feature.
Description:
Fix a bug to recognize "#xyz..." is a comment in the init file.
Add more binary data file types.
Added prunepath command.
Platforms tested:
heping.
Added messages to remind platform watchers to check for processes
still running in the remote machine after timeout.
Platforms tested:
Just eyeballed. Changes is trivial.
Improvement
Description:
The copyright notice of some files may contain some white spaces such
as tabs, trailing blanks and \r (common in Windows files). Diff will
flag them as not matching. Could not just use -b or -w of diff because
it will ignore embedded spaces and could not handle \r anyway.
Solution:
Added a RINSE function will remove all \r and trailing spaces and
expand tabs to proper number of spaces. Now, diff can compare without
worry of cosmetic white spaces.
Platforms tested:
heping, applying on a Windows/copy_hdf.bat file.
New feature
Description:
A tool to fix configure file so that it can launch configure testing executable
via the proper launching command, e.g., yod. (Thus the name yodconfigure
is used.)
Tested:
Red Storm, both parallel and serial configure.
Bug fix.
Description:
chkcopyright has been changed to return an exit code whether it passes
or not. Changed the detection accordingly.
Platforms tested:
heping.
Update copyrights
Description:
Updated copyright information in hdf5/bin and top-level and added some
more files to be skipped to the chkcopyright config file.
Platforms tested:
None - just eyeballed
Improvement.
Description:
The df command sometimes hangs because of file system problem.
Solution:
Run the df command as background process and wait for it 10 seconds
to finish, then just continues.
Platforms tested:
Should work. Daily test will test it.
Added another case of shell-like style file--if lines leading by #'s
are found, treat it like a shell-like style file.
Platforms tested:
hand tested in heping.
New feature.
Description:
Added code that try to guess what type of file it is by inspecting the
first 5 lines. Then it tries to find the Copyright notice according
to the guess.
Another revamp.
Description:
Now search the copyright notice within the beginning 60 lines only.
(This applies to source code. For HTML files, it is still search
all the way through the file.)
Platforms tested:
Hand tested.
revision.
Description:
The copyright notice for Makefile(in) were fixed at the beginning of the files.
But they are now generated by automake and autoconf such that Gnu jams its
own copyright block at the beginning.
Solution:
Changed the rule such that the HDF5 copyright notice can be somewhere else
in the file as long as they are together as one paragraph.
Also added recognition of Makefile.am as a possible MAKEFILE type.
Platforms tested:
Tested by hand in heping.
Feature.
Description:
Added the copyright checking--most settings are temporary. Need
cleanup or fixes when most copyrights notices are completed.
Platforms tested:
Tested by hand.
Bug fix.
Description:
In some racing condition, the process ID file might be removed just
the moment before timekeeper cats its content. When that happens,
the $pid is a blank. Timekeeper was not prepared for this.
Solution:
Added code to verify $pid is some number before proceeding.
Platforms tested:
Tested by hand only.
upgrade.
Description:
A new feature md5 is added to the release script. Upgrade snapshot
to include md5 in the snapshot release process.
Platforms tested:
No test since the change is pretty simple and it is hard to test
without really doing a snapshot release.
Misc. update:
Feature - md5 checksum
Description:
Added md5 checksumming to snapshot releases. When bin/release is run,
it will by default create a .tar archive and a .md5 checksum of that
archive in the destination directory.
Solution:
md5 is now a method in bin/release, along with the various ways to compress
hdf5. The checksum is always of the .tar archive, even when other forms
of compression are used (this is so that a given release always has only
one checksum, for simplicity).
Platforms tested:
mir (change to bin/release only)
Misc. update:
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:
Bug fix.
Description:
Error encountered in the clean command was not passed back to calling
command. Fixed it.
Platforms tested:
heping (where clean has no error) and sol (where clean has error).
cleanup.
Description:
The install directory (--prefix) has been changed to $PWD/hdf5 long time
ago. It is no need to reset to installdir any more.
Platforms tested:
Change is trivial and will be tested in Daily tests.
Misc. update:
upgrade.
Description:
Release used to copy the updated release_docs/HISTORY.txt and
release_docs/RELEASE.txt to the doc/html/ADGuide. The doc/ is
removed from the source tree. So, remove the command that
does the copying.
Note that once the separated doc/ location is known, release needs
to copy the two files into them and committed them via sub-version
commands.
Platforms tested:
No test because it is a trivial change and it is not easy to change
without triggering the full release process.
Misc. update:
bug fix.
Description:
The deploy command would exit whether it succeeded or not.
Solution:
Fixed it so that it exits only when deploy has encountered failures.
Platforms tested:
Trivial change. Will watch the daily test results.
Misc. update:
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.
Feature.
Description:
The temporary output filename of each remote host test is now
a combination of hostname and configname.
Platforms tested:
Will be tested by Daily test.
Configuration feature
Description:
Formerly, bin/reconfigure needed to invoke Automake with the --foreign
flag or it would fail. It turns out that there is a clever way to
specify this flag inside configure.in so that it doesn't need to
be explicitly invoked.
This should make it easier for people not using machines connected
to AFS (e.g., the netCDF folks) to invoke Automake on HDF5.
Platforms tested:
mir and heping
Add API calls allowing user control of the metadata cache.
Description:
Prior to this update, the metadata cache was not configurable
from outside the library.
Solution:
Add API calls allowing the user to configure the metadata cache
either at file open time, or for any open file. Also added calls
permitting the user to monitor cache size and hit rate. These
latter facilities are needed for "manual" cache size control
Platforms tested:
h5committested
Misc. update:
Feature - libtool shared library versioning
Description:
Libtool provides a mechanism for different versions of the same shared
library to be distinguished. Now this is applied to HDF5 when it is
built as a shared library.
Solution:
The version number is stored in config/lt_vers.am, and included in
src/Makefile.am.
This number will be automatically updated by bin/h5vers; developers
only need to update it when they change the API.
*** IMPORTANT ***
Any time the API changes, the version number in config/lt_vers.am must
be updated!
Platforms tested:
mir, eirene, verbena, modi4
Misc. update:
Bug fix
Description:
When chkmanifest failed, output is not dumped to failed detail section
and people tend to ignore it.
Solution:
Buffer the output of chkmanifest in a file and dump it to failed detail
section if it fails. Else, just output to standout.
Platforms tested:
Tested by hand in heping.
Improvement
Description:
Dumping the beginning 10 lines of log files does not give much
useful information and they sort of mix up with the last 30 lines.
Solution:
Do not dump the beginning 10 lines any more.
Platforms tested:
Tested by hand.
Purpose:
Bug fix
Description:
Automake relies on the helper script depcomp to handle dependency tracking.
This script was from an older version of automake, and was generating
warnings on copper and sol.
Solution:
Updated bin/depcomp and bin/missing scripts.
Platforms tested:
copper, sleipnir, modi4
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.
Bug fix
Description:
h5vers would spit out the output that reconfigure script produced.
Solution:
Sent output from reconfigure to /dev/null. h5vers is now quiet as before.
Platforms tested:
verbena, eirene, heping
Bug fix
Description:
h5vers script called automake without using bin/reconfigure
Solution:
Altered h5vers script to use bin/reconfigure
Also:
***
CHANGED NAME OF reconfigure.sh TO reconfigure !
***
This matches the other scripts in the bin/ directory. Also changed
permissions on reconfigure so it can be executed.
Platforms tested:
eirene
Misc. update:
Feature
Description:
Added code to dump the beginnng and last few lines of the
test log file if errors have occurred.
Platforms tested:
Tested the code itself separatedly but daily test is where
it is really tested. Should work.
feature
Description:
Starting to add a feature that will print out details from the snapshot
test logfile when the test fails. Only a debug statment is added to
see if snapshot is reporting error status correctly.
Platforms tested:
Not tested. Wait for daily test to show the result.
Update
Description:
Matthew reinstalled autotools into AFS with architecture directories.
Solution:
Updated bin/reconfigure.sh script to point to new locations of autotools.
reconfigure.sh should run on "any" Linux box connected to AFS.
Platforms tested:
reconfigure.sh tested on heping and eirene. No other files modified.
Purpose:
Bug fix
Description:
HDF5's libtool includes a hack to ensure that libraries are found
on IRIX. This hack did not have the correct path for the hl-fortran
tests to find the main library.
Solution:
Extend the hack. This may call for a better long-term solution...
Platforms tested:
modi4 (hack only takes effect on IRIX)
Improvement.
Description:
Added a command to dump all environment variables at the
beginning of the snapshot test.
Platforms tested:
Attempted to test in eirene but aborted it after seeing the
dumping because it was doing things to the current/ of daily
test directory. *arg!*
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
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:
Correct formatting error which would run some macros together if the
length of the error got too large.
Solution:
Throw in some extra whitespace
Platforms tested:
FreeBSD 4.11 (sleipnir) w/parallel
Too minor to require h5committest
Bug fix
Description:
Correct path to 'sh' and set executable, so this script can be run
directly from the command line.
Platforms tested:
Linux 2.4 (heping)
Too minor to require h5committest
Bug fix
Description:
Dependencies for aclocal.m4 seemed to be confused. This was causing
make to try to re-generate a bunch of configuration files.
Solution:
Updated and re-ran reconfigure.sh script.
Platforms tested:
sleipnir, copper, sol
Bug fix
Description:
Two files in the bin directory didn't make it into CVS.
Solution:
Added depcomp and compile to CVS repository.
Platforms tested:
Already testsed with these files.
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
slight improvement
Description:
Added a time stamp when a host is not reachable.
Added a pause to let timekeeper to complete.
Platforms tested:
It should work.
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:
Updated to call timekeeper with minutes.
Also put all timekeeper output to a separated logfile.
Platforms tested:
Did not test since it is hard to test without starting the whole daily test.
The change is trivial too.
Feature
Description:
# As a time keeper of the remote daily test process launched by runtest.
# It sleeps for a certain time and then wakes up to hangup those processes
# that are still around, assuming they have run too long.
Platforms tested:
hand tested in heping.
Bug fix.
Description:
-e is not a valid condition for /bin/sh in all machines such as SunOS.
Solution:
Rewrote the condition to avoid the need of using "test -e ...".
Platforms tested:
In Sol only.
Bug fix.
Description:
There was a historical hack to prevent runtest in multiple
hosts to run cvs update while they were launched by the daily test.
But a more proper fix has been implemented to prevent that but
this hack was not removed. It ended up enforcing one CVS update
per day. But if someone tested runtest during the day, it would
prevent the evening daily from doing update. That is not good.
Solution:
Removed the hack which is not need any more.
Platforms tested:
NO h5committest since it does test runtest. Tested it by
hand in eirene and heping.
Misc. update:
Feature
Description:
Added code to support the -configname feature.
Platforms tested:
no h5committest which does not test this command.
ran it by hand in eirene comparing tg-login1 and tg-login2.
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.
Bug fix and feature.
Description:
The setenv was done in runtest but it has the effect will linger
onto the next test. So, if the first test sets $CXX to a certain
value, it lingers on the all following tests of the same host.
This is usually not desired.
Solution:
Move the actual setenv code to snapshot. Runtest now just parses them
and pass along the setenv request to snapshot.
Platforms tested:
no h5comittest which does not really test the change.
Hand tested in eirene with Tg-NCSA.
Misc. update:
Code cleanup & small bug fix
Description:
Regenerate dependency files
Add htri_t as separate type from hbool_t for code tracing purposes.
Platforms tested:
FreeBSD 4.10 (sleipnir) w/parallel
too minor to require h5committest
Bug fix/code update
Description:
Upgrade to latest version of config.guess & config.sub, which work
correctly on Cray X1 (and may help on NEC SX-6).
NOTE: This upgrade has _nothing_ to do with autoconf or libtool, these
shell scripts are _not_ tied to any particular version of those tools.
Platforms tested:
FreeBSD 4.9 (sleipnir)
h5committest
Cray X1
cvs checkout often included empty directories the contents of which
are no longer needed.
Added -P to cvs command to prune them.
Platforms tested:
no h5committest which does not test snaptest.
cleanup.
Description:
Removed the old command that parses setenv2 and setenv3 which are
replaced by setenvN.
Platforms tested:
No h5committest since it does not test this script.
Pretty sure it works.
new feature
Description:
Added the -setup option so that it can setup the snapshot test
directory structure. This will help the setup of snapshot test
in a new machine, especially remote machine much easier.
Platforms tested:
no h5committest becuase it does not test this script.
Tested in tg-ncsa.
Improvement
Description:
The cvs checkout used the complete path of current/ which is not
accepted by cvs server. Changed it to chdir to the snapshot directory
and then cvs checkout just current/.
Platforms tested:
Not h5committested because it does not test this command.
Tested in tg-ncsa which has no direct access to the CVS directory
and must use the server route.
Misc. update:
Bug Fix/Update
Description:
Updated "trace" to include "void**" as a datatype (it sets it to
"x"). Format changes as well.
Added "close(DEPEND); close(NEW);" to the dependencies script. This
was reported by a user that it wasn't doing this.
Platforms tested:
Linux (small changes)
Misc. update:
Bug fix
Description:
The op-snapshot checkout "ate" the next option by mistake.
Solution:
Remove the extra shift.
Platforms tested:
Can't really test it without doing a real snapshot test.
Pretty sure it is correct and will watch the result tomorrow.
Misc. update:
Improvement
Description:
The -w timeout option is not supported by all hosts.
Added the "ping -c 3" possible PING command.
Platforms tested:
Tested in eirene by hand only.
Misc. update:
new feature
Description:
Added a new option of "setenvN" which does
set environment variable with $1 values
e.g., setenvN 3 x a b c is same as setenv x="a b c".
Platforms tested:
No h5committest. Tested by hand in copper.
Misc. update:
new feature
Description:
Added a new test option of
op-snapshot <option> snapshot option
This allows snapshot.cfg to tell runtest to run snapshot with a
special option.
Platforms tested:
Not h5committest because it is outside of its scope.
Tested by hand.
Misc. update:
New features
Description:
Add options of verbose (-v, -v9) and -fname which limits to
checking file with the file name pattern.
Solution:
Platforms tested:
Did not h5committest which does not cover this command.
Verified it by hand.
Misc. update:
feature
Description:
Added the checking for Makefile.
Skip checking CVS files.
Printed filename of unknown file types.
Platforms tested:
No h5committest.
Tested by hand on various files.
Misc. update:
Code cleanup
Description:
Removed H5E_major_t and H5E_minor_t since they aren't used in the library
any longer.
Platforms tested:
h5committested
Misc. update:
Update/Fix
Description:
The Dependencies files weren't begin generated properly for C++.
Solution:
Modified the "dependencies" script to use "top_srcdir" only instead
of "srcdir", which tended to confuse matters. Regenerated the
Dependencies files.
Platforms tested:
Arabica (Small changes)
Misc. update:
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.
Had to add C++ information to this script.
Platforms tested:
Verbena (Fortran & C++)
Sol (Fortran & C++)
Copper (Fortran & C++)
Modi4 (Parallel, Fortran, & C++)
Misc. update:
New Feature
Description:
A command script to check if the Copyright notice is included in
the files.
Platforms tested:
no h5committest since it does not apply.
Tested by hand.
Misc. update:
Updated MANIFEST
Removed old feature
Description:
Removed the hardsetting of --prefix and creation of <prefix>/ directory
since this version has prefix default to hdf5/ in the build-directory
and will create the <prefix>/ directory during install.
Platforms tested:
Tested in eirene by hand.
Misc. update:
New tool.
Description:
A new tool to build the HDF5 library. This was historically the
makeh5 command. Added here so that it can be used in machines outside
of the HDF Groups. Having it in the source allows version specific
customization.
Platforms tested:
Did run h5committest which failed due to other source code problems.
Tested it by hand by ../hdf5/bin/buildhdf5 and passed as far as its
own functionality.
Misc. update:
Bug fix
Description:
If the base directory (.../snapshot-...) does not exist yet,
the runtest and snapshot will continue on till it bumped into
a "wall".
Solution:
Added verification that the BASEDIR does exist.
bug fixes
Description:
The "fs flush" actually discards the local caches information,
NOT pushing the local file out to the servers. It does not
help the AFS problems we had but probably made it worse by
creating more demands on the servers.
Solution:
Removed the FLUSH_FILES code.
Platforms tested:
Can't be tested by h5committest and I am pretty sure the
change is safe.
Misc. update:
Bug Fix
Description:
If there was a header file with a path like:
/some/path/mpich.optimized/...
The dependencies script would change that to
/some/path/mpich.loptimized/...
^--Note.
Solution:
Mike McKay offered the solution to replace the substitution script
from "s/\.o/\.lo/g" to "s/\.o(\b)/\.lo$1/g". It doesn't crash when
run on Linux, but we need to make sure that it's okay for his
machine.
Platforms tested:
Linux, since this script is only run on GNU platforms.
Misc. update:
feature.
Description:
Added the option of "setenv3" which sets the environment variable
that has three components like env AR="ar -X 64". It is another
kludge like setenv2. Got to code in a better 'setenv' option.
Platforms tested:
Copper (because its -64 compiling needs that AR set as above).
Eirene (where it usually launches).
Did not do h5committest which does not test bin/runtest.
Misc. update:
bug fix.
Description:
It checked on the CVSROOT setting even when no cvs is needed.
Solution:
Moved the verification inside the checkout code so that the
CVS settings are checked when it is needed.
Platforms tested:
Eirene--this is invoked by bin/runtest. Platform tests do not
apply here.
Misc. update:
New Feature
Description:
Some machine has a different hostname from its official name (e.g., copper
is called Cu12) and some machine name are dynamic aliases (e.g., titan is
mapped user01 or user02). Some names are cryptic (who could remember
hn0? are platinum hosts while user0? are for titan). We had to hardcode
those names into the snaptest.cfg file. An ongoing maintenance PAIN.
Solution:
Added -configname <name> option where
"use <name> as hostname in the parsing of the snaptest configure file"
Changed RSH code to append the hostname used in the Allhostfile. Now, we
need not worry about machine name mapped to a different host and it is
much cleaner to match up entries between allhostfile and snaptest.cfg files.
Platforms tested:
Did not use h5committest which does not cover this code.
Tested in eirene, titan, platinum and copper.
Misc. update:
Improvement
Description:
Added a 5 seconds timeout to the PING command so that it can detect
host not online quicker.
Platforms tested:
The three platforms tests do not cover this command.
Test it in eirene where it is usually run.
Misc. update:
Bug fix.
Description:
n_test must be inited to 1 when it is for tests within one machine.
Undid my previous mistake.
Platforms tested:
Eirene.
Did not do the h5committest because this is a script and if it works
in one machine, it most like will work in all Unix platform.
Misc. update:
new feature and some bug fixes
Description:
Add a new feature to "skip" some tests.
Sometimes, a machine has problem (e.g. titan and sleipnir having AFS
problems). Sometimes some feature in a machine is temporary off (e.g.,
PGI compilers in eirene.) The tests will be reported being SKIPPED
which will be reminder to remove the skipping once the problem is fixed.
I installed the skipping control in snaptest.cfg rather than in
allhostsfile to have a finer control to skip just a subset of the
tests of a machine, rather than skipping the all tests of a machine.
Bug fixes: fixed the miscounting of number of tests ran. It was
reporting one too many.
Platforms tested:
Only tested in eirene since eirene is the one uses it directly.
Misc. update:
New feature
Description:
Added feature to print a summary of total number of tests and time spent
in each host.
Platforms tested:
Did not run h5committest because it does not test this script.
Did test it out in eirene and burrwhite.
Misc. update:
No document change.
Bug fix
Description:
SGI shell treats $0 as function name if used in a function.
Set the name here to avoid that ambiguity and better style too.
Platforms tested:
Just in modi4 and burrwhite since it is a shell script and the
change is machine independent.
Purpose:
New Feature; Optimization; Clean-up
(Merged from 1.4 branch)
Description:
There is no symbolic constant to pass to functions that take an
optional object ID for when the caller wants to indicate no object
ID. In the past the caller always passed a negative integer.
GPFS performs poorly.
The h5ls tool decides whether to list the file name in the output
based on a compile-time choice, which isn't always optimal at run
time.
Solution:
Added a symbolic constant H5I_INVALID_HID.
Added code to tell the mmfsd of GPFS to forego byte range token
prefetching.
h5ls decides whether to print the file name at runtime based on
the number of objects being listed.
Platforms tested:
SuSE Linux (arborea), gcc and mpich-1.2.4
SunOS (baldric), gcc
2002-08-09 11:58:59 Robb Matzke <matzke@arborea.spizella.com>
* rewrite_func: Add trace info after any kind of FUNC_ENTER* macro.
New feature
Description:
Added TIMESTAMP and event markers. Easier to tell the chronical events.
Turned of echo mode. Added an option to turn it on.
Platforms tested:
Only in eirene.
Bug fix
Description:
Teach the perl script about the new "_API" added to all API functions.
Platforms tested:
FreeBSD 4.6 (sleipnir) w and w/o parallel
Linux 2.2.x (eirene) w/FORTRAN & C++
Solaris 2.7 (arabica) w/FORTRAN
IRIX64 6.5 (modi4) w/FORTRAN & parallel
feature
Description:
Removed the search of HDF4 library specifically.
Replaced the locate_hdf4 with a more general locate_sw.
Added the search of zlib.
Platforms tested:
eirene and all hdf group machines.
New feature
Description:
This search for various software (hdf4, hdf5, zlib) among possible
locations. It is customized toward NCSA machines structure.
Platforms tested:
eirene.
Update
Description:
Changed so that the Fortran and C++ configures are named "HDF5
Fortran" and "HDF5 C++" resp. instead of just "HDF5.
Solution:
Add an extra parameter to the subroutine which generates the new
configure.in files.
Platforms tested:
Linux
Update
Description:
Updated the h5vers script to automatically update the configure.in
files so that they reflect the correct version in the AC_INIT line.
Platforms tested:
Linux
Update
Description:
Updated ltmain.sh with the newest version from the 1.4.2 libtool. The
one I updated with earlier still had a few bugs in it, for some
reason. I got rid of the RPM version on my machine and used the
compiled source instead.
Platforms tested:
Linux
Bug Fix
Description:
On some platforms, mktemp doesn't work. This would wipe out the
tmpdir variable's value.
Solution:
Reinitialize tmpdir in these cases.
Platforms tested:
HP-UX
Bug Fix
Description:
Ported the hack of hte ltmain.sh script from the v1.4 branch to the
1.5 branch, since it's sure to fail on systems with really long
-Wl... flags...
Autotools Update
Description:
I've updated autoconf, automake, and libtool to the latest/greatest
versions; 2.53, 1.6, and 1.4.2 resp.
Many changes come with the new versions:
- ltconfig is no longer used
- acconfig.h is no longer used (#define values are declared with
the macro)
- regeneration of all of the aclocal.m4, configure, and
H5config.h.in files.
- new config.{guess,sub} files
- new ltmain.sh file
Platforms tested:
AIX (blue), and Linux
Feature/bug fix
Description:
The 'snapshot diff' command is run in all cases, even after the initial
"snapshot diff" and hosts are polled to run the test. It would not cause
any harm except wasting time repeating diff'ing. Also, the path is
quite right to invoke snapshot by merely "bin/snapshot diff" since it
has not "cd" to the right directory yet.
Solution:
Added a new option of "-nodiff" to skip the special diff request.
Then make "runtest" to call itself again with it to prevent
any further unnecessary diff'ing.
Platforms tested:
eirene
New feature
Description:
"snapshot diff" will just run the diff and exit 0 is no significant
differences found between current and previous versions.
Runtest will try a "snapshot diff" and will skip test if no significant
differences are found.
Platforms tested:
eirene
New feature
Description:
Replacing the hardcoding of default version for snapshot test
to a file, bin/snapshot_version. This way, runtest and snapshot
can be version neutral. Makes maintenance easier.
Platforms tested:
eirene.
Bug fix
Description:
check-install was on the same make line with install. They
got run in parallel.
Run check-install as a separate make action after make install is completed.
Platforms tested:
Eirene
Feature
Description:
The output of multiple tests of one host used to all go to the same
logfile. It is harder to find the beginning of each test.
Solution:
Added hour and minute (HHMM) into the logfile name. Different
tests should go to different files now. If a second test starts
within a minute of the previous test, their output will be all
in the same file. In the case, there are probably not that much
output to worry.
Platforms tested:
eirene
New feature
Description:
The examples have been changed to use the installed h5cc to do
the compiling. Added a step in the "test" part to
"cd examples; gmake check" which will test against the installed
software.
A more proper way is to create a "check-install" target to test
other installed software besides the C API, such as the Fortran
API.
Platforms tested:
eirene
Bug Fix
Description:
When doing an install of dynamic executables on some platforms, the
"mktemp" command may fail which causes the contents of "tmpdir" to go
away. If it's a failure, we still need the previous value of tmpdir.
Solution:
I replicated some code so that tmpdir's old value before the mktemp
call is regen'ed if the mktemp call failed.
Platforms tested:
HP-UX SysV
Bug Fix
Description:
For some reason, a wrong line was introduced into the ltconfig in my
"Major Hack(tm)" stuff.
Solution:
Removed this line, which isn't supposed to be there cause that's why
the Major Hack was there to begin with.
Platforms tested:
NERSC machine and Pacific Blue
Bug fix
Description:
A a build had occurred in the source tree ($CURRENT) and did not
do a distclean, the left over files would interfere with srcdir
build.
Solution:
Added a "make distclean" in the "checkout" option to clean up
the $CURRENT just in case. Not necessarily the most optimal
spot to do the cleaning but convenient.
Platforms tested:
Eirene.
Bug fix
Description:
Snapshot does "make check" directly, instead of building all
binary first. This means it does not cover code that are not
tested (e.g., example, perform). (That explained why the errors
in the PIO performance code were not reported in daily test but
blew up when people built the library the "normal" way.)
It is done this way so that the snaptest aborts as soon as
the first test failed rather than after all code are compiled.
Solution:
Add "make" (to build all binary) before "make check".
The allows snaptest to fail as soon as the first compiling failure.
If we wish the snaptest to abort on the first test failure, the two
can be swapped as "make check && make ...". (It would appear strange
to run tests then make binary.)
Platforms tested:
Would be tested in the daily test tonight. (I should have tested
it first but I started this commit process already. Sorry.)
Purpose:
Bug Fix
Description:
We needed to support C++ on SP3. Libtool was putting a "-bnso" flag
on the compile line. This was causing the C++ compiler to barf..
Solution:
Removed the line.
Platforms tested:
OSF5.1
kludge
Description:
Somehow if consecutive "rsh houdin -n ..." are issued too close,
a "Connection refused" result. Then /usr/local/krb5/rsh falls
back to ordinary rsh protocal which of course won't work either.
Solution:
if the houdin to be tested is houdin, wait for 5 seconds before
launching the 'rsh ...' command. Hopefully the system admin can
fix the rsh problem.
Platforms tested:
eirene talking to houdin.
Feature (actually a kludge)
Description:
The old "setenv" option for the snaptest.cfg cannot handle
if there are white spaces in the setenv value part.
Added a "setenv2" that expects the value consists of 2 parts.
A better solution (like can parse in double quoted values) is
needed.
Platforms tested:
eirene with houdin (solaris 2.7)
Purpose:
Fix Bill's "Major Hack" for NERSC seaborg machine
Description:
Bill's fix was based on the machine name. NERSC SP3 gseaborg
was renamed to seaborg.
Solution:
Fixed the name.
Platforms tested:
Not tested yet.
feature
Description:
Recognize command line argument in the form of '--*' as
a configure command option by default. Since all normal
configure options are in the form of '--*', this will
simplify the "op-configure <option>" syntax. The latter
syntax is still kept in case one would want to pass in
some configure argument that does not fit this syntax.
Platforms tested:
Eirene.
Purpose:
Refix
Description:
Changed
if test -d $1; then
:
else
to
if test ! -d $1; then
since "test ! -d" should work on all platforms and is a much cleaner
solution than the original.
Platforms tested:
Linux
Purpose:
Feature Add
Description:
Added "install-example" and "install-all" to the Makefile system.
The behaviour of the "make install*" options:
make install - Installs binaries, libraries, include
files, and example programs.
make install-examples - Installs only the example programs.
The directories are:
${prefix}/doc/hdf5/examples/{c,c++,fortran}
make install-all - Install the binaries, libraries, include
files, example programs, and
documentation. The whole kit-n'-caboodle.
make uninstall-examples - Get rid of those example files (but not
the ${prefix}/doc/hdf5/examples/...
directories)
There's a new bin/ program which helps create directories which are
deeply nested called "mkdirs". It's a simple shell script.
Platforms tested:
Linux
Bug fix.
Description:
Did not update the expected strings for result of grand total test
time. Causing a false report of test failed to complete.
Solution:
Update the strings.
Platforms tested:
Eirene and modi4.
Bug fix
Description:
The previous coding using sed was not portable for all Unix
systems. Much easier to use 'cut' to parse the strings.
Platforms tested:
eirene
Bug fix
Description:
when a snaptest did not complete, it reported it as a failure
of the launching host, rather than the testing host.
Changed it to report the testing host.
Purpose:
Bug Fix
Description:
On some SGI machines (or, rather, it was showing up there), the
/usr/ncsa/lib directory was being placed before the other directories
in the linker line. This was causing the linker to link in
alternative HDF5 libraries than the test library.
Solution:
Modified my previous hack so that it puts the $rpath macro at the
end, since those are the ones we're passing into the libtool function
(in the DYNAMIC_DIRS macro).
Platforms tested:
Paz
Feature
Description:
Changed some output format.
Improved the CHECK_RSH to better report the result when failed.
Platforms tested:
eirene with nosuch and shalom. (made sure failures do occur)
Purpose:
Bug Fix
Description:
The dependencies weren't being generated properly. What was
happening, if there was a "." in the path name to the source
directories, it would say, "oh! That matches anything. Dup-dee-do
I'll just mess everything up, then."
Solution:
Escape all occurences of "." with a "\." so that it will match an
actual "." instead of anything.
Platforms tested:
Linux
Purpose:
Bug Fix
Description:
The way we were generating Dependencies and .depend files was broken.
If the $srcdir or other macros began with a ".", then it would match
anything and cause problems since it would then overwrite the
beginning of the header file's path.
Solution:
Wrote a Perl script which can handle this type of weirdness better.
It's only used when the environment is a GNU one with a GCC
compiler...
Platforms tested:
Linux
Feature
Description:
Added the feature that ALLHOSTS can be set via the file
allhostfile in the snapshot directory. This reduces the
need to modify runtest for hosts changes.
Platforms tested:
eirene (did dry runs).
Purpose:
Forward Port
Description:
Forward port of the hack fix applied to the 1.4 branch. This corrects
the previous hack by putting *'s in the pattern matching so that
they'd match the gseaborg machine correctly.
Platforms tested:
gseaborg
Purpose:
Bug Fix
Description:
The SP3 machine doesn't like the "-b nolibpath ..." flags, the same
as the pacific blue machine. I'm hoping that this will fix it.
Solution:
Adding the offending machine's name to the "Major Hack(tm)" we did
for the Pacific Blue machine.
update
Description:
Several files have been renamed or moved to a different location.
README => README.txt
RELEASE.txt => release_docs/RELEASE.txt
HISTORY.txt => release_docs/HISTORY.txt
Updated h5vers and release to reflect all these new names/locations.
Also made all uses the same beginning phases for the first line
of text in README.txt and RELEASE.txt as follows:
"HDF5 version ... "
Platforms tested:
eirene by running the bin/release and bin/h5vers -i.
Cosmetic adjustment
Description:
Changed Version information from just "HDF5 version ..."
to "HDF5 library version" since this is really about a
library implementation.
Platforms tested:
eirene (used "h5vers -s ..." to see the effect.)
new feature
Description:
Added feature to update RELEASE.txt with release information just
like what happens to README. Make a copy of RELEASE.txt to accompany
the tarball file(s).
Also moved the umask command up to cover all files created on the fly.
Platforms tested:
eirene.
Implemented the string version number stuff for Albert.
2001-05-09 16:21:37 Robb Matzke <matzke@llnl.gov>
* setvers: Adjust definition of H5_VERS_INFO, which should be a #define for
a string constant.
Bug Fix
Description:
For parallel compiles, it needed the libtest.so library and wasn't
finding it.
Solution:
Added the path to the library to the rpath in the ltmain.sh file.
Platforms tested:
Modi4
Bug Fix...
Description:
For the tools library, it needed to find the HDF5 library in the
`pwd`/../../src directory.
Solution:
Added `pwd`/../../src to the rpaths.
Platforms tested:
Modi4
(Final?) Bug Fix
Description:
Okay, for those of you following this saga:
Shared libraries weren't being found on the O2K system. Why not?
Well, turns out that libtool is dain bramaged. Instead of
creating executables for executables, it creates shell scripts.
These shell scripts actually recompile the code, relinking it
with the "correct" libraries. It's similar to when it goes to do
an install. It recompiles to the binary so that it picks up the
proper libraries. BUT! Libtool wasn't placing into the shell
scripts where the shared libraries it was looking for actually
were.
Solution:
I hacked up ltmain.sh so that it puts the required dynamic library
directories into the compile line when it creates the
shell-script/binaries.
Platforms tested:
Modi4...
Bug Fix
Description:
The fix I put in on Friday wasn't working properly.
Solution:
Changed some single quotes to double quotes so that the macros are
expanded and set "command_finalize" to the newest values I created.
Platforms tested:
Modi4
Bug Fix
Description:
The compiler on Modi4 (and possibly other machines) couldn't handle a
long string being passed in with the -Wl, flag.
Solution:
Wrote some script which separates the string being passed into
multiple flags with "-Wl,-rpath -Wl," before them.
Platforms tested:
Modi4
Improvement
Description:
The DIFF used to keep running after detecting significant code changes.
This was done in order to see all changes but no one seems to look
at the diff any more. So, let it end the DIFF cycle once it determines
there are enough differences for a new test.
Added "install install-doc uninstall uninstall-doc" to the test
cycle.
Platforms tested:
Eirene, gondolin, modi4
Update
Description:
Updated so that it's roughly consistent with the 1.3.5 release of
libtool. The only difference between the two is some sharedlibrary
path which Albert put in once a long time ago and it seems to
work...Trying not to break^Wfix what's not broken.
Platforms tested:
Linux (with diff)
adjustment
Description:
When gondolin failed the 1.5 test, it moved ahead for the 1.4 test.
The 1.5 test usually takes 1 hour to complete but runtest only waited
30 minutes for the 1.4 cvs update to complete. So, gondolin ended
up failing the 1.4 test too.
Solution:
Changed the wait time to 90 minutes.
Added echo statements showing it is waiting for some event. This
would help the human knowing it is waiting for something.
Added more comments about the algorithm of the waiting.
Platforms tested:
Gotta be right. :-)
new feature
Description:
Added a new option -nocvs for no cvs commands.
Added a locking mechanism to show CVS checkout in progress
and other hosts should wait till it is done.
Platforms tested:
gondolin
Code improvement
Description:
Changed it so that $H5VERSION determines which version of hdf5
code to do cvs checkout and to test, making it easier to handle
new versions.
Platforms tested:
run simple test to make sure it did generate the right command.
Bug fix
Description:
Updated its default H5DIR value to the correct version branch
it is in now.
Platforms tested:
Will be tested by the daily test cron job.
New feature
Description:
Added a -debug line option and will pass it to other runtest invoked.
Removed the restriction of running one test per host. This way,
tests of different tests (e.g., with or without fortran) can be
run per host with all output saved in one log file.
Platforms tested:
Tried several runs of daily test.
Bug fix (feature)
Description:
It did not recognize the op-configure keyword as a possible
type of test.
Solution:
Added the feature to handle op-configure.
Platforms tested:
Linux, freebsd.
Bug fix, feature, cleaning code
Description:
It could not find bin/locate_hdf5.
Solution:
Explicitedly use the bin/locate_hdf5 in the snapshots/current area.
Also, added Usage page to be printed when -h(elp) is asked or when
there is error in command option.
Cleaned some old code no longer used.
Platforms tested:
eirene
Automatically update the HISTORY.txt and RELEASE.txt to in doc/html/ADGuide
by copying the same files at the top level to them. This keeps the two
files updated right before release.
Platforms tested:
eirene.
new feature
Description:
It now reads a configuration file ($HOME/snapshots-hdf5/snaptest.cfg)
to set up the configure options of the tests, and what type of tests
to run for each host.
Platforms tested:
Eirene launched a full blown test on all machines involved in the
daily test.
Simple twist
Description:
snapshot used to just use whatever `hostname` returns. Often it
is the fully qualified name but sometimes just hostname without the
domain part. Inconsistent.
Solution:
Chopped off any domain part and use just the host name.
Use the 'cut' command rather than the sed with ncsa.uiuc.edu hardcoded.
Applied that to runtest too.
Platforms tested:
Should work. Will find out if the daily tests still work.
New Feature
Description:
It supports a configure file (snapshots.../snaptest.cfg).
Currently, it recognize comment lines (started with #)
and the standard configuration.
Platforms tested:
Eirene (Linux)
feature
Description:
Use the external locate_hdf4 instead of the internal function to
find the HDF4 software. Also set PATH to include the HDF4 bin
if found. That would help gurantee access to the 'hdp' tool.
(Need to do an explicite "export PATH" since DEC OSF1 sh does not
seem to export the changed value by default.)
Platforms tested:
Gondolin (DEC OSF1)
feature
Description:
revised it so that it can really run the snapshot tests.
It now first update the source in the snapshot area and then uses
the scripts in snapshot/current/bin.
Platforms tested:
modi4, arabica
New feture
Description:
# Try to locate the HDF (nicknamed hdf4) software
# This is a hack because there is no consistent place to find
# the valid HDF library.
# Usage: locate_hdf5
# It prints two strings in which the first one represents a valid
# value for the --with-hdf=... switch and the second one is where
# one can find the hdp command. It can be added to the $PATH.
Platforms tested:
Pecos (solaris 5.7)
New feature
Description:
This runs the hdf5 library testing via the snapshot script. Without
any argument, it runs the test for the current host. If -all is used,
it runs the tests on a predefined list of hosts.
Platforms tested:
This does not quite work yet as there are a few hardcoded pathnames
to find the script on remote machines. Committing it now to hold
the place so that others can see how it works.
Improvement
Description:
The -i option used to increment the first number it finds in the
SUBRELEASE string. So, beta1-post0 becomes beta2-post0.
Solution:
Changed to increment the last number it finds. So,
beta1-post0 becomes beta1-post1.
Platforms tested:
eirene and modi4.
Major Hack (tm)
NOTE! When upgrading ltconfig in the future, this may have to be
re-fixed!!!
Description:
Pacific Blue didn't like the ``-b nolibpath -b libpath:...''
flags libtool was handing it. It looks as if those flags would
make mpicc forget where some of the libraries it needed were.
Solution:
Test the hostname to determine if we're at pacific.llnl.gov. If
so, then we don't want those flags.
Platforms tested:
Pacific Blue...
The last commited version of config.guess and config.sub does not
have the local changes we made over the time. Thus configure failed
in non-standard machine like the ASCI Red.
Solution:
Replaced them with the last version before the last committed version.
Platforms tested:
ASCI Red
Keeping up with the Jones's
Description:
Updated to latest version of the config.guess and config.sub scripts from
the GNU ftp site, even though the copies in this branch of the library
are OK with the new compiler on the Linux box.
Platforms tested:
Linux (eirene) & FreeBSD 4.1.1 (hawkwind)
Fix Irix pmake bugs
Description:
Build fails on Irix when builddir != srcdir
Solution:
* acconfig.h
* src/H5config.h.in [REGENERATED]
Added definition for HAVE_STREAM
* config/conclude.in
* config/depend1.in
* config/depend2.in
* config/depend3.in
* config/depend4.in
The `Dependencies' file is located in the source
tree. This fixes bugs for Irix pmake when compiling
outside the source tree. Hopefully it still preserves
Albert's changes which allow concurrent compilations
to not stomp on each other's Dependencies files.
* examples/Dependencies [REGENERATED]
* src/Dependencies [REGENERATED]
* test/Dependencies [REGENERATED]
* tools/Dependencies [REGENERATED]
Regenerated for testing purposes.
Platforms:
i686-pc-linux
mips-sgi-irix6.5
sparc-sun-solaris2.6
Added the H5FD_stream_fapl_t type to the TypeString mapping table.
Description:
This servers for proper substitution of the H5TRACE macros in the
Stream VFD sources.
Platforms:
All platforms.
applied for various platforms which weren't supported by libtools are now
standard for libtools it seems. There were only a few of the previous
fixes I rolled forward (the diffs follow):
config.sub:
750a760,763
> tflop*)
> basic_machine=i386-intel
> os=-osf1
> ;;
ltmain.sh:
2911c2911
< $shlibpath_var=\"$temp_rpath\$$shlibpath_var\"
---
> $shlibpath_var=\"$finalize_shlibpath$temp_rpath\$$shlibpath_var\"
option. A system may have several versions of diff (e.g., vendor's
and Gnu's). Added codes to try them all until finding one that supports
it. If found, use it; else stick with plain "diff" and may waste time
when there are no differences besides the ignorable patterns.
Platforms tested:
Solaris 2.7, Redhat 6.2
a complete file name. This distinguish file ./config/unicos from
./config/unicosmk.
Tossed in a cleanup feature by removing the temporary file when finished.
Version numbers include an annotation string consisting of a
sequence of letters and digits and is printed by this
script as either:
1.2.3-pre4
version 1.2 release 3 (pre4)
Other tools should print version numbers similarly.
A `-i annot' switch was added to increment the
annotation (the first subsequence of digits is what is
incremented, e.g., `pre9' becomes `pre10').
The `-i' switch (with no argument) was changed to
increment the annotation string if present, or the
release number otherwise.
(By the way, it actually took about 30 minutes ;-)
so that it is the same as the released version and allows easy
appendix of version number. For the development branch, $H5VERSION
is just "hdf5", representing the current version of the main=truck.
srcdirname <dir>:
Use <dir> as the srcdir testing directory if srcdir is choosen.
If <dir> starts with '-', it is append to the default name
E.g., "snapshot srcdir srcdirname -xx" uses hostname-xx
[Default is hostname]
op-configure <option>:
Pass <option> to the configure command
Configuration improvement
Problem:
Arabica has a zlib library that is a dynamic lib in /usr/ncsa/lib.
Binary generated would fail to run with a missig libz.so complain
if /usr/ncsa/lib is not in $LD_LIBRARY_PATH. This exposed the
problem that if the binary is linked with -L$mylibpath -lxyz
where libxyz is a dynamic type, the binary can't run if $mylibpath
is not in $LD_LIBRARY_PATH (or equivalent) or as part of the
system default library paths (e.g., /usr/lib, /usr/local/lib).
This problem also caused failures during configure (when trying
to see what format to print long long) and during H5detect.
The base cause is because libtool does not "transfer" the
knowledge of -L$mylibpath to the wrapper file its mode=link
generates.
Solution:
bin/ltmain.sh:
Changed it so that it transfers the libpaths from -Llibpaths
to the wrapper generated. I used the already defined variable
finalize_shlibpath. Not sure it is correct to use it this way.
Need to check on this.
configure.in:
Put in a patch to transfer information from LDFLAGS to LD_LIBRARY_PATH
right before the AC_TRY_RUN. The above fix for ltmain.sh does not
work here because libtool is generated later than this point.
There should be a cleaner way to do this.
Removed the hardcode of NCSA_LT_LINK_EXE because it is no longer
needed.
commence.in:
Removed the hardcode of NCSA_LT_LINK_EXE because it is no longer
needed.
Makefile.in:
Another patch of LDFLAGS to LD_LIBRARY_PATH because I could not
make it to generate H5detect in the wrapper form of libtool.
Need to make it to use the libtool correctly. Later.
Platform tested:
arabica (solaris 2.7)
baldric (solaris 2.6)
hosts. Below is the help output for srcdir.
srcdir: Use srcdir option (does not imply other commands)"
"snapshot srcdir" is equivalent to "snapshot srcdir all"
"snapshot srcdir checkout" is equivalent to "snapshot checkout"
Also used shell variables to hold directory paths for easier maintenance.
** bin/rpmsync
** config/depend1.in
Tweaks for versions of `make' that can't search directories.
** examples/Dependencies
** src/Dependencies
** test/Dependencies
** testpar/Dependencies
** tools/Dependencies
Regenerated all these with more complete path names.
----------------------
./MANIFEST
./configure.in
./configure [REGENERATED]
Added more checking for `make' features.
./Makefile.in
./doc/Makefile.in
./doc/html/Makefile.in
./doc/html/Tutor/Makefile.in
./examples/Makefile.in
./pablo/Makefile.in
./src/Makefile.in
./test/Makefile.in
./testpar/Makefile.in
./tools/Makefile.in
./config/commence.in
./config/conclude.in
./config/depend.in [REMOVED]
./config/depend1.in [NEW]
./config/depend2.in [NEW]
./config/depend3.in [NEW]
./config/depend4.in [NEW]
./config/dependN.in [NEW]
The directory search stuff was moved into commence.in, thereby
shortening the Makefile.in prologues.
./doc/html/Dependencies [NEW]
./doc/html/Tutor/Dependencies [NEW]
./examples/Dependencies [NEW]
./src/Dependencies [NEW]
./test/Dependencies [NEW]
./testpar/Dependencies [NEW]
./tools/Dependencies [NEW]
The `.distdep' files were all renamed to `Dependencies' to make them
more obvious. They are required (but may be empty) in every directory
that has a Makefile.in that ends with @CONCLUDE@ (you'll get an
obvious error from make if you forgot to create one).
./bin/trace
./src/H5.c
Added H5E_major_t and H5E_minor_t although tracing only prints the
integer value.
./src/H5E.c
./src/H5Epublic.h
Added tracing information.
./src/H5FDcore.c
./src/H5FDfamily.c
./src/H5FDgass.c
./src/H5FDmpio.c
./src/H5FDsec2.c
./src/H5FDstdio.c
Fixed places where FUNC_LEAVE() evaluated it's argument more than
once.
Added tracing information.
Wrapped long lines.
./config/gnu-flags
Fixed a syntax error when we don't have a gnu compiler.
----------------------
./configure.in
./src/H5config.h.in [REGENERATED]
The /usr/ncsa/{include,lib} directories are only added if they
actually exist. This fixes a warning on some systems.
Checks for the <pdb.h> header file and also for either the PDB or Silo
library, and if found prepares to compile the pdb2hdf program.
./config/distdep
Relative path names for include files are changed to base names since
the makefile contains the logic for searching and since it's likely
that building the .distdep files happed from a location other than
where they would be used in the file system.
./config/conclude.in
Fixed shell errors when `for' loops iterate over nothing for the
`uninstall' target.
./src/H5D.c
./src/H5Oefl.c
File names for the external files are added to the heap when the
dataset is created instead of when the object header is written. This
fixes a rare infinite recursion bug.
./src/H5FD.c
./src/H5FDpublic.h
Optimization to the free list causes H5FD_alloc() usage to go from >10
seconds to <0.4 second for one example (converting a 30MB equation of
state file from PDB to HDF5 format). The optimization is to simply
keep track of the largest item in the free list and not search the
free list when the largest item is not big enough to satisfy the
request.
./src/H5FDcore.c
./src/H5FDcore.h
./test/h5test.c
If the `backing_store' property is true then a flush causes the entire
contents of memory to be written to the specified file. This is in
preparation for the ASCI/red optimizations and is currently tested by
the pdb2hdf `--cached' switch.
./src/H5Odtypes.c
Wrapped three long lines.
./tools/Makefile.in
./tools/pdb2hdf.c [NEW]
A PDB-to-HDF5 translator. It only translates meta data -- the
resulting HDF5 points into the PDB file for the raw data.
ltconfig used just an empty source file to test the share lib
compiler options. SUNSpro CC returns succeed though it issues
a warning too. ltconfig did not like the warning.
Changed it to test with a file containing a simple dummy program.
Platform tested: solaris 2.6 and 2.7
config/solaris2.x:
Changed default compiler to "cc" now that Sunpro CC can produce
static and shared codes correctly.
Also added -s to PROD_CFLAGS to produce leaner binary files.
----------------------
This extensive change is the virtual file layer implementation. I've
ported and tested the sec2, family, and core drivers and only ported
the mpio driver (Albert will test it). So if you need MPIO I would
recommend sticking with the previous version for a while.
You will get a few compile warnings about split and stdio drivers not
being implemented and possibly tracing information not inserted in
some of the drivers. You can safely ignore them but I plan to fix
them.
I'm still working on the split driver because I just realized that it
needs a part of the VFL that isn't written yet.
Documentation is being updated also because there were some minor
changes (mostly just name changes). It should be available on my web
site later this week.
./MANIFEST
./src/Makefile.in
./src/hdf5.h
./src/H5Flow.c [REMOVED]
./src/H5Fstdio.c [REMOVED]
./src/H5Fsec2.c [REMOVED]
./src/H5Fsplit.c [REMOVED]
./src/H5Fmpio.c [REMOVED]
./src/H5Ffamily.c [REMOVED]
./src/H5Fcore.c [REMOVED]
./src/H5MFpublic.h [REMOVED]
./src/H5FD.c [NEW]
./src/H5FDcore.c [NEW]
./src/H5FDcore.h [NEW]
./src/H5FDfamily.c [NEW]
./src/H5FDfamily.h [NEW]
./src/H5FDmpio.c [NEW]
./src/H5FDmpio.h [NEW]
./src/H5FDprivate.h [NEW]
./src/H5FDpublic.h [NEW]
./src/H5FDsec2.c [NEW]
./src/H5FDsec2.h [NEW]
Removed/added files for virtual file layer.
./bin/trace
./src/H5.c
Removed unused public datatypes and added new VFL public
datatypes.
Changed an error message.
./config/BlankForm
./config/dec-flags
./config/gnu-flags
./config/hpux10.20
./config/hpux9.03
./config/irix5.x
./config/irix6.x
./config/solaris2.x
./config/unicosmk
Removed the H5F_OPT_SEEK and H5F_LOW_DFLT constants from the
configuration since they're no longer applicable. The default
file driver is always the sec2 driver and it always optimizes
calls to lseek() or lseek64().
./config/depend.in
C preprocessor errors generated during automatic dependency
building are sent to /dev/null to prevent them from appearing
twice in the make output.
./src/H5AC.c
./src/H5B.c
./src/H5D.c
./src/H5F.c
./src/H5G.c
./src/H5Gent.c
./src/H5Gnode.c
./src/H5HG.c
./src/H5HL.c
./src/H5O.c
./src/H5Oattr.c
./src/H5Odtype.c
./src/H5Oefl.c
./src/H5Oshared.c
./src/H5T.c
./src/H5detect.c
./test/ohdr.c
Changed H5F_ADDR_UNDEF to HADDR_UNDEF to be more consistent
with the `haddr_t' datatype which is now a public type.
./src/H5D.c
./src/H5P.c
./src/H5Ppublic.h
./src/H5Tconv.c
./test/cmpd_dset.c
./test/dsets.c
./test/overhead.c
./test/tselect.c
./test/tvltypes.c
The H5P_DATASET_XFER constant was changed to H5P_DATA_XFER
because the properties apply to all types of I/O operations,
not just datasets.
./src/H5B.c
./src/H5Bprivate.h
./src/H5D.c
./src/H5Dpublic.h
./src/H5F.c
./src/H5Farray.c
./src/H5Fistore.c
./src/H5Fprivate.h
./src/H5Fpublic.h
./src/H5Gnode.c
./src/H5Gpkg.h
./src/H5HG.c
./src/H5HL.c
./src/H5O.c
./src/H5R.c
./src/H5Sall.c
./src/H5Shyper.c
./src/H5Smpio.c
./src/H5Spoint.c
./src/H5Sprivate.h
./test/big.c
./test/h5test.c
./test/istore.c
./testpar/t_dset.c
./testpar/t_file.c
./tools/h5debug.c
./tools/h5ls.c
Modified to work with the virtual file layer by calling H5FD_*
functions instead of H5F_low_* functions and by passing file
access and data transfer properties by object ID instead of
pointer.
Changed H5D_transfer_t to H5FD_mpio_xfer_t since the
COLLECTIVE vs. INDEPENDENT transfer mode is specific to the
MPIO file driver.
Moved MPIO-specific stuff into the MPIO driver.
./src/H5B.c
./src/H5D.c
./src/H5Fprivate.h
The H5F_mpio_* private functions were renamed and placed in
the H5FDmpio driver except those which appeared in H5Smpio.c.
./src/H5E.c
./src/H5Epublic.h
Added major error number H5E_VFL for virtual file layer
related errors.
./src/H5F.c
./src/H5Fprivate.h
Changed the logic that controls whether the boot block is
written. Instead of assuming that the first call to write the
boot block is only to allocate space, I've added a function
argument which makes this explicit.
Changed the way files are compared so that a driver-defined
comparison function can be called. Files which belong to
different drivers are always considered different.
Removed H5F_driver_t since file drivers are now identified by
object ID instead of a special non-user-extendible datatype.
Removed all the hard-coded low-level file properties which
have been replaced by the various file drivers.
./src/H5I.c
./src/H5Iprivate.h
Added the H5I_inc_ref() which was removed a few months ago
since we finally have a use for it.
./src/H5Ipublic.h
Added the H5I_VFL object ID type to identify file drivers in
the virtual file layer.
./src/H5MF.c
./src/H5MFprivate.h
Moved all the allocation/deallocation code into the virtual
file layer which allows file drivers to override much of it.
./src/H5P.c
./src/H5Ppublic.h
Moved file driver-specific code into the various file driver
files.
The H5Pcopy() and H5Pclose() functions make calls into the
virtual file driver to manage the memory for driver-specific
file access and data transfer properties.
./src/H5private.h
./src/H5public.h
The `haddr_t' type is now public.
./test/tfile.c
Added a few more comments.
The SunOS 5.6 version of `sed' must have slashes as delimiters
so I made sure that's all that's used in this script even
though it makes one pattern almost unreadable.
Added `use strict' and declared some variables.
./bin/trace [1.2, 1.3]
Added definitions for H5D_operator_t, H5MM_allocate_t, and
H5MM_free_t and regenerated tracing calls for the affected API
functions.
does cvs checkout only. Moved the "make distclean" code from the "test"
to the "release" part. (A distclean should definitely be applied as
part of the release command. Also, test might fail for other silly
reason, like AFS temporary out. The distclean blew away the option
of trying the tests by hand.
two tasks can be done selectively. This is mainly to allow doing the
test without running the release part automatically. After this is
tested out more to work fine, the "cvs checkout" part will be pulled
out also, so that it is possible to stage the cvs checkout during the
daytime when user is around to provide the AFS token. The test part
can be done at night by cron, provided the latest source has been
"staged". Following a successful test, the user can do the release
part by hand later, again with AFS tokens.
Also added options for using different locations of HDF4 library
and the ARCHIVE areas. Making it useful for different machines
setup.
Changes since 19990615
----------------------
./README
Version number synchronized with library.
./bin/h5vers
If the version number of the library is changed then the first
line of the README file is also changed to something like
This is hdf5-1.2.3 currently under development
The `release' script (which also gets run by `snapshot')
changes that line to include the release date but keeps the
version number the same. The net effect is that the version
numbers in README and H5public.h should now always stay
synchronized.
./bin/snapshot
The CVS checkin comment includes the version number for the
snapshot that was just made.
./tools/testh5toh4
Changed `*-SKIP-*' to `-SKIP-' to be consistent with the other
tests.
----------------------
Remove changes from CVS
./bin/release
Added a `--nocheck' switch which causes the script to not
check the contents of the MANIFEST file against CVS. This is
sometimes useful when you need to make a quick snapshot but
the MANIFEST file is not quite up to date.
./src/H5D.c
Removed warnings for unused variables
./src/H5Fprivate.h
Removed the WIN32 definition for `uint' and changed the data
type for `eof_written' from `uint' to `uintn'. Shouldn't this
really be `hbool_t'?
./src/H5Odtype.c
./src/H5T.c
./src/H5Tconv.c
./src/H5Tpkg.h
./src/H5Tpublic.h
./test/dtypes.c
./doc/html/H5.format.html
Added support for bitfields and opaque data types.
----------------------
./tools/h5ls.c
Added a `--address' (`-a') switch which causes h5ls to display
file addresses for raw data. For contiguous datasets it's just
a nice simple number, but for chunked datasets it's a list of
logical dataset coordinates, file addresses, filter masks, and
storage sizes.
Changed `--dump' switch to `--data'.
./src/H5D.c
./src/H5F.c
./src/H5Fprivate.h
Enhanced the indexed-storage B-tree iterator so it can dump
raw data addresses (and other info) to the standard error
stream.
Added H5Ddebug() so h5ls has a way to dump addresses for
datasets. I'm not sure what else this API function should do,
so I think we should discuss it before we document it. So far,
h5ls is the only thing that uses it, and we can easily change
that.
./src/H5Tconv.c
./test/dtypes.c
Finally had a chance to verify Paul's H5T_conv_s_s (general
string to string conversions) bug fixes and incorporate them
into H5T_conv_f_f (general floating-point to floating-point
conversions) and H5T_conv_i_i (general integer to integer
conversons). Thanks Paul.
./src/H5D.c
./src/H5S.c
./src/H5Sprivate.h
Added performance timers around data space read and write
callbacks. They were already there for the gather/scatter
callbacks.
The timings for read/write callbacks are displayed along with
gather/scatter when data space debugging is turned on.
./bin/iostats
Updated to print totals. Added a `--fast' option that doesn't
do any output except the totals and is much faster.
./bin/trace
Changed __unused__ to UNUSED to match source code.
./config/gnu-flags
Updated error message for pgcc. I've sent bug reports to the
pgcc people but the new version still has the same bug.
./configure.in
./config/conclude.in
./config/depend.in
Fixed dependencies for non-GNU makes when run in a directory
other than the hdf5 source tree.
Updated GNU `make dep' rules to copy the distributed
dependencies for non-GNU makes into the source tree when run
in some other directory.
----------------------
./INSTALL
Reorganized and added some additional examples.
./MANIFEST
./aclocal.m4 [NEW]
./configure.in
./configure [REGENERATED]
./src/H5config.h.in [REGENERATED]
./bin/ltconfig [NEW]
./bin/ltmain.sh [NEW]
Added tests to determine how to compile shared libraries and
how to link programs with them before the libraries are
installed. Also how to install and uninstall shared
libraries. The configure step also prints the names of the
config files it's trying to load for easier debugging.
./bin/config.guess
./bin/config.sub
Replaced with a newer version from GNU. The changes we made
to that file to report `irix6.x' and `FreeBSD' without version
numbers have been incorporated into configure.in instead. In
the future, do not change these two files (see the top of
configure.in instead). By the way, this update was required to
get shared libraries working.
./config/linux [REMOVED]
./config/linux-gnulibc1 [NEW]
./config/linux-gnu [NEW]
./config/alpha-dec [REMOVED]
./config/alpha-dec-osf4.0 [REMOVED]
./config/dec-osf4.x [NEW]
./config/irix5.3 [REMOVED]
./config/irix5.x [NEW]
./config/irix64 [REMOVED]
./config/freebsd
Moved config files around to agree with output from the new
config.guess. The linux file was split into gnu (RedHat),
gnulibc1, and gnulibc2 versions. The alpha-dec file was
removed (I think it was unused) and the alpha-dec-osf4.0 was
changed to dec-osf4.x. The irix5.3 file renamed to irix5.x and
the irix64 file was renamed to irix6.x. The freebsd file was
changed to point to linux-gnulibc1. These changes were tested
on:
Linux 2.0
Linux 2.1
FreeBSD 3.2
Irix 5.3
Irix64 6.2
Irix64 6.4
HP/UX 10.20
OSF1 4.0
./config/alphaev56-dec-osf4.x
./config/irix64
Added warnings similar to linux/freebsd about using compilers
with known bugs.
./config/commence.in
./config/conclude.in
./src/Makefile.in
./test/Makefile.in
./testpar/Makefile.in
./tools/Makefile.in
Added definitions for shared libraries. This has been tested
on the following systems:
Linux 2.0
Linux 2.1
FreeBSD 3.2
Irix 5.3
Irix64 6.2
Irix64 6.4
HP/UX 10.20 static only
OSF1 4.0
If you want to disable use of shared libraries (you probably
do for development purposes since it takes a lot longer to
compile and because you have to run dynamically linked
programs in a special way if the library hasn't been
installed) then add `--disable-shared' to the configure
command line. This is all documented in the INSTALL file.
./bin/release
Temprarily commented out the MANIFEST checking when running
under svf since svf is about to be replaced by a newer
version. This change only affects error checking during the
release process.
./Makefile.dist
./Makefile.in
Added `make check' which does the same thing as `make _test'
since the former is endorsed by the GNU coding style and
people are used to it. The old `make _test' still works too
(and so does `make test' if you use GNU make).
----------------------
./INSTALL
Added warnings and a disclaimer about GNU, DEC, Irix64, and NT
compilers that generate incorrect machine code.
./configure.in
./src/H5private.h
Detects and includes <sys/param.h> which is needed on FreeBSD
before <sys/proc.h> even though we only really using anything
from <sys/proc.h> on the DEC Alpha.
./config/irix64
Turned off warnings for duplicate definitions from the linker
because -lnsl on irix has the same stuff in it as -lc.
./config/irix6.x
Split up the CC and CFLAGS settings like with irix64 so that
compilers besides `-n32' can be used.
./bin/snapshot
The snapshots are tagged with names like hdf5-1_1_52 which is
similar to the way the releases are tagged (cvs doesn't allow
dots in tags).
./test/dtypes.c
./src/H5private.h
./src/H5Tconv.c
Fixed some alignment violations on the DEC when using high
optimization levels. The DEC incorrectly optimizes certain
memcpy() and memmove() calls when the source argument is not
word aligned if the call looks like it's copying an atomic
data type.
./test/hyperslab
Worked around code generation bugs in the Irix64 Mongoose 7.00
compiler by casting some `unsigned long' values to `unsigned'
in an expression.
./src/H5Ocomp.c
Fixed a place where %d was used to print a size_t.
----------------------
./configure.in
./acconfig.h
./configure [REGENERATED]
./src/H5config.h.in [REGENERATED]
./src/H5public.h
./src/H5Omtime.c
Check for <stddef.h>
Checks for `__tm_gmtoff' in `struct tm' because old versions
of GNU libc are different than recent versions. This fixes the
failing mtime test.
./bin/config.guess
./config/freebsd2.2.7 [REMOVED]
./config/freebsd [ADDED]
Changed the name so it works with all versions of FreeBSD.
./src/H5.c
Moved H5F after H5T and H5G in H5_term_library() to satisfy
dependencies.
./src/H5G.c
Fixed a bug that caused H5Gcreate() to fail if the group name
had trailing slashes.
./src/H5Gpublic.h
Changed `group_name' to `name' in a prototype.
./src/Makefile.in
Dynamic library on Linux, but needs for work to be generally
useful.
./src/H5HG.c
./src/H5HGprivate.h
Fixed alignment problems when using old GCC compilers (like
the one shipped with RedHad Linux).
./tools/h5ls.c
Fixed a bug where the contents of the root group could be
listed twice if there was a link back to the root
group. Similarly for groups that are mentioned on the command
line.
Fixed a bug where unknown types were printed with a random
type class number.
./src/H5T.c
./src/H5Tconv.c
./src/H5Tprivate.h
Fixed O(log N) conversion bugs.
----------------------
./INSTALL
Added warning that enabling debugging code can adversely
affect performance even when the debugging isn't turned on at
run-time. Performance testing shows that under certain
circumstances (like data type conversions of compound types)
the H5_timer functions, although only a few lines each,
contribute a fairly large percent to the execution time.
./src/H5T.c
./src/H5Tpkg.h
./src/H5Tpublic.h
Improved the H5Tunregister() function to make unregistering
more flexible. It takes the same arguments as H5Tregister()
but also accepts wild cards. All conversion functions that
match the H5Tunregister() search criteria are removed from the
global type conversion table.
The H5Tregister_hard() and H5Tregister_soft() were combined
into a single function called H5Tregister() which is the
counterpart to H5Tunregister(). A new `persistence' argument
was added to differentiate between the two types of conversion
functions.
The application is allowed to register a hard conversion
function for the no-op conversion path although the library
isn't obligated to call it (it usually does). This is mostly
for completeness, but the application might use it to help
determine if the raw data pipeline was able to use the
optimized path for the case when no type conversion is
necessary. The library doesn't allow this path to be
unregistered although the application can redefine it as often
as it likes.
Fixed the type conversion tables in preparation for MT-safety
and to fix previosly-known design bugs wrt. unregistering
conversion functions or changing the C function associated
with a conversion path. The MT-safety stuff is documented in a
separate white paper.
Increased the conversion function debugging name from 9
characters to 31 characters so the output can be more
descriptive.
Moved conversion path statistics from the H5T_cdata_t member
into the conversion path itself. This makes H5T_cdata_t
contain only application-visible data structures.
./src/H5A.c
./src/H5D.c
./src/H5Ofill.c
./src/H5P.c
./src/H5T.c
Improved the way type conversion functions are called so the
caller doesn't have to check for data type debugging and
increment type conversion timers and statistics.
Changed check for no-op conversion since it is now
application-definable and there may even be more than one
definition at a time in a multi-threaded application (one
thread might be using the no-op conversion path when some
other thread changes its definition -- the first thread still
sees the original defintion until it's done with the
operation).
./doc/html/Datatypes.html
Updated the user guide to reflect the changes to data type
conversion registration functions.
./bin/trace
./src/H5.c
Added tracing support for the new H5T_pers_t data type.
./test/dtypes.c
Added printf to display alignment value if non-aligned data
types are being tested.
./test/h5test.c
Modified the H5Tunregister() calls to use the new
arguments. All 94 of those calls can be replaced by a single
call to the new H5Tunregister() function.
./src/H5.c
Added HAVE_GETTIMEOFDAY around an auto variable and
initialized the elapsed time to zero when gettimeofday() is
not available.
./src/H5F.c
./src/H5Fprivate.h
./src/H5P.c
Added an H5*_init() functions which do the same thing as
H5*_init_interface() but can be called from other packages and
don't do anything if the interface is already initialized.
This fixes a couple memory leaks in applications that
repeatedly close and open the library with H5close().
./src/H5Tconv.c
Optimized some data alignment code in the hardware conversion
functions.
Hardware conversions accumulate statistics about source and
destination data alignment and print that information when the
conversion function is unregistered (usually when the
application exits) if data type debugging is compiled into the
library and enabled at run-time.
The conversion caching was cleaned up for the compound data
type conversion function. It now caches conversion paths in a
manner that will be MT-safe and is much simpler than the old
method. Also cleaned up some array index maps.
./src/H5detect.c
Fixd mispelling of alingemnt.
./src/H5private.h
Changed `TRUE' to `1' in assignment to interface_initialize_g
in FUNC_ENTER macro definition.
./tools/testh5dump.sh
Completely rewritten to make it shorter, better documented,
and conforming to most of the other test outputs.
The comparison of the actual output with the expected output
is insensitive to differences in white space. The test now
passes for the first time on Linux where the output width
wasn't as expected but the output was otherwise correct.
./tools/testfiles/tall-1.ddl
./tools/testfiles/tall-2.ddl
./tools/testfiles/tall-3.ddl
./tools/testfiles/tattr-1.ddl
./tools/testfiles/tattr-2.ddl
./tools/testfiles/tattr-3.ddl
./tools/testfiles/tattr-4.ddl
./tools/testfiles/tcomp-1.ddl
./tools/testfiles/tcomp-2.ddl
./tools/testfiles/tcomp-3.ddl
./tools/testfiles/tcomp-4.ddl
./tools/testfiles/tdset-1.ddl
./tools/testfiles/tdset-2.ddl
./tools/testfiles/tdset-3.ddl
./tools/testfiles/tdset-4.ddl
./tools/testfiles/tgroup-1.ddl
./tools/testfiles/tgroup-2.ddl
./tools/testfiles/tgroup-3.ddl
./tools/testfiles/tlink-1.ddl
./tools/testfiles/tlink-2.ddl
./tools/testfiles/tlink-3.ddl
./tools/testfiles/tlink-4.ddl
./tools/testfiles/tlink-5.ddl
./tools/testfiles/tslink-1.ddl
./tools/testfiles/tslink-2.ddl
Changed `../h5dump' to just `h5dump'.
./config/alpha-dec-osf4.0
Added more warning and optimization switches to the native
compiler.
----------------------
./config/conclude.in
./test/Makefile.in
./tools/Makefile.in
The Makefile $TESTS variable has finally been split into
$TEST_PROGS and $TEST_SCRIPTS with the latter being the names
of shell scripts that need to be run with `/bin/sh'. Now we
don't have to copy each shell script before we run it. NOTE:
THIS CHANGE DOES NOT AFFECT THE PABLO MAKEFILE SINCE THAT FILE
IS A COPY OF A PREVIOUSLY GENERATED MAKEFILE.
./src/Makefile.in
Added H5Snone.c to the source list.
./src/H5G.c
Plugged a memory leak by emptying the object type "isa" table
when the library is closed.
./src/H5Tconv.c
./src/H5Tpkg.h
Added 48 new type functions to take advantage of hardware for
integer type conversions. These functions are not registered
in the conversion table yet because I haven't fully tested
them.
./src/H5Tpkg.h
Removed __unused__ qualifiers from prototypes.
----------------------
./bin/snapshot
Made same fix as for the release script yesterday.
./src/H5D.c
./src/H5Dprivate.h
./src/H5G.c
./src/H5Gprivate.h
./src/H5Gpublic.h
./src/H5O.c
./src/H5Oprivate.h
./src/H5RA.c
./src/H5RAprivate.h
./src/H5T.c
./src/H5Tprivate.h
Improved object type checking. Instead of determining the
object type by trying to open each of the possible types, we
keep a table of associations between object type number (like
H5G_GROUP, H5G_DATASET, H5D_TYPE, and H5D_RAGGED) and an `isa'
function that returns true if the object header has the right
messages to make the object a particular type. This mechanism
also allows specialization of object types by permitting an
object to satisfy more than one `isa' function.
Added `isa' functions for groups, datasets, ragged arrays, and
committed data types.
./src/H5config.h.in
Added HAVE_STAT_ST_BLOCKS. I thought this had already been
added, but apparently not.
./tools/h5ls.c
Removed system include files since they're already included by
H5private.h and since I wasn't including them portably anyway.
By default, 1-byte integer types are printed as integer values
instead of ASCII characters. However, the `-s' or `--string'
command-line switch causes the data to be interpretted as
ASCII. String data types are always printed as character
data.
Ragged arrays are now identified as ragged arrays and h5ls
doesn't descend into the group automatically. This uses the
new object type specialization stuff.
./tools/h5tools.c
./tools/h5tools.h
Added the ability to print 1-byte integer types as either
ASCII or numeric data instead of always ASCII. The default is
to print as numeric data.
----------------------
./bin/trace
./src/H5.c
./src/H5F.c
./src/H5Fprivate.h
./src/H5Fpublic.h
Added a `scope' argument to H5Fflush() which should be either
H5F_SCOPE_LOCAL or H5F_SCOPE_GLOBAL and determines which files
are flushed (just the specified file or the entire virtual
file).
./src/H5F.c
Added reference counts to the H5F_t struct so we get the
correct behavior between H5Funmount() and H5Fclose().
./src/H5O.c
Fixed a memory leak that happens during error handling.
./test/cmpd_dset.c
./test/unlink.c
Fixed a memory leak.
./test/mount.c
Enabled the H5Fclose() test.
----------------------
./COPYING
Reformatted as text instead of C. Removed zlib crew from the
list of contributors since no zlib code is actually in the
hdf5 library.
./INSTALL
./INSTALL.ascired
./MANIFEST
Minor updates for Beta release including version number
change.
./INSTALL_MAINT
Added information about making a release.
./RELEASE
Updated function list based on public header files.
./bin/checkposix
Got rid of complaints about some obvious things.
./doc/html/H5.api.html
./doc/html/RM_H5F.html
./src/H5F.c
./src/H5Fpublic.h
./test/tfile.c
Changed H5Fget_create_template() and H5Fget_access_template()
to H5Fget_create_plist() and H5Fget_access_plist() since that
conforms better to lots of other names.
./doc/html/Datatypes.html
./doc/html/ExternalFiles.html
./doc/html/Files.html
./doc/html/H5.api.html
./doc/html/H5.sample_code.html
./doc/html/RM_H5F.html
./doc/html/RM_H5Front.html
Changed `template' to `property list', etc.
./doc/html/Ragged.html [NEW]
Documentation for ragged arrays.
./src/H5Iprivate.h
./src/H5Ipublic.h
./src/H5I.c
Changed the scope of some symbols to be more local.
./src/H5.c
./src/H5AC.c
./src/H5D.c
./src/H5E.c
./src/H5F.c
./src/H5Ffamily.c
./src/H5Fistore.c
./src/H5Flow.c
./src/H5Fsec2.c
./src/H5Fsplit.c
./src/H5Fstdio.c
./src/H5G.c
./src/H5Gnode.c
./src/H5HG.c
./src/H5I.c
./src/H5O.c
./src/H5Ocomp.c
./src/H5Odtype.c
./src/H5Oefl.c
./src/H5Omtime.c
./src/H5Oname.c
./src/H5P.c
./src/H5S.c
./src/H5Shyper.c
./src/H5Tbit.c
./src/H5Tconv.c
./src/H5V.c
./src/H5Z.c
./src/H5private.h
Fixed some violations of our naming scheme by adding HD to the
beginning of all Posix functions.
----------------------
./MANIFEST
./bin/release
./bin/snapshot
The format of the MANIFEST file has been relaxed -- comments
and blank lines should no longer confuse the tools that use
it.
As before, this file should contain a list of *all* files that
are part of HDF5, which means all files which are managed by
CVS/SVF. However, files can be marked so they're not part of
a release by adding _DO_NOT_DISTRIBUTE_ after the file name.
I've removed all the *.obj files from the distribution by
adding _DO_NOT_DISTRIBUTE_ after their names. I also removed
the old white-papers that might not apply to the current
version of the library and documentation about chunking
performance since it's wrong now that chunk caching is
implemented. Everyone please check the files you're
responsible for to make sure that they should really be part
of a release.
To get a list of all files use
grep '^\.' MANIFEST | cut -f1
To get a list of files for distribution use:
grep '^\.' MANIFEST | grep -v _DO_NOT_DISTRIBUTE_
(These commands assume tabs in the MANIFEST file. If the file
might contain spaces then run it through `unexpand' or `tr'
first).
./configure.in
./configure
./test/ragged.c
Check for sigaction().
./test/Makefile.in
The `clean' target removes the timing tests.
----------------------
./RELEASE
Updated with important changes I made since the second beta.
./src/H5A.c
./src/H5D.c
./src/H5Dprivate.h
./src/H5G.c
./src/H5Gprivate.h
./src/H5R.c
./src/H5Rprivate.h
./src/H5T.c
./src/H5Tprivate.h
Any API function that used to take an `hid_t loc_id' followed
by a `const char *name' can now take any type of object for
the loc_id as long as the object is somehow associated with a
file. Internally, H5G_loc() was modified to return an
H5G_entry_t* instead of an H5G_t* so it's more general.
Among other things, this allows one to retrieve information
about an object like a named type or dataset without knowing
the name of the type or dataset:
int
get_nlinks (hid_t obj)
{
H5G_stat_t sb;
if (H5Gstat(obj, ".", TRUE, &sb)<0) return -1;
return sb.nlink;
}
./test/gheap.c
./test/istore.c
These files needed a couple of changes because they call some
of the internal functions whose H5G_t arguments changed to
H5G_entry_t.
./src/H5A.c
Got rid of all the switch statements for getting symbol table
entries for varous objects and replaced them with a call to
H5G_loc() allowing attributes to automatically apply to any
type of object that belongs to a file.
./test/Makefile.in
Moved the ragged array tests from the normal list of tests to
the `make timings' target.
./test/ragged.c
Added rewrite tests -- rewrite the rows of a dataset changing
the number of rows and the length of each row.
./test/mtime.c
Added a test that checks that H5Gstat() can be called with a
dataset as the first argument.
./src/H5S.c
Added #ifdef HAVE_PARALLEL around code to check for the
HDF5_MPI_OPT_TYPES environment variable because the global
variable that gets set is #ifdef'd.
./bin/release
bzip2 uses .bz2 as the file extension.
----------------------
./MANIFEST
./src/H5R.c [NEW]
./src/H5Rprivate.h [NEW]
./src/H5Rpublic.h [NEW]
./src/Makefile.in
./src/hdf5.h
./test/ragged.c [NEW]
Preliminary support for 2d ragged arrays for Mark Miller and
Jim Reus. Not fully implemented yet. The test is not actually
part of `make test' because we still have some memory problems.
./src/H5E.c
./src/H5Epublic.h
Added H5E_RAGGED as a major error number.
./bin/release
Checks the MANIFEST file against `svf ls' on systems that have
it.
./bin/trace
Fixed a bug that caused arguments of type `void *x[]' to not
be handled.
./src/H5.c
Removed unused variables and changed a couple types to
fix compiler warnings.
Added tracing support for ragged array object ID's and arrays
of pointers.
./src/H5D.c
H5Dcreate() will complain if either of the property lists are
invalid (instead of using the default).
./src/H5D.c
./src/H5Dprivate.h
Split H5Dget_space() into an API and internal function so it
can be called from the new ragged array layer.
./src/H5Fistore.c
Fixed warnings about unsigned vs. signed comparisons.
./src/H5Flow.c
Fixed a warning about a variable being shadowed in the MPI-IO
stuff.
./src/H5Iprivate.h
./src/H5Ipublic.h
Added the H5_RAGGED atom group.
./src/H5Shyper.c
Fixed some freeing-free-memory errors that resulted when
certain arrays were freed but the pointers were left in the
data structures. I simply set the pointers to null after they
were freed.
./src/H5Sprivate.h
./src/H5Sselect.c
Split the H5Sselect_hyperslab() function into an API and a
private function so it could be called from the ragged array
layer.
Added H5S_SEL_ERROR and H5S_SEL_N to the switch statements to
get rid or compiler warnings.
./src/H5Tconv.c
Removed a misleading comment.
./test/bittests.c
Fixed a warning about a printf().
./test/cmpd_dset.c
Fixed warnings about unused variables because of test #11
being commented out.
./bin/trace
Shortened the right margin for the output to allow room for
the `);' at the end of the TRACE() macros.
----------------------
./src/H5Fistore.c
Fixed a bug that caused the wrong number of chunk offsets to
be read or written from the file.
./src/H5Z.c
Fixed a memory bug.
./test/dtypes.c
Removed redundant tests.
./bin/snapshot
Removed Perl code from a shell script. Oops :-)
./src/H5D.c
Removed cvs merge conflicts.
./src/H5Omtime.c
Fixed a typo in the Irix5.3 code.
./src/H5S.c
Fixed a memory leak.
./src/H5Shyper.c
Fixed a bad call to malloc() that didn't allocate enough
memory. Reordered a comparison to eliminate an array bounds
read error.
----------------------
./MANIFEST
./src/H5Ssimp.c [REMOVED]
./src/Makefile.in
Removed H5Ssimp.c since it was no longer used.
./bin/snapshot
Fixed a few minor things to make it work better.
./src/H5D.c
Cleaned up H5D_read() and H5D_write() by combining some code
in each. Added timing calls around the data space calls when
H5S_DEBUG is defined.
./src/H5S.c
./src/H5Sall.c
./src/H5Shyper.c
./src/H5Spoint.c
./src/H5Sprivate.h
Changed H5S_find() so it returns a table entry again instead
of copying the data into a caller-supplied buffer. This
allows the timers to be stored in the table and updated by the
caller. Added H5S_register() to register new table entries
and added entry creation to all the H5S selection
methods. Also changed lots of global functions to static
functions.
./src/H5Fistore.c
Fixed a memory bug in the raw data cache.
----------------------
./doc/html/Datatypes.html
./doc/html/H5.format.html
./src/H5.c
./src/H5Odtype.c
./src/H5T.c
./src/H5Tconv.c
./src/H5Tpkg.h
./src/H5Tpublic.h
./test/dtypes.c
Changed the values of the H5T_str_t type in order to make a
distinction between C's null terminated strings and strings
which are not null terminated.
The string character set and padding method are saved to the
hdf5 file instead of using defaults.
Added conversion function from one fixed-length string type
to another.
./test/chunk.c
Fixed to work with new filter API
----------------------
./bin/release
Added ./Makefile to the distribution again -- it got lost in
the changes last week although it isn't all that important a
file since it gets clobbered by configure anyway.
./bin/trace
./doc/html/Filters.html
./doc/html/H5.format.html
./doc/html/H5.user.html
./src/H5.c
./src/H5D.c
./src/H5Dprivate.h
./src/H5E.c
./src/H5Epublic.h
./src/H5Farray.c
./src/H5Fistore.c
./src/H5Fprivate.h
./src/H5O.c
./src/H5Ocomp.c
./src/H5Oprivate.h
./src/H5P.c
./src/H5Ppublic.h
./src/H5Sall.c
./src/H5Shyper.c
./src/H5Spoint.c
./src/H5Sprivate.h
./src/H5Ssimp.c
./src/H5Z.c
./src/H5Zprivate.h
./src/H5Zpublic.h
./src/hdf5.h
./test/dsets.c
./tools/h5ls.c
Added the data filter pipeline, a generalization of the
compression stuff which allows things like checksums,
encryption, compression, performance monitoring, etc. See
./doc/html/Filters.html for details -- it replaces the
Compression.html doc.
./src/H5T.c
Cleaned up debugging output.
./config/linux
Added checks for egcs and pgcc and changed optimization flags
for the compilers.
./src/H5G.c
./tools/h5dump.c
Fixed compiler warnings in these files and others.
./configure.in
./src/H5private.h
./test/mtime.c
Added a check for difftime() and defined HDdifftime() to do
something else on systems that don't have difftime().
Fixed a bug that caused `h5vers -i' to fail with a usage
message. The new behavior is the same as `h5vers -i release'
which increments the release number.
./bin/snapshot
A shell script intended to be run nightly from cron which
compares the current version of hdf5 against the previous
version. If there are differences it creates a tar file in an
ftp directory, increments the hdf5 release number, and commits
the changes back into the cvs repository. The name of the ftp
directory in which to place the release can be given on the
command line (default /hdf3/ftp/pub/outgoing/hdf5/snapshots).
The CVSROOT environment variable must be set.
Simplified greatly. When run from the top of the hdf5 source
tree with no arguments a new tar file is created in the
`releases' directory. When given one or more of the words
`tar', `compress', `gzip', or `bzip2' each type of archive is
created. The name of the releases directory can be changed
with the `-d DIR' switch.
----------------------
./tools/h5ls.c
If the dataset is of type H5T_NATIVE_CHAR then we print the
value as a string. This is temporary -- I plan to add better
control of this later but needed something now for debugging.
./src/H5Fistore.c
Squashed a bug in the chunk caching code that caused the wrong
chunk to be returned.
./bin/trace
./src/H5.c
Added support for printing values of array arguments when the
size of the array is supplied by some previous argument. You
must declare the argument as an array in order for the
automatic tracing stuff to work. For instance, the third
argument of H5Pset_chunk() is an array whose size is
determined by the second argument `ndims'. Here's how you
should declare it:
herr_t
H5Pset_chunk(hid_t plist_id, intn rank, hsize_t dims[/*rank*/])
The comment inside the `[]' is the name of some previous
integer argument (int, unsigned, size_t, ssize_t, hsize_t,
hssize_t). The trace output will look something like:
H5Pset_chunk(plist=1234567, rank=2, dims=0x112233 {11, 22})
Changed tracing so that data types are printed out
symbolically when possible.
Changed tracing so data type initializations are not printed.
This used to be confusing because lots of H5Tcopy() and
H5Tregister...() calls showed up before the applications first
explicit API call.
./src/H5Ipublic.h
Changed the file atom group from zero to one so printing of
atoms during tracing is more consistent -- they're all big
numbers now.
./src/H5A.c
./src/H5E.c
./src/H5F.c
./src/H5G.c
./src/H5Sselect.c
./src/H5T.c
./src/H5TB.c
./src/H5Z.c
Accidently modified these when working on the tracing, but
nothing should have changed.
./src/H5P.c
Changed the definition of H5Pset_chunk() for tracing.
./src/H5S.c
./src/H5Spublic.h
Changed the definitions of H5Sset_extent_simple() and
H5Screate_simple() for tracing. Changed the FUNC_ENTER() name
for H5Screate_simple() so tracing shows the correct name.
----------------------
./bin/release
The archive names have only three parts to a version number.
Instead of `hdf5-1.2.3d.tar.gz' they will be named like
`hdf5-1.2.3.tar.gz'.
./src/H5public.h
./src/H5.c
Dropped the patch level from the version number. The version
number is now a major number, a minor number, and a release
number.
./doc/html/Version.html
Updated to get rid of patch numbers.
./tools/h5repart.c
Added a `-V' flag like for `h5ls' that prints the version number.
----------------------
./src/H5Flow.c
./src/H5Fprivate.h
./src/H5Fsplit.c
Changed the allocation size request from `size_t' to `hsize_t'
because it was overflowing for the `big' test.
./src/H5detect.c
If `long double' and `double' are the same size then we define
H5T_NATIVE_LDOUBLE to be the same as H5T_NATIVE_DOUBLE.
Similarly for `long' vs. `long long' and `unsigned long' vs.
`unsigned long long'.
./test/Makefile.in
Added `big' to the list of tests to normally run.
./test/big.c
Added a check to see if the file system supports holes and if
it doesn't then the test is skipped.
./RELEASE
Added a couple minor details details about API tracing and
symbolic links.
./src/H5public.h
Added comments about the use of hbool_t. Fixed a comment
spelling error.
./test/testhdf5.h
Changed the way the version number is printed. The old method
was `hdf5-1.2.3d' and the new method is `hdf5 version 1.2
release 3'
./tools/h5ls.c
Only prints the max dimension if it differs from the current
dimension or if verbose mode is enabled. Added switches `-?',
`-h', and `--help' to print a usage message. Added switches
`-v' and `--verbose' to generate more verbose output. Added
switches `-V' and `--version' to print the version number and
exit. The version number is printed like: This is h5ls
version 1.0 release 24'
./bin/h5vers [NEW]
This script prints, sets, and/or increments the hdf5 version
number. It can be run from the top directory or any of the
child directories like src, tools, test, etc. Some examples:
$ h5vers # Display current version
1.0.24
$ h5vers -v
version 1.0 release 24 # Display current version.
$ h5vers -s 5.2.8 # Set version and display
5.2.8
$ h5vers -s 2.1
2.1.0
$ h5vers -s hdf5-1.0.24a.tar.bz2
1.0.24
$ h5vers -s 'version 2.0 release 8'
2.0.8
$ h5vers -s 'junk 22 junk 33 more junk 66 and 99 junk'
33.66.99
$ h5vers -i major # Increment from 1.0.24
2.0.0
$ h5vers -i minor # Increment from 1.0.24
1.1.0
$ h5vers -i release # Increment from 1.0.24
1.0.25
$ h5vers ~/hdf5/src/H5public.h # Use an alternate file
1.0.24
./bin/checkapi [NEW]
Run from the src directory with arguments H5[A-Z]*.c and it
will print the locations of each place where an API function
was called from within the library. Use it as the compile or
grep command under Emacs and you can C-x ` through the list.
./bin/debug-ohdr [NEW]
Keeps track of H5O_open() and H5O_close() debugging messages
and lists the file addresses of the object headers that are
opened but never closed. You must enable the `o' debugging at
configuration time and pipe stderr into this script.
./bin/errors
Added a note to indicate that this script no longer works
because of changes in the HRETURN_ERROR() and HGOTO_ERROR()
macros.
./bin/iostats [NEW]
Watches output from the Linux strace program and accumulates
statistics about low-level access to an hdf5 file. The output
is a list of 2d data points which can be plotted by gnuplot to
show file seeking behavior.
./MANIFEST
Added new files.
----------------------
./README
./bin/release
The first line of the README file is updated automatically
by the `release' script to associate a date with a release
number. For example:
This is hdf5-1.0.9a released on 1998-06-09 18:00 UTC
Please refer to the INSTALL file for installation instructions.
./src/H5public.h
Release number incremented. This happens automatically now if
you run the `release' script in `-batch' mode. I'll stop
documenting changes to this file unless they're something
other than a release number change.
./MANIFEST
Added Elena's new files.
----------------------
./MANIFEST
Alphabetized. `d' comes before `e' :-)
./bin/release
Added the `-batch' option which causes the script to not ask
questions and to automatically update the minor version
number and set the patch level back to `a'. This is intended
to be used for the daily snapshots:
#! /bin/sh
set -e
cd ~/hdf5
make distclean
make test
bin/release -batch tar compress gzip bzip2
mv ./releases/* /repository
./src/H5Z.c
Removed warnings about unused variables when the zlib.h header
file is present but libz.a isn't.
./INSTALL
./configure.in
./doc/html/tracing.html
Made API tracing the default (you still need to define the
HDF5_TRACE environment variable to get results) and change the
name from `--disable-tracing' to `--disable-trace' to make it
consistent with the other switches.
Changed `site config file' to `host config file' to match the
documentation.
./doc/html/H5.user.html
Added a reference to the `tracing.html' file.
----------------------
./bin/trace
./src/H5.c
Added tracing support for H5S_seloper_t and H5S_class_t.
./src/H5Sselect.c
./src/H5S.c
Added tracing statements that weren't inserted previously
because of formatting problems.
./src/H5T.c
./src/H5Tconv.c
./src/H5Tpkg.h
./src/H5Tprivate.h
./src/H5Tpublic.h
./test/cmpd_dset.c
Added H5Tinsert_array() for inserting an array member into a
compound data type. Added support to the struct conversion
function for member arrays. The index permutation is not
supported yet in the conversion (source and destination must
have the same permutations).
----------------------
./bin/trace
./src/H5.c
./src/H5private.h
./src/H5A.c
./src/H5D.c
./src/H5F.c
./src/H5G.c
./src/H5P.c
./src/H5Pprivate.h
./src/H5S.c
./src/H5T.c
Output-only arguments have their addresses printed during
tracing and added symbolic output for the H5F_driver_t
arguments. That's another reason that we should be careful to
add `/*out*/' after arguments that are output-only and
`/*in,out*/' after arguments that are used for both input and
output values.
No internal function calls H5Pget_class() anymore.
./src/H5T.c
./src/H5Tconv.c
./src/H5Tpkg.h
./src/H5Tpublic.h
Added H5Tget_overflow() and H5Tset_overflow() so the
application can query or set a function that will be called
whenever an overflow occurs. Implemented as documented in
previous e-mail except the overflow handler gets two buffers:
one that contains the source value and one to receive the
optional destination value.
./test/dtypes.c
Tests overflow handler.
./src/H5.c
We have to declare fdopen() because I'm getting errors when
compiling on Irix64 even though we include <stdio.h> as
documented in the fdopen() man page.
----------------------
./src/H5T.c
Prints statistics for no-op conversions also.
For now, hardware floating point conversions may or may not
raise SIGFPE depending on the hardware, operating system,
etc. Software conversions never raise SIGFPE and use +Inf or
-Inf for overflow.
./test/dtypes.c
Catches SIGFPE and causes the test to be skipped. Better test
for NaN.
./config/irix5.3
Removed the -U_POSIX_SOURCE because it was removed from the
main makefiles.
./bin/trace
./src/H5S.c
Fixed a typo that prevented tracing info from being added to
new API functions.
----------------------
./html/tracing.html NEW
This entire update is to make it possible for the library to
print the name, arguments, and return value of every API call
without requiring any extra work from developers or app
programmers. This file describes how this all works.
./configure.in
Added the `--enable-tracing' switch. If you use it then the
library will include code to print API function names,
argument names and values, and function return values.
However, you must then turn on the tracing by setting the
HDF5_TRACE environment variable to a file descriptor number.
The default is `--disable-tracing' since enabling it causes a
slight increase in library size and a slowdown resulting from
an extra function call for each API function call (I couldn't
even measure the slowdown :-)
./bin/trace NEW
A perl script that synchronizes the H5TRACE() macro calls in
the *.c files with the function return type and formal
argument names and types. If you use GNU make and gcc then
this will be done automatically, otherwise just invoke this
script with the names of one or more .c files. You could do
it by hand to, but encoding argument types is a little tricky
at first.
./config/commence.in
Added the $(TRACE) macro, which defaults to the no-op.
Added -D_POSIX_SOURCE to the compiler command line.
./src/Makefile.in
Override the default for $(TRACE).
./config/depend.in
Automatically calls $(TRACE) to synchronize the H5TRACE()
macros in any source file that changed. As with makefile
dependencies, one way to force synchronization of all files is
to remove the `.depend' file.
./MANIFEST
Added new files.
./src/H5Eprivate.h
Modified HRETURN_ERROR() and HRETURN() for tracing.
./src/H5.c
./src/H5private.h
This is where the real tracing work really happens, in
H5_trace().
./src/H5A.c
./src/H5D.c
./src/H5G.c
./src/H5P.c
./src/H5S.c
./src/H5Z.c
Added H5TRACE() calls to all API functions. You don't really
need these changes if you don't want to merge your stuff
because they can be generated automatically by going to the
hdf5/src directory and saying ../bin/trace *.c
./src/H5T.c
Added H5TRACE() calls. Other stuff below.
./src/H5E.c
./src/H5Epublic.h
Added H5TRACE() calls. Created a type H5E_auto_t for the
`func' argument of H5Eset_auto() and H5Eget_auto() to make
those arguments easier to parse for tracing. It should also
make it clearer for users that don't know how to read
complicated ANSI data types.
./src/H5F.c
Added H5TRACE() calls. Changed a couple `uintn' argument
types in API functions to `unsigned int' since `uintn' part of
the API. Changed a few "can't" and "cant" error messages to
"unable to".
./src/H5Ipublic.h
Removed H5_DIRECTORY from the H5I_group_t enum. It wasn't
used anywhere.
./src/H5Tconv.c
Removed an unused label.
./src/H5Fistore.c
./src/H5Oattr.c
./src/H5Odtype.c
./src/H5T.c
./test/dsets.c
./test/dtypes.c
Fixed a warning about a variable possibly used before it's
initialized. Added __unused__ to turn off some unused
argument warnings that pop up when debugging is turned off and
optimizations are turned on.
----------------------
./bin/release
./src/H5.c
./src/H5private.h
./src/H5public.h
./src/H5Fpublic.h
Changed the version number constants to names that begin with
H5_VERS_ and added macros that check that the version numbers
in the include files match the version number of the library.
./MANIFEST
./html/H5.user.html
./html/Version.html [NEW]
./html/version.obj [NEW]
./html/version.gif [NEW]
Documented version numbers and the macros, constants, and
functions associated with them.
./bin/versinc
A perl script that increments the minor version number and
sets the patch level back to zero. This is intended to be
invoked from the top of the source tree by a cvs commit
anywhere in the source tree. Quincey?
./src/H5O.c
./src/H5Oprivate.h
Added H5O_count() to count the number of object header
messages of a particular type. Quincey needs this for the
attribute package.
./test/dsets.c
Fixed warnings. Enabled the small strip-mine buffer test.
./config/linux
Added optimizations for the Pentium-Pro for production mode.
----------------------
./MANIFEST
./src/H5HG.c [new]
./src/H5HGprivate.h [new]
./src/H5HGpublic.h [new]
./src/Makefile.in
Added global heaps, H5HG. This compiles but is untested.
./src/H5D.c
./src/H5G.c
./src/H5Gnode.c
./src/H5Gstab.c
./src/H5HL.c [renamed from H5H.c]
./src/H5HLprivate.h [renamed from H5Hprivate.h]
./src/H5HLpublic.h [renamed from H5Hpublic.h]
./src/H5Oefl.c
./src/Makefile.in
./src/hdf5.h
./test/theap.c
Renamed local heaps from H5H to H5HL.
./src/H5AC.c
./src/H5ACprivate.h
./src/debug.c
Added debugging support for global heap collections.
./html/H5.format.html
Ripped out the old small object heap documentation and added
documentation for the new global heap.
./html/H5.api.html
./src/H5P.c
./src/H5Ppublic.h
./src/H5F.c
./src/H5Fprivate.h
./src/H5private.h
The H5Pget_version() function no longer returns a small object
heap version number. Instead, each collection of the global
heap has its own version number instead of a single number in
the file boot block.
./bin/release
Omit files marked for removal by CVS even though the removal
hasn't been committed yet.
./test/iopipe.c
Removed warnings about casting unsigned int to double on Irix64.
./MANIFEST
Removed ./test/testpar/phdf5sup.c
----------------------
./MANIFEST
./configure.in
./configure
./Makefile.in
./bin/distdep [NEW]
./config/conclude.in
./config/depend.in
./src/.distdep [NEW]
./test/.distdep [NEW]
Added some code so non-GNU systems have a list of dependencies
between the .c files and the .h files. Hopefully this works
and y'all don't have to keep saying `make clean' each time you
change a header.
On systems with GNU make, GCC, and Perl, the dependency
information is generated automatically from rules in
config/depend.in as has always been done. But now extra files
called `.distdep' (for `distributable dependencies) are left
in each directory and these are part of CVS and thus
releases. (A `make dep' will create dependencies on demand
without doing anything else.)
On systems lacking one or more of the tools above, the various
`.distdep' files are inserted into the end of the Makefiles.
If you do developement on one of these systems you'll have to
update the `.distdep' and/or Makefile by hand, or wait until
you have access to a GNU system and do a `make dep'.
New feature
Problem:
No support for ASCI Red configure.
Solution:
Support for ASCI Red configure.
sasn100: ./configure -v tflop
sasn100: ./configure -v janus
janus: ./configure -v
Platform tested:
TFLOPS Application Server - sasn100
ASCI Red machine - janus
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
Albert Cheng
Scientific Data Technologies Group 217-244-1955 voice
Information Technologies Division, NCSA 217-244-1987 fax
University of Illinois at Urbana-Champaign
----------------------
./bin/release
Changed default to not tag CVS sources.
./src/H5F.c
Replaced a constant switch with preprocessor directives.
Removed a local variable which was set but not used.
./src/H5Fprivate.h
Changed `long long' to `int64' to get rid of ansi warnings in
a few places.
Fixed bugs in INT64DECODE() and UINT64DECODE() for big-endian
architectures. This fixes all the bugs with the Irix -64
compile.
./src/H5F.c
The default address and length sizes are set according to the
sizeof(size_t) now that the bugs have been fixed.
./src/H5Fpublic.h
Removed a trailing comma in an enumerated type.
./src/H5Fstdio.c
./src/H5Fsec2.c
Added two more calls to fseek64() and lseek64(). Removed `long
long' in place of `int64' to suppress -ansi warnings.
./src/H5P.c
Replaced a FAIL with H5F_LOW_ERROR.
./src/H5private.h
./configure.in
Increased version number to hdf5-1.0.1a since we've already
released hdf5-1.0.0a. Include <sys/types.h>. Fixed
indentation. Fixed detection of off64_t for old Irix systems
where it might be a struct.
./src/Makefile.in
Moved a comment from the shell to the makefile since some
versions of sh barf on interactive comments.
./config/linux
Allow overriding of the CC variable from the command-line. It
still defaults to gcc but this allows us to specify a complete
path from test scripts by saying:
CC=/usr/local/tools/gnu/gcc sh configure
----------------------
./configure.in
./src/H5Fprivate.h
./src/H5Fsec2.c
We now detect and use lseek64() on systems that have it (e.g.,
Irix64) and are able to generate >2GB files on Irix XFS file
systems (and anything else that supports large files). This
change also removed some warning messages from the Irix `-64'
compiler.
> $ ls -l istore.h5
> -rw-r--r-- 1 matzke meshtv 8605436856 Feb 17 14:03 istore.h5
./configure.in
./src/H5Fprivate.h
./src/H5Fstdio.h
We now detect and use fseek64() on systems that have it (e.g.,
Irix64) and are able to generate >2GB files on Irix XFS file
systems (and anything else that supports large files). This
change also removed some warning messages from the Iris `-64'
compiler.
./src/H5E.c
./src/H5Epublic.h
Added the H5E_OVERFLOW error to signal file address overflow.
./src/H5Fpublic.h
./examples/h5_chunk_read.c
./examples/h5_compound.c
./examples/h5_extend_write.c
./examples/h5_group.c
./examples/h5_read.c
./examples/h5_write.c
./html/Datasets.html
./html/Files.html
./html/H5.api.html
./html/H5.intro.html
./html/H5.sample_code.html
./html/ph5example.c
./html/review1.html
./test/cmpd_dset.c
./test/dsets.c
./test/extend.c
./test/tfile.c
./test/th5p.c
./test/theap.c
./test/tohdr.c
./test/tstab.c
./testpar/phdf5.c
Renamed file access constants to follow the naming scheme.
Also changed the base names a little to be more accurate as to
what they do. The old names H5ACC_WRITE and H5ACC_OVERWRITE
will temporarily work.
H5ACC_DEFAULT --> H5F_ACC_RDONLY for H5Fopen()
H5ACC_DEFAULT --> H5F_ACC_EXCL for H5Fcreate()
H5ACC_WRITE --> H5F_ACC_RDWR
H5ACC_OVERWRITE --> H5F_ACC_TRUNC
Albert or Kim: The H5ACC_INDEPENDENT and H5ACC_COLLECTIVE
macros in H5Fpublic.h should be an enum typedef and have names
more like H5F_MPIO_INDEPENDENT and H5F_MPIO_COLLECTIVE. Also
change the access_mode argument of H5Cset_mpio().
H5Fcreate() and H5Fopen() are more strict now about which
flags are acceptable for the operation.
./src/H5Fprivate.h
./src/H5F.c
./src/H5C.c
Changed the file access template to make it more general. A
union contains a struct for each type of low-level driver and
the default template is initialized at run-time.
./src/H5Fpublic.h
./src/H5F.c
Added H5Fget_access_template() and cleaned up
H5Fget_create_template().
./src/H5C.c
The H5Cset_mpi() no longer trashes the file access template
when an error is detected. We check for errors and *then*
update the file access template.
Added H5C_close() so Albert and Kim have a place to release
the MPI communicator and info from the file access property
list.
Kim or Albert: I notice in H5Cset_mpi() you copy the MPI
communicator. Do you need to do something similar in
H5C_copy()?
./src/H5F.c
Added more error checking for the file creation and access
property lists because it used to be possible to make the
library dump core by swapping the creation and access property
list ID numbers of H5Fcreate().
./test/istore.c
./test/tfile.c
./test/th5p.c
./test/theap.c
./test/tohdr.c
./test/tstab.c
./testpar/testphdf5.c
One must pass H5C_DEFAULT as the file creation or access
property list in order to get the default property list. It
is no longer possible to pass zero or any other arbitrary bad
object ID.
./src/H5Fcore.c
./src/H5Ffamly.c
./src/H5Flow.c
./src/H5Fmpio.c
./src/H5Fsec2.c
./src/H5Fsplit.c
./src/H5Fstdio.c
./src/H5MF.c
The file access property list is passed to all H5F_low_...()
functions and to the drivers.
./src/H5Fcore.c
The block size can be set at run time on a per-file basis
instead of at compile time across all files. The "5000 items in
a group test" now takes 1.6 seconds.
./src/H5private.h
Removed inclusion of mpi.h and mpio.h since they're included
from H5public.h.
./src/H5Cpublic.h
./src/H5C.c
Added H5Cset_stdio(), H5Cset_sec2(), H5Cset_core(),
H5Cset_split(), and H5Cset_family() in addition to the
H5Cset_mpio() that Kim and Albert already wrote. We still
need the H5Cget_driver() and an H5Cget...() counterpart for
each of those functions. The split and family drivers still
need a little work but I'm checking this in anyway.
----------------------
./RELEASE
Added Library functions that I missed the first time.
./html/Datasets.html
Added an example for Elena's question about how to read a
single member of a compound data type so it becomes an array
of that member in memory.
./src/H5Pprivate.h
Fixed the prototype for H5P_get_hyperslab() to match the
definition.
./src/H5Psimp.c
Oops, added the kludge back in for the offset argument, which
is still an `intn' instead of a `size_t'.
./src/H5.c
./src/H5public.h
./src/H5F.c
./src/H5T.c
./src/H5Tpublic.h
Changed H5init() to H5open() and added an H5close() to fit our
create/open/close paradigm. The H5open() happens
automatically on the first call to the HDF5 library. The
H5close() happens automatically on exit() (unless the app
turns off that feature). H5close() closes all datasets and
files and releases all resources used by the library.
./test/dsets.c
Added calls to H5open() and H5close() to test them.
./test/dtypes.c
Removed call to H5init() since we no longer need it there.
./src/H5Fstdio.c
Changed the PABLO_MASK to the right value. Thanks Kim.
----------------------
./INSTALL
./INSTALL_MAINT
./README
Updated installation instructions for hdf-5.0.0a.
./RELEASE
Updated release notes. Needs more work.
./bin/release
The tarballs include the name of the root directory like
hdf-5.0.0a so it doesn't have to be explicitly created when
the files are extracted.
----------------------
./MANIFEST
Added new files.
./bin/Makefile.dist [NEW]
This file becomes the default top-level Makefile which invokes
configure with no arguments and then re-runs make. It's for
those people that don't read the INSTALL file.
./bin/release [NEW]
Build HDF release tarballs. Arguments are a list of tarball
types and are: tar, compress, gzip, or bzip2. The default is
gzip. If the only argument is `all' then all types of tarballs
are created. The results are put in the `releases' directory.
Make sure you keep MANIFEST up to date. This program requires
perl-5.003 or better.
./src/H5AC.c
Fixed a printf format.
Perl script that looks for Posix functions that haven't been
protected by adding `HD' to the beginning of the name. It
takes a list of .c file names as arguments.
./bin/errors NEW
A filter that takes a function prologue and function body as
standard input and updates the error list in the prologue
based on the function body. You must add the `ERRORS' or
`Errors:' field to the prologue before you pass it through
this filter or else the errors come out as a separate
comment. The errors field must be terminated with a blank
line in the prologue so we know where the end is.
I may enhance this in the future to take an entire file as
standard input instead of individual functions.
./bin/config.sub NEW
Shell scripts for guessing the CPU, vendor name, and operating
system. Used by configure.
./bin/install-sh NEW
A portable BSD-compatible install script which is used if a
BSD-compatible `install' can't be found.