fix/feature
Description:
v1.4's configure had enable-trace default as on. That is not right for
production code as it increase the object code and uses up compute time.
Changed --enable-trace default to depend on --enable-debug. If debug is
on, trace is on. Otherwise it is off.
Also added the printing of CFLAGS, CPPFLAGS, and LDFLAGS in the summary.
Platforms tested:
eirene, arabica (pp).
Small Coding Change
Description:
Zeroed out the MPI_Status structure in one of our tests to determine
if MPI_Get_count() works on the machine or not. This is similar to
what we do in the library code to the status...
Fix
Description:
Better check for versions of Linux. We didn't support kernels with
major version numbers >2 and minor version numbers <4...
Solution:
Fixed to check just that.
Platforms tested:
Linux 2.2 && 2.4
Update, Bug Fix, and Feature Add
Description:
- Updated how AC_{ENABLE,WITH} help messages were being generated.
Autoconf now gives you an AC_HELP_STRING macro to use to create
them.
- Fixed the problem with Linux LFS on RedHat 7.3 machines. It wasn't
finding getdents64(), so we can't rely on that being present
anymore...
- Added GPFS detection and setting.
- Updated how compression is specified. It's no longer necessary to
test for HAVE_ZLIB_H, HAVE_LIBZ, and HAVE_COMPRESS2. The one macro
{H5_}HAVE_COMPRESSION takes care of all of these.
Solution:
Changed the check for Linux LFS from looking for getdents() to
looking at the version number of the kernel (using the uname -r
command). You can still override with the --enable-linux-lfs switch
if you really believe that your <2.4 kernel has LFS support.
Platforms tested:
Linux (2.2 and 2.4)
New feature
Description:
Changed parallel I/O tests to use test script instead of just running
testphdf5 executable. This allows the MPI-posix driver to be tested easily.
Platforms tested:
FreeBSD 4.6 (sleipnir) w/parallel and IRIX64 6.5 (modi4) w/parallel
New feature
Description:
Add support in for "dmalloc" debugging malloc library to configure script
and library headers.
Platforms tested:
IRIX64 6.5 (modi4) and FreeBSD 4.6 (sleipnir)
Porting to AIX 5.x
Description:
These have been tested out in v1.4. Folding them in here.
aclocal.m4:
Snow's names were not included in the special hack.
Added its names in.
Removed the trailing * in pacific.llnl.gov too.
configure.in:
fortran/configure.in:
Added a case to group all AIX 5.* versions as aix5.x. This allows
them to share one common config/*aix5.x file.
configure:
fortran/configure:
Derived from configure.in (done in eirene).
config/powerpc-ibm-aix4.x:
Added a comment explaining why not to cache sizeof size_t and off_t
fortran/config/powerpc-ibm-aix4.x:
Turned of cache of sizeof size_t and off_t because they are depedent
on compiler options.
config/powerpc-ibm-aix5.x:
fortran/config/powerpc-ibm-aix5.x:
New config file for AIX 5.X
Platforms tests:
LLNL Blue, Frost, Snow, both serial and parallel.
Update
Description:
Updated the h5vers script to automatically update the configure.in
files so that they reflect the correct version in the AC_INIT line.
Platforms tested:
Linux
Update
Description:
Updated the way we used the AC_INIT macros so that it's current to
the new standard way and not deprecated anymore.
Also, added a test for some functions during parallel Fortran
configure. This required the creation of an H5config_fortran.h file
so that we can test for these...
Platforms tested:
Elena is going to test the changes to the fortran after she checks in
her other code. I will test on SDSC machines after getting her code.
The other changes were tested on Linux.
Feature Fix
Description:
Modified the AC_OUTPUT macro to coincide with the now-standard way of
doing things. I.e., you put all of the files you want to generate
into the AC_CONFIG_FILES macro and invode AC_OUTPUT with no
parameters.
Platforms tested:
Linux
Bug fix
Description:
Zlib-compression was reported according to if a Z-library (e.g., libz.a)
has been found. It actually needs the presence of a valid zlib.h header
file and the compress2() routine.
Solution:
Changed the IF_YES_NO to be more general by accepting multiple arguments
and changed the Zlib-compression depends on zlib.h header and the
compress2() routine.
Platforms tested:
Eirene.
Autotools Update
Description:
I've updated autoconf, automake, and libtool to the latest/greatest
versions; 2.53, 1.6, and 1.4.2 resp.
Many changes come with the new versions:
- ltconfig is no longer used
- acconfig.h is no longer used (#define values are declared with
the macro)
- regeneration of all of the aclocal.m4, configure, and
H5config.h.in files.
- new config.{guess,sub} files
- new ltmain.sh file
Platforms tested:
AIX (blue), and Linux
Code Motion
Description:
Removal of HDF4 from the configure/Makefiles. This is a precursor to
the actual physical removal of the HDF4 tools from the HDF5 tree.
Platforms tested:
Arabica, Dangermouse
Bug Fix
Description:
Didn't need to test that the Pablo library had a function in it only
that it was there.
Solution:
Removed that check. Just checked if we can actually find the physical
library and include files where the user tells us they're hiding.
Platforms tested:
Linux
Bug Fix
Description:
Fixed wrong test for the HAVE_PABLO flag. Was testing if it was not a
null string when I should have been testing if it was equal to "yes".
Solution:
Changed test so that it checks if it's equal to "yes" instead of
non-null...
Platforms tested:
Linux
Bug Fix
Description:
Some -I paths weren't included in the h5cc script. That would cause
the compiler to fail if it was trying to find gass header files or
the like.
Solution:
Added the CPPFLAGS macro to the h5cc.in file so that it'll be there
when it's generated. This will also include some -D options which we
compiled the library with, like the LFS flags on Linux.
Also changed the configure* files so that it will "chmod" the created
h5cc file to 755 (executable) since that wasn't happening all the
time...
Platforms tested:
Linux
Purpose:
Bug Fix
Description:
On some systems, doing the shell command:
if test -z $DEBUG_PKG; then
doesn't work if $DEBUG_PKG is null..
Solution:
Changed to "if test "X$DEBUG_PKG" = "X"; then" which will do the same
thing but without the error...
Platforms tested:
Linux
Bug Fix
Description:
When printing out the summary information after the configuration,
the Compilation Mode and Debugging information would be incorrect.
The library is set to compile to "Production" mode for a release.
Yet, the default compilation mode before that was "Development". If
the user doesn't specify "--enable-production" on the command line,
the configure defaults to "Production" mode, but the summary still
reported "Development" mode.
Solution:
Modified script so that after we've determined which compilation mode
we're in, we reset the "enable_production" variable to the correct
setting. So, we no longer have a "default". The summary part then
reads the new value and uses that to determine which mode we're in.
The debugging summary information was reworked so that it would
output the correct summary information. Slight hacking of the summary
script to check the values a bit more closely...
Platforms tested:
Linux (eirene)
New feature check
Description:
Added check to determine if malloc(0) returns a valid pointer for a
particular architecture.
Platforms tested:
FreeBSD 4.5 (sleipnir) where malloc(0) works
Cray SV1 (killeen) where malloc(0) doesn't work
Bug fix.
Description:
FreeBSD would fail the threadsafe feature if static-exec is not on.
Solution:
Force enable-static-exec on if enable-threadsafe is on.
Also moved the chunk of FreeBSD specific code for Pthread setup
from configure.in to config/freebsd.
Also changed enable-threadsafe to check on linking pthread program.
That takes care of platforms (e.g. freebsd) that has pthread
support builtin the default C library. Now one can just use
"enable-threadsafe" if the compiler has pthread support by default.
Platforms tested:
eirene, Sleipnir
Removing the DPSS (gridstorage) driver source code.
Description:
The DPSS (using Grid-Storage) driver is retired.
Removed the configure option with-gridstorage from configure.in.
Cvs remove the following files
./src/H5FDdpss.c
./src/H5FDdpss.h
./test/dpss_read.c
./test/dpss_write.c
Regenerated Dependencies files (some had to be hand-edited since
'make depend' did not cover them.)
Removed reference to DPSS Virtual file driver from H5F.c.
Platforms tested:
modi4 (Parallel; -with-gass=...), eirene, arabica (fortran, cxx).
Purpose:
Feature Fix
Description:
The new feature (allowing the user to specify =DIR for a --with-xxx
option instead of requiring =INC,LIB for them) needed a better
explanation.
Solution:
Created a phoney --with-fnord option whose only purpose is to supply
a --help message.
Platforms tested:
Linux
Purpose:
Feature Add
Description:
Added the feature which will accept a directory for all of the
features which now accept an =INC,LIB directive. The old way of doing
things (=INC,LIB) is still valid, but we prefer the user uses the
=DIR method from now on. It saves typing.
Platforms tested:
Linux
Bug fix
Description:
GASS nor gridstorage worked any more because SSL library testing
was moved after them.
Solution:
Moved SSL library to be tested before GASS or Gridstorage options
are tested. Also make the testing of SSL libraries default to
no testing, so that it won't get activated unnecessarily.
Platforms tested:
IRIX64 -64, serial and parallel. (GASS driver needs globus
software which is available in modi4 only.)
'Bug fix'
Description:
When testing the validity of zlib, the compress() function is
used. HDF5 actually requires a newer version of zlib which
contains compress2(). Compress2 is tested in later part of
the configure. This caused redundent tests and confusion too.
Solution:
Changed zlib test to look for compress2() instead.
Older version of HDF4 libraries (e.g. 4.1r2) would fail this
test correctly. This eliminated the possibility of using an
older version of HDF4 without using zlib compression in HDF5.
But since we need newer version of hdp (with loops detection),
the older version hdf4 is not old any more.
Remark: the compress2 test is not removed. After this change
proven working correctly for all platforms, the extra compress2
test can be removed and source code must be updated too.
Platforms tested:
modi4: tested with hdf4.1r2 and failed as expected. Tested with
newer hdf4 libraries and succeeded as expected.
Purpose:
Final Fantasy...er...fix
Description:
I fixed the problem with the summary printing newlines when we didn't
want it to when using "ksh".
Solution:
There's a flag '\c' which should be used at the end of the line if
you can't use the '-n' flag.
Platforms tested:
linux and modi4.
Purpose:
Bug Fix
Description:
Some platforms don't handle echo -n correctly.
Solution:
Copied some code from the configure which determines which flag to
give echo.
Platforms tested:
Linux
Purpose:
Feature Add
Description:
Added "install-example" and "install-all" to the Makefile system.
The behaviour of the "make install*" options:
make install - Installs binaries, libraries, include
files, and example programs.
make install-examples - Installs only the example programs.
The directories are:
${prefix}/doc/hdf5/examples/{c,c++,fortran}
make install-all - Install the binaries, libraries, include
files, example programs, and
documentation. The whole kit-n'-caboodle.
make uninstall-examples - Get rid of those example files (but not
the ${prefix}/doc/hdf5/examples/...
directories)
There's a new bin/ program which helps create directories which are
deeply nested called "mkdirs". It's a simple shell script.
Platforms tested:
Linux
Purpose:
New Feature
Description:
Added final output for the configure script which shows a summary of
options people chose while configuring.
Platforms tested:
Linux
Portability Bug Fixes
Description:
FreeBSD wants the -pthread flag on both the compile and link lines. Also,
the cipher library is required for certain threading features and needs to
be linked in.
Solution:
Add the -pthread to the compile line and the cipher library to the list of
libraries.
Platforms tested:
FreeBSD 4.4 (hawkwind)
New feature
Description:
Added perform programs to test the HDF5 library performance. Programs
are installed in directory perform/.
Platforms tested:
eirene
Purpose:
Bug Fix
Description:
The new way of determining directory information for HDF4 and ZLIB
bombed on me.
Solution:
For some reason, the way I was linking together all of the
"CHECK_LIBRARY" macros wasn't working. I separated them.
Platforms tested:
Kelgia.
Feature shift
Description:
Take out the v1.2.x compatibility stubs and put in the hooks for v1.4.x
compatibility when needed.
Platforms tested:
FreeBSD 4.3 (hawkwind)
Purpose:
Bug Fix
Description:
The way we were generating Dependencies and .depend files was broken.
If the $srcdir or other macros began with a ".", then it would match
anything and cause problems since it would then overwrite the
beginning of the header file's path.
Solution:
Wrote a Perl script which can handle this type of weirdness better.
It's only used when the environment is a GNU one with a GCC
compiler...
Platforms tested:
Linux