Code cleanup
Description:
Adjusted parameters for fortran wrappers of H5Pset_shuffle to match the
changes to the C API function.
Solution:
Platforms tested:
FreeBSD 4.8 (sleipnir) w/szip
Linux 2.4 (sleipnir) w/szip
Solaris 2.7 (arabica) w/FORTRAN
IRIX64 6.5 (modi4) w/szip, FORTRAN & parallel
Misc. update:
Purpose: Maintenance
Description: New fortran APIs h5pset_fapl_multi and h5pget_fapl_multi have been
added along with the new tests.
Solution:
Platforms tested: burrwhite with PGI compilers, arabica and modi4 with
--enable-parallel
Misc. update:
Purpose: Maintenance
Description: New fortran APIs h5pset_fapl_multi and h5pget_fapl_multi have been
added
Solution:
Platforms tested: burrwhite with PGI compilers, arabica and modi4 with
--enable-parallel
Misc. update:
Feature (bug fix)
Description:
Added a new configure file specifically for the IA64 platform
in which ecc and efc are the default compilers.
Also added all the Fortran special setup in the fortran version
Platforms tested:
no h5committest since this is a IA64 platform stuff.
Tested in Titan.
Misc. update:
MANIFEST Updated.
Purpose: Catching up with the C library
Description: Added tests for the follwoing new fortran functions
h5iget_name_f
h5tis_variavle_str_f
h5zunregister_f
h5zfilter_avail_f
h5pset_shuffle_f
h5pset_fletcher32
h5pset_edc_check_f
h5pget_edc_check_f
h5dfill_f
Solution:
Platforms tested: arabica(C and F90), burrwhite (pgcc and pgf90), modi4 (F90 and parallel)
Misc. update:
Purpose: Catching up with the C library
Description: Added the follwoing new fortran functions
h5iget_name_f
h5tis_variavle_str_f
h5zunregister_f
h5zfilter_avail_f
h5pset_shuffle_f
h5pset_fletcher32
h5pset_edc_check_f
h5pget_edc_check_f
h5dfill_f
Solution:
Platforms tested: arabica(C and F90), burrwhite (pgcc and pgf90), modi4 (F90 and parallel)
Misc. update:
Purpose: Catching up with the C library
Description: Added file to provide PGI Fortran support
Solution:
Platforms tested: arabica(C and F90), burrwhite (pgcc and pgf90), modi4 (F90 and parallel)
Misc. update:
Purpose: Catching up with the C library
Description: Enabled checking for shuffle, deflate and checksum filters for Fortran
Solution:
Platforms tested: arabica(C and F90), burrwhite (pgcc and pgf90), modi4 (F90 and parallel)
Misc. update:
Purpose:
Maintenance
Description:
* Added support for generic properties.
* Added support for time allocation properties.
* Added support for variable length datatypes (only datatypes based
on INTEGER, REAL and CHARACTER Fortran types are supported).
* added some missing functions
Solution:
I am checking in new Fortran APIs and their man pages to support
1.5 features listed above.
Not all APIs have tests yet. APIs were written in Fall 2002, and I am afraid
that I will loose the code or totally forget what I did if I wait longer. ;-)
Platforms tested:
arabica (fortran), eirene (fortran), modi4 (parallel, fortran)
Purpose:
Bug fix
Description:
Enumeration datatype was broken in Fortran
Solution:
Fixed C wrapper functions to pass variables correctly from
Fortran to C layer.
Platforms tested:
modi4, arabica, eirene
Update
Description:
Updated the configure scripts. Fortran and C++ didn't have proper
checks for Linux LFS support. Also needed to remove the "-g" flag
from the compile line if --enable-production is set. For that, I took
how it's being done in HDF5 Lite...
Platforms tested:
Linux
fortran/config/powerpc-ibm-aix5.x
To cover AIX 5.x.
Removed Files:
fortran/config/powerpc-ibm-aix4.2.1.0
fortran/config/powerpc-ibm-aix4.3.2.0
These files are outdated and have been replaced by powerpc-ibm-aix4.x.
Modified Files:
MANIFEST
Update it.
Platforms tested:
Only on LLNL blue. LLNL SP are the only machines that use
these files and that I have access.
Improvement
Description:
The fortran test code did not exit with error like C programs do.
Without the appropriate exit code, make or shell could not tell the
fortran test program has encountered errors. So, make continues on
even when some fortran tests have failed.
Solution:
Consultant advised to use "CALL exit(code)" to simulate what C programs
do. Though this is not standard Fortran, he has not seen it failed to
work in most fortran compilers thought some of them, like intel compiler,
may need to link in an extra library.
Platforms tested:
Tested on burrwhite (linux 2.4), eirene (linux 2.2), sol (Solaris 8, serial
and mpich parallel), modi4.
Did not use the standard commit test since this is a purely fortran fix.
Purpose:
Fortran port to IA64
Description:
I brought back changes from 1.4 branch to support IA64 system.
Platforms tested:
IA64 (titan), Solaris 2.7 (arabica), Linux 2.2 (eirene) and IRIX64-6.5 (modi4)
Purpose:
Bug fix
Description:
There was a typo in the h5dont_exit_c function name that caused compilation
problems on Windows
Solution:
Fixed typo
Platforms tested:
Kent is going to retest it on Windows.
Purpose:
Make Intel (and other) C and F90 compilers happy
Description:
There were several warnings about missing function prototypes and
wrongly defined string in the test program.
Solution:
Fix the code to include proper header files and function prototypes.
Fix the string.
Platforms tested:
Platinum (IA32) and arabica (Solaris 2.7)
Purpose:
Added missing fortran functions h5set(get)_buffer_f.
Also added docs and tests for them.
Solution:
Currently functions do not accept conversion and background buffers.
This corresponds to H5set(get)_buffer call with buffer pointers
set to NULL. If there is a demand, I can overload the functions
to have new parameters and go through all trouble creating functions
for all supported datatypes.
Platforms tested:
Solaris 2.7, Linux 2.2., IRIX64-6.5
Purpose:
Added new F90 APIs
Description:
I added new F90 APIs, tests, and documentation for the following
functions:
h5fget_obj_count_f h5pequal_f h5tget_member_index_f
h5fget_obj_ids_f h5pget_fclose_degree_f
h5pset_fclose_degree_f
Documentation for exisiting functions was missing:
h5freopen_f, h5fflush_f, h5fmount_f, h5unmount_f, h5fget_create_plist_f,
h5fget_access_plist_f.
Platforms tested:
Solaris 2.7, Linux 2.2 and IRIX64-6.5
Purpose:
Added new fortran functions
Description:
Source code, tests and documentation for h5glink2_f and h5gmove2_f
functions were added. I also added missing man page for h5glink_f
Platforms tested:
Solaris 2.7, IRIX64-6.5 and Liniux 2.2
Purpose:
Added missing fortran functions.
Description:
Four Library Fortran API functions have been added:
h5get_libversion_f, h5_check_version_f, h5garbage_collect_f and
h5dont_atexit_f. Only first two functions were tested.
Documentation file and RELEASE.txt were updated.
Platforms tested:
Solaris 2.7, IRIX64-6.5 and Linux 2.2
Purpose:
Bug fix
Description:
Search path for include files to build h5test_fortran.a did not have
hdf5_builddir and hdf5_srcdir directories. Compilation failed when
scrdir configure flag was used.
Solution:
Modified Makefile.in to include the directories into the search path.
Platforms tested:
modi4 with srcdir on AFS and build dir in $SCR using --enable-parallel
--enable-fortran flags.
Purpose:
Bug fix, code improvement
Description:
Fortran tests didn't cleanup created files. Also HDF5_PREFIX and
HDF5_PARAPREFIX were not used to specify location of the files.
There was a redundant file in the testpar directory that contained
an error reporting function used by both serial and parallel tests.
Solution:
Created library h5test_fortran.a that contains functions used by the
serial and parallel tests. It includes Fortran and C functions that
may be called from Fortran programs to report errors, to modify
file names and to cleanup files after run. Modified test code to
use new functions.
Platforms tested:
Linux 2.2 (eirene) serial
IRIX64 (modi4) parallel with HDF5_PREFIX and HDF5_PARAPREFIX set to $SCR
Solris 2.7 with mpich 1.2.4 with HDF5_PARAPREFIX set to /tmp/epourmal
Purpose:
Bug fix
Description:
_DLL_ macro was not replaced by H5_DLL macro in the Fortran stabs
header file when it was replaced in the C header files.
Solution:
Replace it.
Platforms tested:
Tested on Solairs 2.7 with --enable-fortran --enable-cxx flags.
Bug Fix
Description:
Sometimes, we needed to pick up a header file in the current build
directory.
Solution:
Added a test to see if the compiler can handle the "-I." option so
that it will get that header file.
Platforms tested:
Modi4
Bug Fix
Description:
We were getting the wrong MPIRUN program when you used the full
pathname. The "case" statement was checking the "F9X" macro, but it
really only needed the basename of the F9X macro.
Solution:
Put wildcard matching in so that it would find the appropriate
basename.
Platforms tested:
Modi4
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.
Bug Fix
Description:
Was nulling out the RUNPARALLEL and other macros which shouldn't be
nulled out.
Solution:
Removed the code which does the nulling out of those macros.
Purpose:
Code clean up.
Description:
Many F90 compilers were not happy about character*(*) declarations.
Solution:
Used F90 character(len=*) declarations.
Platforms tested:
Solaris 2.7 and Linux 2.4
Code cleanup
Description:
While working on the "External test" failure I restructured and
cleaned up some C stub code.
Platforms tested:
dangermouse (Linux 2.4)
Bug Fix
Description:
On Linux 2.4 kernel, we need to check for Linux LFS support. There
was a failure in the Fortran code when we tried to pass a 4 byte off_t
variable to a function which expected an 8 byte off_t. This is due to
there being no check for the LFS support in the Fortran code.
Solution:
Added the check for Linux LFS support.
Platforms tested:
Elena will test on Linux platform...
Bug Fix
Description:
Put quotes around some variables so that the shell script doesn't
complain to us about "too many arguements" for a test.
Platforms tested:
Linux
Purpose:
Bug#670 fix
Description:
dims parameter to the h5dwrite_f, h5dread_f, h5awrite_f and h5aread_f
subroutines was declared as INTEGER array of size 7 (max number of dimensions
in Fortran). Users could not use the same buffer dims as an argument to
the h5screate_simple_f subroutine since it should be an array of size = RANK
and type INTEGER(HSIZE_T).
Solution:
Overload subroutines with dims parameter to be assumed size array of
INTEGER(HSIZE_T) type for backward compatibility.
Subroutine with the INTEGER dims argument should be depricated in 1.6 release
Platforms tested:
Windows, Solaris2.7, IRIX64-6.5
Update
Description:
Changed so that the Fortran and C++ configures are named "HDF5
Fortran" and "HDF5 C++" resp. instead of just "HDF5.
Solution:
Add an extra parameter to the subroutine which generates the new
configure.in files.
Platforms tested:
Linux
Purpose:
Maintenance
Description:
Changed code to use H5_HAVE_MPI_MULTI_LANG_* definitions and
H5pubconf_fortran.h include file.
Solution:
Platforms tested:
Let's daily tests do this work. I have to leave now.
Update
Description:
Added a conversion of the H5config_fortran.h file to
H5pubconf_fortran.h so as to keep with the HDF5 format of using H5_
as a prefix for HAVE_* macros.
Platforms tested:
Linux
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
Purpose:
Bug fix
Description:
For some unknown to myself reason I used 32-bit integer for INTEGER(HSIZE_T)
on Solaris platforms when 64-bit integers are available for both C and Fortran.
Solution:
Use long long type to describe h(s)size_t_f types
Platforms tested:
Solaris 2.7 ans 2.6
Purpose:
Bug fix
Description:
For some unknown to myself reason I used 32-bit integer for INTEGER(HSIZE_T)
on Solaris platforms when 64-bit integers are available for both C and Fortran.
Solution:
Use the proper KIND argument to define INTEGER(HSIZE_T)
Platforms tested:
Solaris 2.7 ans 2.6
Purpose:
Bug fix
Description:
Different MPI implementations use different ways to
pass MPI objects between C and Fortran layers. MPI-2 defines
a standard set of MPI_*_c2f(f2c) functions for this purpose.
Unfortunately it is not implemented everywhere and makes
code non-portable between different parallel platforms.
Solution:
Always use MPI_*c2f(f2c) functions in our code. Configure
finds out if those functions are available. If not, then we define
macros to immulate those functions.
Platforms tested:
IRIX64-6.5 (modi4) and SP3 (seaborg.nersc.gov). On those platforms
functions do not exist and we use macros. Bill will test on
HPUX System V (SDSC machine) to check if this works when functions
are defined. Preliminary testing showed that it worked.
Fix
Description:
When doing a TRY_LINK, the compiler complained about lack of
parameters being passed to the function.
Solution:
Added the parameter it wants...
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 Update
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
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
Purpose:
Bug Fix
Description:
Parallel Fortran wasn't working on Modi4. The tests for parallel
MPI Fortran were failing to find MPI files.
Solution:
Changed the AC_TRY_FLINK() macro so that libraries are included
at the end of the link line so that unresolved symbols can be
found...
Platforms tested:
Modi4
Purpose:
Bug Fix
Description:
Hrm...When I was restoring the LDFLAGS variable after a failure, I
fergot to put a $ on the saved_LDFLAGS variable during the
assignment.
DOH!
Solution:
Added the $.
Platforms tested:
Modi4
Bug Fix
Description:
I wasn't testing if the Fortran compiler could actually do the MPI
compilation tests.
Solution:
Changed the configure script so that it uses Fortran 90 to test the
MPI compilation stuff instead of the MPI C compiler...
Platforms tested:
AIX and Linux
Purpose:
Bug Fix
Description:
The new way of detecting LibZ (just specifying the directory where
include/ and lib/ are) wasn't propagated down to the Fortran
directory.
Solution:
Added that code...
Platforms tested:
AIX and Linux
Purpose:
Bug fix
Description:
I borrowed function HDpackFstring from the HDF4 Library and
left name unchanged. It causes linking problems for Fortran users
that use both HDF4 and HDF5 Libraries in their applications.
Solution:
Changed the name to be HD5packFstring
Platforms tested:
Solaris 2.7
Bug Fix
Description:
The make uninstall-examples wasn't working if fortran or C++ was
built.
Solution:
Added uninstall-examples to the Makefile.
Platforms tested:
Linux
Purpose:
Maintenance
Description:
Several compiler's warnings caused Hitachi SR8000
F90 and C compilers to fail.
Solution:
Fixed the code to eliminate warnings.
Platforms tested:
O2K (modi4) and Solaris 2.7 (arabica)
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).
Bug fix.
Description:
Fix fortran stub for H5P[gs]et_hyper_cache.
Solution:
Made the fortran subs not execute any function calls into the library,
unless v1.4 compatibility is turned on.
Elena will be following this up with a real fix.
Platforms tested:
FreeBSD 4.4 (hawkwind)
Purpose:
Bug fix
Description:
Somehow I forgot to add DEC compiler directives to the H5Eff.f90
file. Linking failed on OSF 5.1
Solution:
Added necessary compiler directives for name translations.
Platforms tested:
Not tested yet but without this change it would fail.
Purpose:
Bug fix
Description:
Error messages were printed to the file and standard output regardless
of the parameters passed to the h5eprint_f function. h5eprintc function
did not close the file with the error output. Fixed.
Platforms tested:
arabica and eirene
Purpose:
Bug fix
Description:
On NERSC SP3 configure failed while trying to figure out
how to print long long.
Solution:
Added the following line
hdf5_cv_printf_ll=${hdf5_cv_printf_ll='ll'}
Platforms tested:
Not tested yet.
Kludge
Description:
Since we're only about halfway through converting the internal use of
property lists from the "old way" to the generic property lists, we turned
off snapshots to avoid exposing lots of API changes to users, until the
APIs settled down.
Getting the snapshots rolling again seems to have become a priority, so
some changes are going to have to be made now that were going to be
postponed until we were completely finished with the conversion. This
requires that the old API functions be able to deal with both the old
and new property lists smoothly.
Solution:
Kludge together the property list code so that they can transparently handle
dealing with both the old and new property lists
Platforms tested:
FreeBSD 4.4 (hawkwind)
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
Code cleanup (sorta)
Description:
When the first versions of the HDF5 library were designed, I remembered
vividly the difficulties of porting code from a 32-bit platform to a 16-bit
platform and asked that people use intn & uintn instead of int & unsigned
int, respectively. However, in hindsight, this was overkill and
unnecessary since we weren't going to be porting the HDF5 library to
16-bit architectures.
Currently, the extra uintn & intn typedefs are causing problems for users
who'd like to include both the HDF5 and HDF4 header files in one source
module (like Kent's h4toh5 library).
Solution:
Changed the uintn & intn's to unsigned and int's respectively.
Platforms tested:
FreeBSD 4.4 (hawkwind)
More code cleanups
Description:
Wrap up the code cleanups for changing the dataset transfer property lists
over to using the generic property list code.
Platforms tested:
IRIX64 6.5 (modi4)