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.