Automake version upgrade
Description:
Upgraded automake version from 1.6.2 to 1.9.5.
Changed bin/reconfigure script to use automake 1.9.5.
Changed configure.in and Makefiles to use new FCFLAGS and FC variables
instead of FFLAGS and F9X.
Automake and configure should now do the lion's share of the work
supporting Fortran 9X; macros in acsite.m4 are now mostly unused (will
be cleaned later).
Altered how configure handles pmake; now root-level Makefile.in is
processed by bin/reconfigure to have a .MAKEFLAGS target, since
automake no longer allows us to define unused variables.
Configure now always checks for C++ compiler even if it is not
used, since automake thinks this is the Right Thing To Do and
will break otherwise.
Platforms tested:
Sol, copper, heping, mir, sleipnir, eirene, pommier, kelgia, modi4.
Removed GASS configuration and software packages associated with
it. The following software are no longer configurable.
checking for main in -lcrypto... yes
checking for SSL_get_version in -lssl... yes
checking globus_common.h usability... yes
checking globus_common.h presence... yes
checking for globus_common.h... yes
checking for globus_module_activate in -lglobus_common... yes
checking for main in -lglobus_gass_cache... yes
checking for main in -lglobus_gaa... yes
checking for main in -lglobus_gss... yes
checking for main in -lglobus_gss_assist... yes
checking for main in -lglobus_io... yes
checking for main in -lglobus_gass_transfer_assist... yes
checking for main in -lglobus_gass_transfer... yes
checking for globus_gass_open in -lglobus_gass_file... yes
Platforms tested:
h5committested (but copper was down.) tested in modi4 too.
Bug fix
Description:
Fortran builds were dying with unknown flags.
Solution:
Fortran builds should be static, not shared. Static flags had been specified
for libraries, but apparently were also needed for executables.
Solved problem by adding static flag to everything in fortran directories.
Platforms tested:
mir, eirene
Bug fix
Description:
Some machines and compilers were having trouble creating fortran libraries
as shared libraries.
Solution:
Added flag in Makefiles.am to create fortran libraries as shared libraries.
(This is how HDF5 was set up before automake changes; I forgot to add
these flags, and it didn't cause a problem until now.)
Platforms tested:
sleipnir, eirene, verbena
Misc. update:
Purpose:
Bug fix
Description:
modi4 dies during build with strange errors.
The root cause of these is a two-year-old hack in HDF5's libtool
script that only takes effect on IRIX.
Solution:
Edited the libtool hack (by editing ltmain.sh) to correct a bug in
the hack.
Also made sure that compiler-specific DEFAULT_LIBS are used
when linking.
Platforms tested:
sleipnir, copper, modi4, sol
Bug fix
Description:
While commenting out some code in a Makefile.am, I missed two lines.
Solution:
Commented out those lines.
Platforms tested:
verbena, heping
Misc. update:
Configure feature
Description:
Changed bin/reconfigure.sh script to use autotools in AFS.
Solution:
Previously, the only machine with the correct versions of autoconf and
automake was heping. Now both tools are installed in AFS, so
in theory any hdf machine can be used to run the reconfigure script.
Platforms tested:
heping, eirene, verbena.
On sleipnir and arabica the autotools were unable to find a version
of m4 that was new enough for them.
Misc. update:
Bug fix
Description:
Arabica exhibited strange errors when linker found wrong versions of
header files. This happened because include directories were
given to linker in the wrong order.
Solution:
Move include directories from AM_CFLAGS variable to INCLUDES
variable to put them before CPPFLAGS variable. Trust me, it works.
This bug may also have contributed to strange errors on other platforms
(kelgia?).
Platforms tested:
copper, sleipnir, arabica.
(h5dump broke while building on arabica, but this happened in
a clean checkout, too).
Bug fix
Description:
pmake (on modi4, for instance) complains about undefined variables
if it is run without the -V flag, which turns those errors to warnings.
Solution:
Added test to configure.in to see if $MAKE will allow Makefiles
with undefined variables. If not, sets -V flag in AM_MAKEFLAGS.
Ensured that all custom make targets use AM_MAKEFLAGS.
Also defined all variables that caused errors in top-level Makefile.am.
This means that pmake can be used to build hdf5 *from the top level
only*. To run make from a subdirectory, still need to use -V flag
(or use make or gmake).
Platforms tested:
modi4, heping, copper, sleipnir
Purpose:
Bug fix
Description:
Make uninstall in /fortran/testpar was trying to remove install/bin directory.
Solution:
Remove the extra line that was copy-pasted into Makefile.am by mistake. Oops.
Platforms tested:
Copper.
Bug fix
Description:
Parallel make was having trouble in fortran/testpar directory
on sol.
Solution:
Added a dependency to ensure that things are built in the correct order.
Platforms tested:
sol
Bug fix
Description:
/fortran/testpar build breaks when making in parallel
Solution:
Massage depdendencies slightly to ensure that object files are
built after module file.
Also made sure that module file gets cleaned properly.
Platforms tested:
eirene
Purpose:
Bug fix
Description:
Parallel builds were breaking in tools/lib
Solution:
talign didn't realize it depended on libh5tools.la because its
dependencies listed the full path (../../tools/lib/libh5tools.la).
Changed this, and made similar changes in a couple of other
directories.
This checkin should also add the --foreign flag to every Makefile.in
Platforms tested:
sleipnir (minor change)
New feature
Description:
Add basic code for new B-tree implementation. They don't do much yet,
aren't hooked up to anything yet and the format may change, but I'd like to
start getting them into the daily tests.
Platforms tested:
FreeBSD 4.11 (sleipnir) w/parallel
Too minor to require h5committest
Bug fix
Description:
Found the permanant fix to automake/CVS dependency problem
Solution:
Added AM_MAINTAINER_MODE macro to configure.in.
Now automake will never try to regenerate Makefiles, Makefiles.in,
configure, H5config.h, etc. when they are out of date, nor will it
print any warnings.
Developers should be very very careful to use reconfigure script,
and can add --enable-maintainer-mode flag to configure on heping
to regenerate these files correctly.
Platforms tested:
heping sleipnir copper
Bug fix
Description:
Configuration files' timestamps were incorrect.
Solution:
Update Makefiles.in. Also added correct paths to autotools on heping,
so heping build should be able to re-generate configuration files even
if they are still broken.
Platforms tested:
sleipnir
Bug fix
Description:
Dependencies between configure files (aclocal, configure.in, configure,
Makefiles.am and .in) are still causing Makefiles to try to run autotools
during build.
Solution:
Committed all Makefiles.in to update their timestamps.
As a temporary measure, forcibly prevented automake from running
autotools during build by redefining the variables it uses.
Platforms tested:
sleipnir (No changes to Makefile content)
Bug fix
Description:
Different compilers use different flags to include Fortran module files
Solution:
Changed boilerplate to use configure variable rather than hardcoded -M flag.
Platforms tested:
sleipnir, sol, copper
Configuration feature
Description:
HDF5 now uses automake to generate Makefiles
Solution:
Makefile.in files are now generated from Makefile.am files.
To reconfigure (after chaning a Makefile.am or configure.in):
/bin/sh bin/reconfigure.sh
Platforms tested:
Many
Description: Removed PABLO from the source
Solution:
Platforms tested: arabica with 64-bit, copper with parallel,
heping with GNU C and C++ and PGI fortran (but
I disabled hl, there is some weird problem only
on heping: F9XMODFLAG is not
propagated to the Makefile files
Misc. update:
Bug fix
Description:
Correctly retire the H5E_LEN setting, now that the FORTRAN and C++ APIs
have been corrected to not use it either.
Solution:
Pass in the string buffer length for FORTRAN
In the C++ API, call H5Eget_msg() in a manner similar to the way
H5Fget_name() is called.
Platforms tested:
Linux 2.4 (heping) w/FORTRAN & C++
Solaris 2.7 (arabica) w/FORTRAN & C++
Description: Fortran module search directories included ../src and
../../fortran/src directories; this was defined in
acsite.m4 file in order for fortran and HL fortran tests
to compile. Those flags were included in h5fc and h5pfc scripts.
Solution: Removed those directories from acsite.m4 file and updated
Makefile.in files.
Platforms tested: sequential on arabica and parallel on copper
including HL Fortran
Misc. update:
Purpose: Bug fix
Description: Test reported failure because of the wrong
testing condition when szip didn't have encoder
Solution: Fixed the code
Platforms tested: copper with
SZIP not present
SZIP encoder/decoder present
SZIP decoder present
Misc. update:
Description: libh5test_fortran.a(la) files were installed by
make install
Solution: Brought changes back from 1.6
Platforms tested: mir, eirene
Misc. update:
Description: Fortran szip test had a wrong logic; as a result
wrong return values were reported in the absence of
the SZIP library, and it was skipped when encoder was
disable
Solution: Fixed the test
Now SZIP fortran test should report "SKIP" only
when SZIP is not configured in.
Platforms tested: tg-login in parallel mode, copper,
mir with new PGI compilers and shared
SZIP libraries. All platforms were tested with
SZIP not available
SZIP with encoder/decoder
SZIP with decoder only
Misc. update:
bug fix and document.
Description:
Unix and probably other systems too, has a small exit value range
such as 1 byte. So, exit(256) may end up the same as exit(1).
Added caution message to the exit wrappers and changed test programs
to exit(1) when errors detected.
Platforms tested:
tested in copper. verified here that exit(256) was treated just like
exit(0).
Bug Fix/Code Cleanup/Doc Cleanup/Optimization/Branch Sync :-)
Description:
Generally speaking, this is the "signed->unsigned" change to selections.
However, in the process of merging code back, things got stickier and stickier
until I ended up doing a big "sync the two branches up" operation. So... I
brought back all the "infrastructure" fixes from the development branch to the
release branch (which I think were actually making some improvement in
performance) as well as fixed several bugs which had been fixed in one branch,
but not the other.
I've also tagged the repository before making this checkin with the label
"before_signed_unsigned_changes".
Platforms tested:
FreeBSD 4.10 (sleipnir) w/parallel & fphdf5
FreeBSD 4.10 (sleipnir) w/threadsafe
FreeBSD 4.10 (sleipnir) w/backward compatibility
Solaris 2.7 (arabica) w/"purify options"
Solaris 2.8 (sol) w/FORTRAN & C++
AIX 5.x (copper) w/parallel & FORTRAN
IRIX64 6.5 (modi4) w/FORTRAN
Linux 2.4 (heping) w/FORTRAN & C++
Misc. update:
Port
Description:
Initial work for supporting GNU FORTRAN/F95 on FreeBSD. I think I've
got things mostly set up correctly, but I'm getting an internal compiler
error on one of the FORTRAN sources, so I'm not going to add this configuration
to the daily tests yet.
Platforms tested:
FreeBSD 4.10 (sleipnir) w/GNU FORTRAN
Not tested in h5committest
New feature: support fortran DLL on windows.
small bug fix.
Description:
1. Need to add macro for some functions in order to make fortran DLL work.
2. One routine(verify) missed the special macro DEC FORTRAN needs. Added.
Solution:
Platforms tested:
windows XP with MC VC6.0+Dec 6.6c.
Linux 2.4
and h5committest not finished yet.
Misc. update:
Bug fix
Description:
Correct/update detection of Linux platforms.
Also, refactor common code out of different architectures for Linux builds.
Platforms tested:
Linux 2.4 (verbena)
Too minor to require h5commitest
Bug fix
Description:
Correct typedef for dataset region references to avoid struct alignment
issues on Crays.
Solution:
Change the typedef for hdset_reg_ref_t from a struct to an array of
unsigned char's of the correct size and propagate the appropriate adjustments
around the code.
Platforms tested:
FreeBSD 4.10 (sleipnir)
Linux 2.4 (verbena) w/fortran
Cray T90 (subzero) w/fortran
Cray SV1 (wind) w/fortran & parallel
Cray T3E (cyclone) w/fortran & parallel
Description: Restore 6 old error API functions back to the library to be backward
compatible with v1.6. They are H5Epush, H5Eprint, H5Ewalk, H5Eclear, H5Eset_auto,
H5Eget_auto. These functions do not have error stack as parameter.
Solution: Internally, these functions use default error stack.
Platforms tested: h5committest and fuss.
Misc. update: RELEASE.txt
Description: Added PGI Fortran support for Linux64 systems (x86_64)
Solution:
Platforms tested: AMD Opteron box at AMD Sunnyvale and verbena
with PGI and gcc compilers.
Misc. update:
Purpose: Maintenance for MAC OSX
Description: Added support for Absoft Fortran compiler f95;
Ddefault compiler is set to IBM xlf.
Solution:
Platforms tested: pommier with xlf and Absoft f95 compilers
Misc. update:
Purpose: Maintenance
Description: Added h5fget_name_f and h5fget_filesize_f subroutines and tests.
Solution: N/A
Platforms tested: arabica (32-bit), sol (64-bit)
parallle build on copper failed for the C library with the the
following error:
ld: 0711-317 ERROR: Undefined symbol: .H5FD_stdio_term
Since this change doesn't affect the C library, I am cheking it in
and will retest the fresh CVS copy after this check-in.
Misc. update:
Bug Fix.
Description:
nh5zget_filter_info_c function was not declcared as H5_FCDLL, which is
required for fortran dll in Windows. _H5ZGET_FILTER_INFO_C is considered
as an unresolved external symbol by Fortran Compiler in Windows without
H5_FCDLL.
Solution:
Added H5_FCDLL for nh5zget_filter_info_c function.
Platforms tested:
DEC Fortran 6.0 in Windows XP.
Misc. update:
Purpose: Maintenance
Description: H5_SZIP_CHIP_OPTION_MASK was deleted from the list
of the available parameters for the H5Pset_szip function.
Solution: Updated Fortran source, tests and documentation
to reflect this change.
Platforms tested: arabica (too small for h5committest)
Misc. update:
Purpose:
HDF5 now supports SZIP with no encoder.
Description:
SZIP can be configured to have both encoder and decoder or just to have the decoder. HDF5 can now query the configuration of any filter, and will throw errors if users try to write using a filter with encoding disabled.
Solution:
Added H5Zget_filter_info function, changed API for H5Pget_filter and H5P_get_filter_by_id. See SZIP RFC.
Platforms tested:
Copper (fortran, C++, parallel), Sleipnir (C++), Arabica (fortran, C++), Verbena (fortran, C++)
Misc. update:
Bug fix.
Description:
The Example dimension size is incorrect. Changed it to 3.
Platforms tested:
Tested in TG-NCSA which detected the error.
Misc. update: