Improve default settings.
Use mpicc, mpif90, mpirun as the default $CC, $FC, and $RUNPARALLEL if
enable-parallel.
Tested:
in TG-NCSA both serial and parallel.
Comment out the use of the "-Wpadded" flag, it's generating far too many
warnings that are impossible to correct and probably making it harder to see
other warnings that are more important.
Tested on:
Linux/32 2.6 (chicago)
Linux/64 2.6 (chicago2)
Since these examples need to follow filesystem paths, the Makefiles need
to create directories in the examples directory; added this to the
Makefile.am.
Tested on Windows, mir, juniper
-O3 flag causes compilation problems on most of the platforms with Intel compiler.
The problem exists in all vesrions of icc compiler up to the newest 9.1
Solution:
Use less agressive default setting O2 to avoid headache
Platforms tested: Linux 2.6 ia64 at UCAR (hal), cobalt (NCSA)
"make check-vfd" will now run all tests in the test directory with different
file drivers (at least, all of those tests that use the testing framework's
FAPL). Tests that fail will be skipped.
This is not a perfect fix, but is better than nothing.
Along with this change, check-vfd should be added to the Daily Tests.
Description: Added support for HPUX11.23
Solution: Added configuration file for the system.
Both C, C++, F90, HL 32-bit and 64-bit are supported. Known problems:
C++ library will not build in 64-bit mode if shared is enabled.
Platforms tested: HPUX 11.23 at UMKC
Misc. update:
Configuration feature
Description:
'make install' now tests both static and shared libraries if both are installed.
Solution:
Previously, shared libraries were only tested when static libraries were not installed.
Also cleaned up line in commence.am that was including HL library in all Makefiles.
Platforms tested:
mir (Makefile change only)
Bug fix.
Description:
C++ testhdf5 failed when it tried to inspect the size of a file
via the HDstat call. The reason was that the CFLAGS has -D_LARGE_FILES
hardset in it while the CXXFLAGS does not. So, C is using an off_t
that is 8 bytes while C++ is using off_t as 4 bytes. C is using
a version of 64bits stat/off_t/etc while C++ uses the 32 bits version.
Thus a failure.
Solution:
Added -D_LARGE_FILES to $CXXFLAGES so that both C and C++ are using
the same version of stat/off_t/etc.
Platforms tested:
Tested in Copper only, both 32 and 64 bits since the changes affected
the AIX platform only.
work-around solution for special cases in collective IO
Description:
For collective IO
if some processes don't have any contributions to IO, even with the new SGI compiler(7.4.4m), the testing program will be hanged. Previously only thought it didn't work with old compiler. It turned out not to be true.
Solution:
Turned off the special flag: H5_MPI_SPECIAL_COLLECTIVE_IO_WORKS
Platforms tested:
UCAR IRIX 6.5
this file only affects IRIX 6.x system. No need to test at other platforms.
Misc. update:
Purpose:
Bug fix
Description:
The Daily Test errors were due to H5_CFLAGS not being included when
configure tested the sizes of some values.
Rolled back the offending changes.
Solution:
There is a "correct" solution to this problem, which is to ensure that
the H5_CFLAGS are included in autoconf's tests.
This rollback is only temporary until the "real" fix can be applied.
Platforms tested:
copper (problem only in aix config file)
Purpose:
H5CC feature
Description:
Made H5_CFLAGS change to several more configuration files.
Solution:
Moved nonessential flags from CFLAGS to H5_CFLAGS for several more
platforms. If my guesses about which flags were nonessential were
wrong, we'll have Daily Test errors.
Platforms tested:
mir, cray, copper, juniper (OS X)
H5_CFLAGS change
Description:
Made the threadsafe flags in config/freebsd H5_CFLAGS so that they are
not passed on to h5cc.
Solution:
If user applications need the threadsafe flag to link properly against
the threadsafe HDF5 library, we'll see linking errors in make-install
when threadsafe is enabled, and can revert this change.
Platforms tested:
mir only (very minor change)
Description: In the past we had Fortran support only for 64bit mode
on IRIX64-6.5. This feature was hardcoded in the IRIX configuration file.
New automatic Fortran datatypes configuration should support both
32bit and 64bit modes. I finally verified that it worked.
Solution: Removed -64 flag from the configuration file.
Platforms tested: UCAR IRIX64-6.5 in 32 and 64bit modes.
Misc. update:
H5_CFLAGS change
Description:
Converted a few platforms to use H5_CFLAGS to "test the waters"
Solution:
Modified a few config/* files to use H5_CFLAGS for non-essential
flags.
Platforms tested:
mir, heping
Several bug fixes
Description:
Added config file for Cray X1 (previous file was misnamed)
Simplified some code in hyperslab.c test that seemed to have been
confusing compiler on Cray X1.
Fixed typo in config/commence.am
Cleaned up hl/src/Makefile.am
Solution:
All four fixes should be straightforward. The failure on Cray was
very difficult to debug, but involved arithmetic errors.
This change seems to fix it.
Platforms tested:
heping, copper, sol, some Cray X1 (more testing when system comes back up)
Description: Here is what I did:
modified MANIFEST according Quincey's instructions to fix
the problem exposed by bin/release (compilation fails
because some header files were not included in the distribution)
fixed small typo and modified include_HEADERS line in
src/Makefile.am to address the problem exposed by bin/release
ran bin/h5vers to change version number to 1.8.0-alpha0
ran bin/release to release tar ball to the ftp server
Solution:
Platforms tested: mir MANY,MANY,MANY times
Misc. update:
new feature
Description:
1) separated the HL library into "public" and "private" header files, with the same caracteristics as the basic library
2) added the public headers to hdf5.h (with a conditional include macro, defined in configure.in)
3) added the path to HL in all Makefile.am 's , because of the inclusion in hdf5.h
Solution:
Platforms tested:
linux 32, 64
AIX
solaris
with fortran and c++
(one packet table example fails)
Misc. update:
Removed -march flag
Description:
The -march optimization flag is bad in some circumstances
Solution:
Prevented HDF5 from adding the -march archicture-specific optimization
flag, so that users could have one version of HDF5 used by
several different machines.
Platforms tested:
heping (one of the few platforms that affected by this small change)
Bug fix
Description:
Previous checkin did a bad thing; 'make clean' failed in example directories.
Solution:
Fixed commence.am so that examples no longer break, and fixed a mistake
in conclude.am.
Platforms tested:
heping (minor makefile change)
Misc. update:
Bug fix
Description:
make check-clean didn't clean results of example tests
Solution:
Fixed Makefiles so that check-clean recurses into example directories.
Also a little Makefile cleanup.
Platforms tested:
mir, modi4, heping, copper
Setting appropriate macro during configuration.
Description:
We found special collective IO doesn't work in mpich 1.2.5 and 1.2.6.
Solution:
Use this script to detect this during configuration and set the correct macro.
Platforms tested:
heping,mir and copper
Misc. update:
The previous check-in seems fixing the non-selection failure at heping.
Description:
release the special_collective_io_works macro at this platform.
Solution:
Platforms tested:
heping mpich 1.2.6
Misc. update:
Purpose:
bug fix
Description:
modi4's sgi compiler is too old to support collective IO when there are no contributions from
some processes.
Solution:
Disable mpi_special_collective_io_work macro.
Platforms tested:
NCAR SGI
MODI4
COOPER
Misc. update:
Add collective chunk IO supports
Description:
Added a macro hdf5_mpi_special_collective_io_works to filter out
some mpi-io packages that don't support collective IO for no IO
contributions in some processes.
Solution:
1.
"hdf5_mpi_special_collective_io_works=${hdf5_mpi_special_collective_io_works=
'no'}"
has been added at the end of file ia64-linux-gnu and linux-gnulibc1
2. Some comments are added in ia64-linux-gnu and linux-gnulibc1.
3. Documents are added inside RELEASE.txt.
Platforms tested:
Parallel:
IBM AIX 5.2(copper)
Linux (heping) mpich-1.2.6
SDSC Teragrid mpich-1.2.5
Linux(Tungsten) mpich-1.2.6
Altix(NCSA cobalt)
Seq:
Linux(heping)
Misc. update:
Code cleanup/update
Description:
Update compiler flags for gcc 4.1.x & start cleaning up some of the C++
compatibility
Platforms tested:
FreeBSD 4.11 (sleipnir) w/gcc 4.1 and/or g++
Bug fix
Description:
Tone down the optimization flags for gcc 4.2.x in the same way as we
do for all the other gcc 3/4 builds, to avoid datatype conversion issues.
Platforms tested:
FreeBSD 4.11 (sleipnir) w/gcc 4.2
Not tested by h5committest
Bug fix
Description:
Fogot to commit file config/examples.am in previous checkin.
Solution:
The examples.am file contains common Makefile rules for the example
directories.
bug fix.
Description:
Mpich2 also has the derived type errors but some mpich2 gave no
verison number and some gave 1.0.2.
Solution:
Added those two cases to catch mpich2 that had these sort of errors.
Platforms tested:
heping using mpich and mpich2.
Feature.
Description:
Removed the entry for tflops which has retired.
Added a special --host entry for redstorm.
This allows "configure --host=redstorm" for building in RedStorm.
Platforms tested:
Red Storm.
Unstable format version marker.
Description:
This marks the Check in baseline for compact group revisions,
which radically revises the source code for managing groups and object headers.
Earlier versions (1.7.52 or earlier) have the original format. This version
and later have the unstable format until further notice.
Platforms tested:
h5committested.
Bug fix
Description:
Fortran type generation was broken in two ways. Fixed both.
Solution:
Firstly, there were a couple of path problems. Fixed a typo and
specified the full path of a file.
Secondly, the dependencies weren't right when building with HDF5-specific
commands (make lib, make check-s, etc.). Tweaked dependencies
to fix the problem.
Platforms tested:
mir, modi4, sleipnir
Configure feature
Description:
Added 'make trace' target.
Solution:
Added tracing to 1.7. This was done automatically in 1.6, but left out
of 1.7 until now (oops!).
Tracing in 1.7 only happens manually, when the user types 'make trace.'
Tracing automatically requires more framework than it's worth.
I also fixed a couple of tracing bugs and ran trace.
Platforms tested:
mir, sleipnir, modi4
Misc. update:
Bug fix
Description:
Before this checkin, 'gmake check-s' would fail if there was a file in
the current directory named 'check-s'.
This is fixed under gmake (not sure how to fix for other makes).
Solution:
check, progs, install, etc. are what gmake calls "phony" targets,
which means that no file should be created. These targets can be
specified by a line of the form
.PHONY: check progs install ...
Automake adds this line for targets it knows about, but HDF5 has a
lot of custom rules. This checkin adds a .PHONY line for those rules.
I believe that only gmake recognizes the .PHONY line (at least, pmake
doesn't seem to), but a partial solution is better than none.
This error should occur very rarely anyway (the user has to manually
create files with names like 'build-check-s' or '_test').
Platforms tested:
mir, sleipnir, modi4
Bug fix/feature
Description:
Added support for -shlib in h5fc and h5c++.
Made check-install use -shlib when only shared libraries have been installed.
Solution:
h5fc and h5c++ didn't recognize -shlib. Stole code from h5cc to link against
shared libraries.
When static libraries are disabled, the examples Makefiles will automatically
use the -shlib option to link against shared libraries. Thus,
--disable-static and make check-install should work together.
Platforms tested:
heping(disable-static, enable-static, fortran, c++), modi4 (disable-static, fortran, c++, parallel, enable-static)
Bug fix.
Description:
PGI v6.0-5 pgf90 compiler has a bug in Mstandard that caused compiling
of legal logical value to fail.
We also have second thought of imposing -Mstandard and -Mdclchk on users
since these flags are included in h5fc.
Solution:
Removed -Mstandard until we can fix the v6.0-5 compiler error
and moved -Mdclchk to DEBUG_FFLAGS so that it is used during development
mode but not imposed on users for production release.
Platforms tested:
heping: production and development mode using v6.0-4 compiler.
mir: production and development mode using v6.0-4 compiler.
Bug fix
Description:
Failed parallel tests now cause make to exit with an error.
Solution:
Edited config/conclude.am to throw an error if parallel test programs fail.
Platforms tested:
heping, modi4
Bug fix.
Description:
The previous way of detecting the MPICH version fails if the suspected
$CC does not give the expected MPICH version information. Though no
consequence, it generates error messages that alarm users.
Also, mpich2 gives the version information as if it were mpich v1.0.2
which was incorrectly included as an earlier version of the origianl
mpich.
Solution:
Implemented a more robust code to detect the version and narrow the
recognition down to v1.2.0-v1.2.5. Also, the code were duplicated in
two files (linux-gnulibc1 and ia64-linux-gnu). Combined them into a
new file called mpich.
Platforms tested:
Tested in heping using mpicc and mpich2/mpicc and also in tg-ncsa.
Misc. update:
Updated MANIFEST.
Description:
Add source code copyright notice; comment symbols vary by type of file.
Platforms tested:
No changes that should cause any problems. Nonetheless, the tree will
be checked out fresh and tests run immediately post-commit.