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.