Description:
In an AIX 6.1 system, configure --enable-shared could not build a shared
HDF5 library. The problem was because the version of config.guess was too
old to recongnize AIX 6.X and also configure.in had a local fix which did
not recognize AIX 6.X.
Solution:
1. Mike McGreevy updated bin/config.guess to handle AIX 6.X.
2 Albert fixed configure.in to recognize AIX 6.X.
Note that though HDF5 can build shared lib for AIX 6.X systems
but it still could not install the proper library as in AIX 5.X
systems. Also, bin/config.sub should be updated too.
Tested: BP which is the AIX 6.1 system that exposed this problem.
Tested with h5committest on amani, jam, and heiwa, and on linew.
-This line, and those below, will be ignored--
M hdf5_1_8/test/Makefile.in
A hdf5_1_8/m4
AM hdf5_1_8/m4/ltsugar.m4
AM hdf5_1_8/m4/libtool.m4
AM hdf5_1_8/m4/ltversion.m4
AM hdf5_1_8/m4/lt~obsolete.m4
AM hdf5_1_8/m4/ltoptions.m4
M hdf5_1_8/configure
M hdf5_1_8/Makefile.in
M hdf5_1_8/testpar/Makefile.in
M hdf5_1_8/configure.in
M hdf5_1_8/src/Makefile.in
M hdf5_1_8/tools/Makefile.in
M hdf5_1_8/tools/misc/Makefile.in
M hdf5_1_8/tools/h5dump/Makefile.in
M hdf5_1_8/tools/h5repack/Makefile.in
M hdf5_1_8/tools/h5jam/Makefile.in
M hdf5_1_8/tools/h5diff/Makefile.in
M hdf5_1_8/tools/lib/Makefile.in
M hdf5_1_8/tools/h5copy/Makefile.in
M hdf5_1_8/tools/h5import/Makefile.in
M hdf5_1_8/tools/h5stat/Makefile.in
M hdf5_1_8/tools/h5ls/Makefile.in
M hdf5_1_8/hl/test/Makefile.in
M hdf5_1_8/hl/tools/Makefile.in
M hdf5_1_8/hl/tools/gif2h5/Makefile.in
M hdf5_1_8/hl/Makefile.in
M hdf5_1_8/hl/src/Makefile.in
M hdf5_1_8/hl/c++/test/Makefile.in
M hdf5_1_8/hl/c++/Makefile.in
M hdf5_1_8/hl/c++/src/Makefile.in
M hdf5_1_8/hl/c++/examples/Makefile.in
M hdf5_1_8/hl/fortran/test/Makefile.in
M hdf5_1_8/hl/fortran/Makefile.in
M hdf5_1_8/hl/fortran/src/Makefile.in
M hdf5_1_8/hl/fortran/examples/Makefile.in
M hdf5_1_8/hl/examples/Makefile.in
M hdf5_1_8/config/commence.am
M hdf5_1_8/MANIFEST
M hdf5_1_8/c++/test/Makefile.in
M hdf5_1_8/c++/Makefile.in
M hdf5_1_8/c++/src/Makefile.in
M hdf5_1_8/c++/examples/Makefile.in
M hdf5_1_8/bin/ltmain.sh
M hdf5_1_8/bin/reconfigure
M hdf5_1_8/perform/Makefile.in
M hdf5_1_8/fortran/test/Makefile.in
M hdf5_1_8/fortran/testpar/Makefile.in
M hdf5_1_8/fortran/Makefile.in
M hdf5_1_8/fortran/src/Makefile.in
M hdf5_1_8/fortran/examples/Makefile.in
M hdf5_1_8/aclocal.m4
M hdf5_1_8/examples/Makefile.in
fseek64 was used to support large file access for the STDIO driver back in
version 1.2.2 in year 2000. Some how it was not included in version 1.4.0.
Now, fseeko64 is used to support large file. There is no more need for fseek64
which is not a standard call. Removed its presence from configure and related
files.
Tested: jam for configure only.
In some machine (Linux), when --disable-largefile is used, it claims it has
fseeko64 but off64_t is NOT supported. Moved the test of fseeko64 and ftello64
to where fseek64 is so that they are tested only if off64_t is supported.
Tested: h5committested.
Removed the recognition of parallel compilers of LAM (hcc) and ChMPIon (cmpicc)
since we have no access to these two MPI implementations and decided not to
support them any more.
Test: Jam using parallel tests:
1. use CC=mpicc and confirmed it is recognized as a parallel compiler;
2. use CC=hcc and confirmed it is NOT recognized as a parallel compiler
any more.
PHDF5 changed to use "mpiexec", instead of mpirun, as the default MPI
applications startup command as defined in the MPI-2 definition, section
4.1. Note that only mpich related (using mpicc command) definitions are
changed to mpiexec. Other favors like hcc, AIX, champion, are not changed
since I don't have a way to verify them yet.
Tested:
jam and amani, using both current and new mpich.
Did not h5committested since this affects PHDF5 configure only.
Improve configure's large-file support control.
Description:
Modified configure to now attempt to add defines necessary for
supporting largefiles on all systems, instead of solely on linux. This
is in response to user requests to enable largefile support on Solaris
by default, as well as to give extra control on AIX (instead of just
jamming the necessary flag into the config files).
The old --enable-linux-lfs flag is being deprecated in favor of the
--enable-largefile flag (enabled by default), which can be used on all
platforms. --disable-linux-lfs can still be used to disable largefile
support (on linux) when the --enable-largefile flag is not specified.
On systems where large files cannot be supported in this manner,
configure will report as such.
Tested:
h5committest
AIX (NCSA's blue_print machine)
duty, liberty, and linew.
the data conversion test from unsigned long long to long double. The GCC on Cygwin seems to
have rounding problem when doing conversion from unsigned long long to long double (Please bug
#1813).
Tested on jam. I'll test it on Cygwin after this checkin.
Description:
longjmp do not necessary restore signal that is blocked during the signal
handling. This caused the Alignment test to fail quietly, resulting in wrong
alignment information which will cause failures later.
Solution:
One can use sigsetjmp/siglongjmp to restore signal handling but not all systems
such as Cray XT or VMS supports sigsetjmp. Backup solution is to use
sigprocmask to reset the signal. Again, some systems may not support it either.
Added code to try the first and then the second solution. Also added tests
to verify if the signal_handler routines are working properly. Finally, added
code to print results of the verification (in form of comments) to H5Tinit.c
for inspection in case of failure.
(Note that many platforms do not have alignment limits at all and ALIGNMNET
code never raise the SIGBUS or SIGSEGV errors. In those cases, it does not
matter whether the signal handlers work or not. Again, this can be deduced
from the results comments near the end of the H5Tinit.c. If the sum of signal
handlers called equals the total of verify, it means ALIGNMENT does not raise
any signals.)
Tested: htcommittested (linew is not accessible), jam(serial), Redstorm.
Bring r18634 from trunk to 1.8 branch:
Clean up compiler warnings.
Tested on:
FreeBSD/32 6.3 (duty) in debug mode
FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
(h5committested on trunk)
Bring r18413:18420 from trunk to 1.8 branch:
- unify srcdir query, etc.
- Move libhdf5.settings string out of H5Tinit.c
Tested on:
FreeBSD/32 6.3 (duty) in debug mode
FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
Linux/32 2.6 (jam) w/PGI compilers, w/default API=1.8.x,
w/C++ & FORTRAN, w/threadsafe, in debug mode
Linux/64-amd64 2.6 (amani) w/Intel compilers, w/default API=1.6.x,
w/C++ & FORTRAN, in production mode
Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
w/szip filter, in production mode
Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
in production mode
Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in debug mode
Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode
Mac OS X/32 10.6.2 (amazon) in debug mode
Mac OS X/32 10.6.2 (amazon) w/C++ & FORTRAN, w/threadsafe,
in production mode