Automake version upgrade
Description:
Upgraded automake version from 1.6.2 to 1.9.5.
Changed bin/reconfigure script to use automake 1.9.5.
Changed configure.in and Makefiles to use new FCFLAGS and FC variables
instead of FFLAGS and F9X.
Automake and configure should now do the lion's share of the work
supporting Fortran 9X; macros in acsite.m4 are now mostly unused (will
be cleaned later).
Altered how configure handles pmake; now root-level Makefile.in is
processed by bin/reconfigure to have a .MAKEFLAGS target, since
automake no longer allows us to define unused variables.
Configure now always checks for C++ compiler even if it is not
used, since automake thinks this is the Right Thing To Do and
will break otherwise.
Platforms tested:
Sol, copper, heping, mir, sleipnir, eirene, pommier, kelgia, modi4.
Removed GASS configuration and software packages associated with
it. The following software are no longer configurable.
checking for main in -lcrypto... yes
checking for SSL_get_version in -lssl... yes
checking globus_common.h usability... yes
checking globus_common.h presence... yes
checking for globus_common.h... yes
checking for globus_module_activate in -lglobus_common... yes
checking for main in -lglobus_gass_cache... yes
checking for main in -lglobus_gaa... yes
checking for main in -lglobus_gss... yes
checking for main in -lglobus_gss_assist... yes
checking for main in -lglobus_io... yes
checking for main in -lglobus_gass_transfer_assist... yes
checking for main in -lglobus_gass_transfer... yes
checking for globus_gass_open in -lglobus_gass_file... yes
Platforms tested:
h5committested (but copper was down.) tested in modi4 too.
Purpose:
Bug fix
Description:
modi4 dies during build with strange errors.
The root cause of these is a two-year-old hack in HDF5's libtool
script that only takes effect on IRIX.
Solution:
Edited the libtool hack (by editing ltmain.sh) to correct a bug in
the hack.
Also made sure that compiler-specific DEFAULT_LIBS are used
when linking.
Platforms tested:
sleipnir, copper, modi4, sol
Bug fix
Description:
Arabica exhibited strange errors when linker found wrong versions of
header files. This happened because include directories were
given to linker in the wrong order.
Solution:
Move include directories from AM_CFLAGS variable to INCLUDES
variable to put them before CPPFLAGS variable. Trust me, it works.
This bug may also have contributed to strange errors on other platforms
(kelgia?).
Platforms tested:
copper, sleipnir, arabica.
(h5dump broke while building on arabica, but this happened in
a clean checkout, too).
Bug fix
Description:
pmake (on modi4, for instance) complains about undefined variables
if it is run without the -V flag, which turns those errors to warnings.
Solution:
Added test to configure.in to see if $MAKE will allow Makefiles
with undefined variables. If not, sets -V flag in AM_MAKEFLAGS.
Ensured that all custom make targets use AM_MAKEFLAGS.
Also defined all variables that caused errors in top-level Makefile.am.
This means that pmake can be used to build hdf5 *from the top level
only*. To run make from a subdirectory, still need to use -V flag
(or use make or gmake).
Platforms tested:
modi4, heping, copper, sleipnir
Purpose:
Bug fix
Description:
Parallel builds were breaking in tools/lib
Solution:
talign didn't realize it depended on libh5tools.la because its
dependencies listed the full path (../../tools/lib/libh5tools.la).
Changed this, and made similar changes in a couple of other
directories.
This checkin should also add the --foreign flag to every Makefile.in
Platforms tested:
sleipnir (minor change)
New feature
Description:
Add basic code for new B-tree implementation. They don't do much yet,
aren't hooked up to anything yet and the format may change, but I'd like to
start getting them into the daily tests.
Platforms tested:
FreeBSD 4.11 (sleipnir) w/parallel
Too minor to require h5committest
Bug fix
Description:
Found the permanant fix to automake/CVS dependency problem
Solution:
Added AM_MAINTAINER_MODE macro to configure.in.
Now automake will never try to regenerate Makefiles, Makefiles.in,
configure, H5config.h, etc. when they are out of date, nor will it
print any warnings.
Developers should be very very careful to use reconfigure script,
and can add --enable-maintainer-mode flag to configure on heping
to regenerate these files correctly.
Platforms tested:
heping sleipnir copper
Bug fix
Description:
Configuration files' timestamps were incorrect.
Solution:
Update Makefiles.in. Also added correct paths to autotools on heping,
so heping build should be able to re-generate configuration files even
if they are still broken.
Platforms tested:
sleipnir
Bug fix
Description:
Dependencies between configure files (aclocal, configure.in, configure,
Makefiles.am and .in) are still causing Makefiles to try to run autotools
during build.
Solution:
Committed all Makefiles.in to update their timestamps.
As a temporary measure, forcibly prevented automake from running
autotools during build by redefining the variables it uses.
Platforms tested:
sleipnir (No changes to Makefile content)
Bug fix
Description:
Different compilers use different flags to include Fortran module files
Solution:
Changed boilerplate to use configure variable rather than hardcoded -M flag.
Platforms tested:
sleipnir, sol, copper
Configuration feature
Description:
HDF5 now uses automake to generate Makefiles
Solution:
Makefile.in files are now generated from Makefile.am files.
To reconfigure (after chaning a Makefile.am or configure.in):
/bin/sh bin/reconfigure.sh
Platforms tested:
Many
Added ability to select which io performance types to graph
Description:
Originally, POSIX, MPIO, and PHDF5 were all graphed. Now, any subset of these can be graphed individually via the io_type command-line param.
Platforms tested:
heping
Misc. update:
Feature additions:
script has support for all sorts of interesting plots.
fix axis scaling
Description:
Added support for 2-d and 3-d plots of the data. Command-line options are also added to customize these plots.
Axis tick labels are now much improved and match the data and are logically spaced.
Platforms tested:
heping (gnuplot must be installed to do the plots)
Misc. update:
Bug fixes (provided by Leon Arber).
Description:
gen_report spewed many messages and could not report speeds that are
less than 100MB/s.
Solution:
Removed -w which prints warning messages.
Fixed code to recognize speeds under 100MB/s.
Platforms tested:
Eirene.
Bug fix.
Description:
Function _flushall() is not available on Cygwin. So a Cgywin macro is added so the compiler will not call this function when building HDF5 on Cygwin.
Solution:
Change the following codes:
#ifdef H5_HAVE_SYSTEM
#ifdefined WIN32
_flushall();
#else
HDsystem ("sync");
HDsystem ("df >/dev/null");
#endif
to:
#ifdef H5_HAVE_SYSTEM
#if defined(WIN32) && ! defined(__CYGWIN__)
_flushall();
#else
HDsystem ("sync");
HDsystem ("df >/dev/null");
#endif
Platforms tested:
Cygwin 1.5.11, VC 6.0 on XP.
Linux 2.4 (heping)
Solaris 2.7 (arabica)
Misc. update:
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:
Description: Restore 6 old error API functions back to the library to be backward
compatible with v1.6. They are H5Epush, H5Eprint, H5Ewalk, H5Eclear, H5Eset_auto,
H5Eget_auto. These functions do not have error stack as parameter.
Solution: Internally, these functions use default error stack.
Platforms tested: h5committest and fuss.
Misc. update: RELEASE.txt
Purpose:
HDF5 now supports SZIP with no encoder.
Description:
SZIP can be configured to have both encoder and decoder or just to have the decoder. HDF5 can now query the configuration of any filter, and will throw errors if users try to write using a filter with encoding disabled.
Solution:
Added H5Zget_filter_info function, changed API for H5Pget_filter and H5P_get_filter_by_id. See SZIP RFC.
Platforms tested:
Copper (fortran, C++, parallel), Sleipnir (C++), Arabica (fortran, C++), Verbena (fortran, C++)
Misc. update:
Code cleanup
Description:
Reduce compiler warnings on SGI IRIX
Platforms tested:
FreeBSD 4.10 (sleipnir)
SGI IRIX6 (Cheryl's machine)
Too minor to require full h5committest
Bug fixes
Description:
Updated dependencies
Fixed error with C++ compiler builds of main library
Added H5Pset_data_transform to MPE info
Platforms tested:
FreeBSD 4.9 (sleipnir)
Description: This program test performance of create or open datasets and create
attributes for datasets.
Platforms tested: h5committest
Misc. update: MANIFEST
Code cleanup
Description:
Clean up a few loose ends and warnings for the 1.6 compatibility changes
to the error API.
Platforms tested:
FreeBSD 4.9 (sleipnir)
too minor to require h5committest
Code cleanup
Description:
Clear up a couple of minor issues with compiling the library with a C++
compiler.
Platforms tested:
FreeBSD 4.9 (sleipnir)
Too minor to require h5committest
Updated the copyright notice--mostly by rearranging
some text to make them consistent.
Solution:
Platforms tested:
"h5committested"--sol is down, so, no SUn test.
Misc. update:
feature change, new feature.
Description:
Had the HDF5_PARAPREFIX default set to /tmp.
Changed it to null so that data files are created in current directory
by default.
Also added a code to print data filename used when debug level > 0.
Platforms tested:
Tested in modi4 parallel.
Misc. update:
Code cleanup
Description:
Remove the fill-value option entirely, since the 1.5.x library's default
behavior is now the same as the 1.4.x behavior and also there is no
corresponding code for implementing fill-values with the POSIX or MPI-I/O tests.
Platforms tested:
FreeBSD 4.8 (sleipnir) w/parallel
too small to need h5committest
Code cleanup
Description:
Change some variables that are keywords in C++ to non-keywords.
Platforms tested:
FreeBSD 4.8 (sleipnir)
too minor to require full h5committest
minor improvment
Description:
corrected an omission in the usage help output.
Added more parameters checks.
Solution:
Platforms tested:
Only in modi4.
Misc. update:
Bug Fix
Description:
On HP-UX platforms, the "open()" function needs to specify that the
file being created has permissions S_IRWXU, which means that it gives
read/write/execute permissions to the user who created the file (how
nice of it!).
Solution:
Added the S_IRWXU flag to the open() function call.
Platforms tested:
HP-UX 11
Arabica,
Modi4,
Verbena
Misc. update:
Compatibility fix
Description:
The H5P[set|get]_fapl_mpiposix calls changed between v1.4.x and v1.5.x.
Solution:
Wrap them in the v1.4 backward compatibility #ifdefs and update tests, etc.
Platforms tested:
FreeBSD 4.8 (sleipnir) w/paralle & v1.4 compatibility
h5committest pointless
"Bug fix"
Description:
This version is showing very slow HDF5 I/O write speeds (about 40%
of MPIO). It was because the library is writing fill values by
default. There is a no-fill option which set to FALSE. Changed
it to TRUE since MPIO and POSIX are not doing fill values.
This is just a stop gap fix since the better fix would be to
change the library to not write fill-values in this case.
Platforms tested:
modi4 parallel and LANL Q paralllel.
No h5committest test because it is very trivia.
Misc. update:
Purpose:
Added sanity check that min number of processes be not greater
than max number of processes.
Platforms tested:
copper only since this is a very simple change.
Misc. update:
Bug fix.
Description:
The default setting of max transfer size is larger than
the default setting of number of bytes per process, result
in complaints that Transfer size is too big.
Solution:
Cap the min and max transfer size with number of bytes per process.
Always cap min transfer size with the max xfer size.
Platforms tested:
Copper.
Misc. update:
Code Improvements/Bug Fixes
Description:
Comparison of equality of a double/float variable to 0.0 is not
guaranteed to work and is bad practice.
Solution:
Test that the absolute value of the variable is < a very small
positive number.
Platforms tested:
Modi4 (Parallel & Fortran)
Verbena (C++ & Fortran)
Arabica (Fortran)
Misc. update: