Update the gcc flags for version 4.3
Clean up warnings
Tested on:
FreeBSD/32 6.2 (duty) in debug mode
FreeBSD/64 6.2 (liberty) w/C++ & FORTRAN, in debug mode
Linux/32 2.6 (kagiso) w/PGI compilers, w/C++ & FORTRAN, w/threadsafe,
in debug mode
Linux/64-amd64 2.6 (smirom) w/default API=1.6.x, w/C++ & FORTRAN,
in production mode
Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
in production mode
Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
w/szip filter, in production mode
Mac OS X/32 10.5.3 (amazon) in debug mode
Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in production mode
Description:
The fortran Makefile.am used HDF_FORTRAN to indicate it is part of the
Fortran API source so that conclude.am will give fortran api prefix in the
test output. The symbox HDF_FORTRAN is also used in configure for a different
purpose (indicated --enable-fortran). They conflicted.
Similar problem for the symbol HDF_CXX.
Solution:
Changed all the involved Makefile.am to use "FORTRAN_API" instead. It is
a more appropriate name. Same for CXX_API.
Along the way, discovered that the Makefile.am of hl/fortran/test and
hl/cxx/test did not have those symbols at all. Added them in.
Platform tested:
Kagiso only. It is a trivia change.
Description: config/lt_vers.am was updated as follows due to changes in API
since last version update:
LT_VERS_INTERFACE = 5
LT_VERS_REVISION = 0
LT_VERS_AGE = 0
Tested: kagiso
1. In H5Dwrite and H5Dread, let the data buffer point to a fake address if the application passes
in an empty buffer. This is mainly for MPIO programs that some processes may not have any
data to write or read but still participate the I/O. This solution solves some MPI's problem
like the ChaMPIon on tungsten which doesn't support empty buffer.
2. The ChaMPIon on tungsten doesn't support complex derived MPI data type correctly and collective
I/O when some processes don't have any data to write or read correctly. Detect the compiler
"cmpicc" in the system-specific config file and set the variables for these two cases to false.
The PHDF5 library already has set up a way to switch collective chunked I/O to independent
under these two cases.
3. A bug fix - During the work of the optimization for compound data I/O, the case for switching
collective chunked I/O to independent I/O was leftout. Fixed it by adding I/O caching to it in
H5D_multi_chunk_collective_io in H5Dmpio.c.
Tested on tungsten, cobalt, and kagiso for parallel; on linew and smirom for serial.
with Intel 10.0 compiler.
Solution: Use -O1 optimization flag with Intel 10.0
Platforms tested: abe and kagiso with Intel 10.0 and Intel 9.1 compilers; no committest
is needed since this is a compiler specific change.
Rename Mac OS X compiler configuration file to more generic name, which
should allow Intel Macs to configure better.
Tested on:
Mac OS X/32 10.4.10 (amazon)
QSC's mpi implementation does not do collection I/O correctly.
Need to turn some collective support off.
Tested platform:
LANL QSC.
-This line, and those below, will be ignored--
M config/dec-osf5.x
Straighten out some of the code for handling superblocks, in preparation
for revising the format of the latest version of the superblock before the
beta release.
Tested on:
Mac OS X/32 10.4.8 (amazon)
FreeBSD/32 6.2 (duty)
Description: Multiple copies of Copyright appeared in Makefile.in. This was
due to automake copying the copyright right in the included files such as
config/commence.am.
Solution: Automake treats double hashes as comments and does not copy them
to Makefile.in. Changed all the copyright notices in config/*.am to use
double hashes for the Copyright right notice.
Tested: kagiso via bin/reconfigure.
It seems that while Cygwin supports the time command, it has trouble with
the syntax
srcdir="../../hdf5/test" time ./testhdf5
and complains.
The solution is to test the above case in configure and not to use the time
command if it fails; Cygwin is fine with
srcdir="../../hdf5/test" ./testhdf5
Tested on Cygwin and kagiso. This feature shouldn't be a major compatibility
problem since every platform but Cygwin is already fine with the current
syntax.
Change AIX to use C99 standard by default.
Also removed -DSTDC as its need is unknown.
Also added a line to identify this is for IBM AIX platforms.
Tested:
Copper.
Should disable linking against shared libraries in Fortran for compilers that
don't support shared libraries.
Should also fix problem when the wrong Fortran file extension was specified.
If these changes don't solve the Daily Test issues, I'll look at backing out
the autotool version change until I have time to fix them.
Tested on heping, kagiso, juniper.
For some reason, only Visual Studio DLLs complained about these.
Current code compiles for me under Visual Studio and generates no related
warnings on juniper.
Daily tests failed for Absoft f95 compiler
Solution:
Failure was due to several typos in H5f90prpto.h file; fixed
I also removed redundant flags from the configration files.
Platforms tested: heping with f95, g95, pgf90; pommier with f95
Use a slightly less efficient method of computing the log2() on SGI IRIX64,
in order to avoid a compiler bug when optimizations are turned on.
Tested on:
SGI IRIX64 6.5 (atlantia)
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.
Bug fix
Description:
Fixed config file for apple powerpcs. Should detect xlf more
often (though not infallibly).
Should disable shared libraries when xlf is being used.
Solution:
Since neither xlf nor f95 have "version" options (which could
be used to identify which compiler is being used), the config
file checks if the fortran compiler is named 'xlf' (or /path/xlf).
If not, it assumes the compiler must be f95.
xlf is still the default if no compiler is named at all.
Platforms tested:
pommier (change only to mac-specific config file)
bug fix.
Description:
When a parallel test script test fails, make would continue because the
way it was setup inside a for loop. Fixed it by issuing an exit 1 inside
the loop.
There was also a typo error in the newer command comparision that it
must be $${chkname} in order to be valid. Also, the test script itself
was not checked in the newer lists. All fixed.
Platforms tested:
h5committested and also hand tested in heping pp mode.
Code cleanup
Description:
Removed Fortran type sizes from config/* files.
Solution:
These lines weren't doing anything anymore; they've been replaced by automatic
type generation. This is just housekeeping to remove them from
the config/* files.
Platforms tested:
mir, sol, modi4
New feature.
Description:
Added the time command to the make check target to report time usage
of the execute of each test and test scripts. This gives us some idea
how long each test takes and some vague idea it is compute bound or
not.
powerpc-ibm-aix5.x:
Change $RUNPARALLEL default setting to allow it being invoked by the
time command.
Platforms tested:
h5committested.
Feature
Description:
Added H5_CFLAGS, etc. to 1.7 branch.
Now compilation flags can be put in H5_*FLAGS and they'll be used when
building hdf5 but not in h5cc.
Platforms tested:
mir, sleipnir, modi4
Misc. update:
Description: The API function H5Tis_hard() which was recently checked
in has been renamed to H5Tcompiler_conv() to be more descriptive. No
other changes.
Platforms tested: fuss - simple change.
Misc. update: config/lt_vers.am to update libtool version.
Bug fix
Description:
A whole chunk of this file somehow got deleted and the heavily reduced
file was accidentally checked in. This is the complete version of the file, with the
mpiicc fix.
Solution:
Platforms tested:
Misc. update:
Description: Added -K c99 flag to sxc++ flags to ienforce C99 standard;
added cache values for getrusage and gethostname
Solution:
Platforms tested: SX-6
Misc. update:
Bug fix
Description:
Forgot to remove a debug statement before committing.
Solution:
The script printined out what it thought CC_BASENAME was for debugging.
Removed this print statement.
Platforms tested:
minor change, mcr
Misc. update:
Bug fix
Description:
Same bug as was just checked in for v16. Do the complicated
derived datatype check for compilers named mpiicc in addition to
mpicc.
Solution:
Platforms tested:
Misc. update:
tidy up.
Description:
MPE option created *.clog file whenever it is executed in MPI.
The cleanup of *.clog files were done in individual Makefile.in.
Often, it is forgotten.
Solution:
Moved the cleaning of *.clog files to CHECK_CLEANFILES in commence.am
so that it is applied whenever check-clean is called.
Platforms tested:
heping pp using MPE.
Bug fixes
Description:
This checkin fixes an occasional error on kelgia on sol during distclean.
It also causes test scripts to depend properly on the programs they're
supposed to be testing.
Solution:
The kelgia bug was due to some files being cleaned by automake and manually.
Removed the manual cleaning in src/Makefile.am.
Test script dependencies now need to be specified manually, since the
makefile can't guess what they test from their name. Currently all test
scripts in a given directory have a single list of dependencies--this was
easy and seems to be sufficient.
These dependencies are listed in the SCRIPT_DEPEND variable in the Makefile.am.
Platforms tested:
heping, mir, modi4, sol
Misc. update:
Description: Added 2 new configure options, --enable-exception and --enable-accuracy.
--enable-exception lets the library check whether user's exception handling
functions are present during compiler data conversions and use them if they are.
When it's disabled, this step is skipped to improve conversion speed. This
step isn't implemented yet for soft conversions because there would be little
gain in speed.
--enable-accuracy guarantees data accuracy during data conversions. It means
the library will choose compiler conversions only if the accurate data is
secured. Otherwise, the library will go for the library's own conversions. If
this option is disabled, the library uses compiler conversions in favor of
their speed as long as they work even if data can be incorrect.
Platforms tested: h5committest and fuss. Some systems may fail after this
checkin.
minor tidy up.
Description:
Changed both test programs and test scripts to use the same suffixes
(.chkexe and .chklog). Changed from .log to .chklog to avoid running
into potential conflicts by other "things" (e.g., config.log).
Tested:
Heping.
Update & feature
Added a new cached data conversion setting.
Added -DH5_FLOPS to CPPFLAGS for compiling. Had used the builtin
__PUMAGON__ but H5_TFLOPS is more meaningful.
Platforms tested:
Tested in Flops.
Misc. update:
Bug fix and improvement.
Description:
The test output were not displayed for parallel tests.
The serial tests output were always displayed whether the test was
actually ran this time or not.
Solution:
Moved the display of test output inside the target where the actual
tests are run.
Platforms tested:
Tested in heping using pp and fortran.
Bug fix and code minor cleanup.
Description:
The attempt to redirect stderr together to the log files were
done in the wrong order such that stderr output goes to where
stdout WAS. Fixed that.
Code minor cleanup--use shell variables to hold the name of the
log file and the test instead of generating them repeatedly. This
makes easier code reading, less crowded and avoid typos.
Only conclude.in is changed. The Makefile.in changes are all
derived from automake.
Platforms tested:
h5committested.
Misc. update:
Port to Red Storm
Description:
Initial version to configure for SNL Red Storm. To configure for it, do
./configure --host=x86_64-redstorm-linux
Platforms tested:
Tested in Red-storm. Many things are still failing but this will
make the configure part easier.
Misc. update:
Makefile feature
Description:
'make check-clean' now cleans *.h5 files created by tests as well as
.log and .chkexe files.
Solution:
check-clean is now a separate target in its own right, which cleans less
than mostlyclean (check-clean < mostlyclean < clean < distclean).
Platforms tested:
mir, heping, modi4 (serial and parallel)
Feature: check-clean target
Description:
'make check-clean' cleans up output files from tests.
Solution:
Tests create foo.chkexe and foo.log files. Scripts create foo.chksh and
foo.logsh files. 'make check-clean' will clean these files up so that
the tests can be re-run.
Also suppressed some not-very-useful output of Makefiles when it would
echo commands.
Platforms tested:
mir, sleipnir, modi4
Misc. update:
Configuration feature
Description:
Serial test output is now stored in log files and printed when all tests
in a directory complete, or when a test fails. This should make test output
more readable and useful.
Also made changes to clean up ii_files directories that are created by some
C++ compilers/linkers.
Also fixed a few minor Makefile bugs.
Solution:
When serial tests run, their output is saved in *.log or *.logsh. While
running, tests only print when they begin and when they complete; their
more specific output (from the log file) is printed if the test fails or
when all tests have completed.
Comments welcome.
Platforms tested:
mir, modi4 (parallel and serial), copper, shanti
Bug fix
Description:
Update Makefiles now that docs are no longer in main hdf5 tree.
Solution:
Changed root-level Makefile.am not to recurse into docs tree.
Removed docs Makefiles from configure.in.
Removed config/commence-doc.am, since it is no longer used.
Platforms tested:
mir (change to Makefiles only)
Bug fixes
Description:
A number of minor changes to Makefiles. Some files will now be cleaned
properly, some comments are more informative, etc.
Platforms tested:
heping, mir, modi4
Updating phase 2 work of collective IO
Description:
When the size is bigger than some value for MPI derived data type, mpich 1.2.5 and lower
version won't work any more, so in the configuration file, we will check the version number
and switch from collective IO to independent IO by turning off complex derived datatype.
Solution:
Platforms tested:
linux 2.4, AIX 5.1, Linux 2.4 IA64 and IRIX 6.5
Misc. update:
Updating phase 2 work of collective IO
Description:
When the size is bigger than some value for MPI derived data type, mpich 1.2.5 and lower
version won't work any more, so in the configuration file, we will check the version number
and switch from collective IO to independent IO by turning off complex derived datatype.
Solution:
Platforms tested:
linux 2.4, AIX 5.1, Linux 2.4 IA64 and IRIX 6.5
Misc. update:
Description: -xopnemp=stabs linking flag is needed on Solaris 2.9
in order to build Fortran library.
Solution: Added the flag to LDFLAGS if system version is 5.9
I don't really like the fix since this flag is now always added
for 5.9 systems even if Fortran is not enabled. If someone has
a better solution, please let me know :-)
Platforms tested: shanti, sol
Misc. update:
Description: Removed -DH5_ABSOFT flag for C compiler when Absoft f95 compiler
was used; this flag is not needed anymore since we automatically construct
names of C functions called from Fortran.
Solution:
Platforms tested: pommier
Misc. update:
Bug fix
Description:
The ".chksh" file for a test script was being created in the "source"
location rather than the build location. This can cause problems when
multiple builds are running because "slower" machines will see the ".cshsh"
file from faster machines and will not run the test script as they should.
Solution:
Use 'basename' command to strip off the path of the script and create
the ".chksh" file in the build location.
Platforms tested:
FreeBSD 4.11 (sleipnir)
h5committest
bug fix.
Description:
-nt is not a universal option for the test command in all platforms.
The use of it in conclude.am cause some platforms to bark at the
Makefile generated.
Solution:
Created a command script bin/newer which tests if file1 is newer
than file2. Replace the "test file1 -nt file2" by
"newer file1 file2".
Platforms tested:
Tested in sol.
Bug fix
Description:
Fixed bugs that caused tests to be unable to find testhdf5.sh during
daily tests, and another that broke sol and shanti.
Solution:
When tests are run, their path is ./$testname .
When scripts are run, their path has no leading "./". Fixed.
Sol and shanti don't recognize the -e option for test, but they do know
-f. Fixed.
Also modified release notes.
Platforms tested:
mir, shanti, heping
Feature: tests now use parallel make and only run once
Description:
When make is invoked in parallel (using the -j option), several tests will
now be run simultaneously. This should speed up testing on a number of
systems.
When a test passes, it creates a foo.chkexe or foo.chksh file, which prevents
the test from running again unless the test or library changes.
Solution:
Most of the changes live in config/conclude.am. Added *.chkexe and *.chksh
files to the list of files to be cleaned at "make mostlyclean" time.
Parallel tests still run one at a time, but use the same make instructions
as serial tests.
Platforms tested:
mir, eirene, sleipnir, pommier, copper, modi4 (some errors occurred, probably
due to the test being run before updating hdf5. Will re-run tests after
checkin.)
Adding supports for cygwin
Description:
g95 needs special fortran flags to make it work cygwin.
Solution:
Add the flag on cygwin config file.
Now gcc, g++ and g95 are supported on cygwin.
Platforms tested:
cygwinNT_5.1, Linux 2.4
Misc. update:
bug fix
Description:
check-s and check-p were set as pre-requistics of test. They
would get executed in parallel if parallel make is used. This
could cause problems since serial tests are used to be executed
before parallel tests. It is not known if it is always okay to
run serial and parallel tests in simultantously.
Solution:
Change check-s and check-p as actions of the target test so
that they get executed sequnentially.
Platforms tested:
heping PP.
Added check-s and check-p targets.
Description:
Added check-s and check-p targets to 1.7 branch to match changes to 1.6
branch. Now parallel and serial tests can be run separately.
Platforms tested:
mir, modi4, copper
improvement.
Description:
hdf5_mpi_complex_derived_datatype_works is hardset to no but
newer IRIX64 systems have it working. Changed the code to
detect the compiler version and set hdf5_mpi_complex_derived_datatype_works
to no for older compilers only.
Platforms tested:
modi4 for the no effect.
Misc. update:
Description: Altix configuration file used icc for the default C++ compiler.
Since cobalt moved to Intel 8.1, C++ compilation failed.
Solution: Changed icc to icpc for the default C++ compiler on Altix.
Platforms tested: cobalt
Misc. update:
Cray X1 Port
Description:
Porting 1.7 branch to Cray X1. With these changes, HDF5 builds, but
there are some errors in the tests. Working on the errors.
Solution:
Added nv1-cray file to config directory.
Cleaned up some code in hl/c++ that was causing compiler to complain.
Platforms tested:
Cray X1, mir, sleipnir
Misc. update:
Update config/lt_vers.am
Description:
My version number bump to config/lt_vers.am somehow didn't get checked
in with the rest of the metadata cache API mods.
Solution:
Bumped the version numbers again, and try checking in the file again.
Platforms tested:
None -- but see previous checkin of metadata cache API additions.
Misc. update:
New feature.
Description:
To update libtool's version number for changing API interface
of H5Psetscaleoffset.
Solution:
Platforms tested:
heping
Misc. update:
Purpose:
collective chunk IO support for AIX 5.x
Description:
NCSA just updated its poe version, this new version will support
MPI complicated derived data type.
So update our configuration file for AIX 5.x.
Solution:
Platforms tested:
copper, no need for others since only AIX 5.x will be affected.
Misc. update:
Description:
Many warnings about duplicate symbols for various members in the std.
Solution:
Temporarily added -qweaksymbol to suppress linker messages warning
of duplicate symbols since these warnings are harmless.
Note from pSeries and AIX Information Center:
When compiling C++ programs containing extern inline functions,
you can use the -qweaksymbol compiler option to suppress linker
messages warning of duplicate symbols.
Hoping that a better solution is suggested or the problem will be
handled by the compiler in the future.
Platforms tested:
AIX 5.1 (copper)
Feature - libtool shared library versioning
Description:
Libtool provides a mechanism for different versions of the same shared
library to be distinguished. Now this is applied to HDF5 when it is
built as a shared library.
Solution:
The version number is stored in config/lt_vers.am, and included in
src/Makefile.am.
This number will be automatically updated by bin/h5vers; developers
only need to update it when they change the API.
*** IMPORTANT ***
Any time the API changes, the version number in config/lt_vers.am must
be updated!
Platforms tested:
mir, eirene, verbena, modi4
Misc. update:
Turning off collective irregular selection feature for this platform
because the MPI package doesn't support MPI complicated derived data
type.
Description:
Solution:
Add the macro hdf5_mpi_complex_derived_datatype_works=${hdf5_mpi_complex_derived_datatype_works='no'}
at the end of config file.
Platforms tested:
Won't affect other platform and too minor to go to PSC cluster for testing.
Misc. update:
Purpose:
Fix the daily test failure of collective irregular test in modi4.
Description:
The original test passed with new SGI compiler. Albert verified this from
the SGI machine at DOE. The compiler version number at modi4 is 7.3.1.3m, the compiler version number at DOE is 7.4.2m. compiler at modi4 is old and SGI may fix some bugs during the updating of their compiler.
Solution:
At configuration file IRIX.6.x, set the macro MPI_COMPLEX_DERIVED_DATATYPE to no. In that way, HDF5 library won't call derived datatype routine in the test.
Platforms tested:
modi4
Misc. update:
Bug fix
Description:
On some machines, $RUNSERIAL variable needs to be used to run
tests. Set $RUNTESTS (which is used for non-parallel tests) to
be $RUNSERIAL in configure.am.
Also, since I was updating all Makefiles.in anyway, I updated
commence.am to point to autotools installs in AFS instead of
those on heping.
Platforms tested:
mir, sleipnir, modi4, copper
Purpose:
"Bug fix"
Description:
Hardcoded Makefiles to use /bin/sh instead of letting configure
detect shell automatically. This is what v1.6 does, and avoids
problems on janus.
Platforms tested:
sleipnir, copper, modi4, mir