Purpose: Maintenance/code cleanup/fight with Windows Fortran DLLs
Description: While strugling with Fortran DLLs on Windows I noticed
some missing export definitions that are necessary
for exporting correctly data and functions.
Solution: Added missing definitions
Platforms tested: h5committested; Windows with MSVC++ and Visual Fortran
on Windows. Fortran DLLs partially work, only 2 tests
fail, but failure doesn't make any sense. To make
things worse, most of the C DLL tests start to fail when
Fortran is built. I am still investigating...
Misc. update:
Purpose: Windows maintenance and code cleanup
Description: There were a lot of places in the source code where varibale
was declared but never used.
Solution: Cleaned the source code to avoid warnings on Windows adn Unix
platforms.
Platforms tested: arabica, modi4, Windows
Probably my environment is wrong on Linux, cannot
compile at all when fortran is enabled
If daily tests fails tomorrow, this will be my fault
but I want to go home now :-)
Misc. update:
Improvment
Description:
No default setting of fortran compiler when --enable-parallel is
used.
Solution:
Changed it to use mpxlf_r as the default parallel fortran compiler.
This is consistent with the default C compilers.
Platforms tested:
Did not h5committested because the changes were made offsite.
Tested in LLNL SP BLUE, both serial and parallel modes.
(There is a compiling error in src but the configure result are
verified.)
Misc. update:
Update MANIFEST if you add or remove any file.
Update release_docs/RELEASE for bug fixes, new features, etc.
Update applicable document files too.
bug fix
Description:
The default of CC used to be gcc which is not compatible with the
default fortran compiler of xlf.
Solution:
Copied the CC default setting from the C-API level.
Platforms tested:
Run test in Copper since this is a purely AIX change.
Misc. update:
Bug Fix
Description:
In parallel mode, the MPI libraries were being added to the LDFLAGS
variable instead of the LIBS variable. This was playing havoc with
the h5fc script (the order you specify libraries is important to some
compilers).
Solution:
The AC_CHECK_FLIB macro was placing these libraries into the LDFLAGS
instead of LIBS, which is where they should have gone. Replaced
LDFLAGS with LIBS in that case.
Platforms tested:
Modi4 (Parallel & Fortran)
Arabica (Fortran)
Verbena (Fortran, no C++ since it's not affected)
Ran "make check-install" after installation...
Misc. update:
Bug Fix
Description:
On Kelgia, building of the Fortran stuff would fail because of a bad
commandline. A "" was being put into it.
Solution:
I was stupid and put quotes around a variable in the commence.in file
when I shouldn't have. Removed those quotes.
Platforms tested:
Kelgia (Fortran)
Verbena (Fortran, no C++ since Fortran only)
Arabica (Fortran)
Modi4 (Fortran & Parallel)
Misc. update:
Bug Fix
Description:
When going to compile on a platform (like HP-UX) which doesn't have
libz.a in it's path, the script would fail. The reason was that the
LDFLAGS variable which holds the directories to these libraries was
last in the compile line. So the compiler couldn't find the library
Solution:
Put the LDFLAGS variable before the linker variables.
Platforms tested:
Kelgia (Fortran)
Verbena (Fortran, no C++ since only Fortran affected)
Arabica (Fortran)
Modi4 (Fortran & Parallel)
Also ran "make check-install"
Misc. update:
Bug Fix
Description:
H5FC was failing on Copper (IBM P690). The reason: the xlf compiler
needs files to end in .f in stead of .f90. If you have .f90 files,
you need the "-qsuffix=f=f90" flag defined. This was defined for
compiling things via the "-c" option (to object files) but not for
straight compilation of a file.
I also noticed that the directory modules were being extracted from
was "." and "../src". H5FC would find these alright when doing a
"make check-install" but if Suzie User were to try this, it might
fail for her. Suzie would have to specify explicitly where to grab
these files.
Solution:
The solution to the problem was a bit more involved. I added a new
variable called "F9XSUFFIXFLAG" which is set to this value if the
machine needs it.
Added new variable called "FSEARCH_DIRS" which can be set to the
directories to find modules during compilation. The H5FC script knows
where to find the correct modules (it's in the lib/ directory), so it
uses the F9XMODFLAG to find them and not the FSEARCH_DIRS flag.
Platforms tested:
Modi4 (Fortran & Parallel)
Verbena (Fortran) C++ not needed since this is Fortran-only fix
Arabica (Fortran)
Copper (Fortran)
Ran "make install" and "make check-install" afterwards...
Misc. update:
Update
Description:
Ran "autoheader" to gather some of the added #defines that were
included in the configure.in file over the months...
Platforms tested:
Arabica & Baldric (Fortran)
Modi4 (Parallel & Fortran)
Verbena (C++ & Fortran)
All with --enable-stream-vfd and doing a "make check-install".
Misc. update:
Bug Fix
Description:
The h5fc script couldn't find the correct libraries needed when it
was used on Solaris and the --enable-stream-vfd was enabled.
Solution:
Added checks for the -lnsl and -lsocket libraries if we're on Solaris
or HP-UX.
Platforms tested:
Arabica & Baldric (Fortran)
Modi4 (Parallel & Fortran)
Verbena (C++ & Fortran)
All with --enable-stream-vfd and doing a "make check-install".
Misc. update:
Bug fix and feature
Description:
The patch to Makefile.in failed if an empty directory of fortran/examples
was left behind by a previous build.
Solution:
Attempted to put it in config/conclude.in just became a mess since
it is hard to predict when we will include examples in the subdirs
or not.
Borrow the structure of install-examples and do some handcode per
interface. The Makefile.in of each interface (C, Fortran, C++)
controls everything. Not very systematic but pretty clean for this
case.
Platforms tested:
h5committested.
Also tested in modi4 with various combinations of fortran, c++
enabled.
Misc. update:
Purpose: Added copyright statement; cleaned code and fixed bugs for
Windows and Cray T90IEEE
Description: Windows and Cray ports exposed few typos in the source code
that caused tests to fail
Solution: Added copyright statement and clean the code.
Platforms tested: CRAY T90IEEE, arabica, modi4 with parallel, Windows 2000
Only static tests (both debug and release) passed on Windows.
DLLs have multiple problems ;-)
Misc. update:
Purpose: Added copyright statement; cleaned code and fixed bugs for
Windows and Cray T90IEEE
Description: Fortran files did not have copyright statement; VL types
did not work on T90IEEE since I never brought the correct code
from 1.4 branch; there were compilation warnings on Windows;
some character parameters were not passed correctly to C stubs
causing tests to fail on Windows.
Solution: Added copyright statement and clean the code.
Platforms tested: CRAY T90IEEE, arabica, modi4 with parallel, Windows 2000
Only static tests (both debug and release) passed on Windows.
DLLs have multiple problems ;-)
Misc. update:
Purpose: Catching up with 1.4 branch
Description: 1.5 didn't have unicos10.0.X configuration files
for both C and fortran.
Solution: Added the files
Platforms tested: CRAY T90IEEE
Misc. update:
Purpose: Catching up with C library
Description: I added tests for new functions
h5pset_szip_f
h5pget_filter_by_id_f
h5pall_filters_avail_f
I am not sure how to test h5pmodify_filter_f.
Solution:
Platforms tested: arabica (with and without SZIP Library),
modi4 (with SZIP and parallel)
burrwhite (with SZIP and PGI C and Fortran compilers)
Misc. update:
Purpose: Catching up with C library
Description: I added four new functions
h5pset_szip_f
h5pget_filter_by_id_f
h5pmodify_filetr_f
h5pall_filters_avail_f
Solution:
Platforms tested: arabica (with and without SZIP Library),
modi4 (with SZIP and parallel)
burrwhite (with SZIP and PGI C and Fortran compilers)
Misc. update:
Fix
Description:
There are some Fortran compilers which don't have a module flag.
Solution:
If they don't have one, then don't specify it on the line. Also added
the LDFLAGS to the compile line so that we pick up the proper
libraries and their directories.
Platforms tested:
Modi4 (Parallel & Fortran)
Burrwhite (Fortran & C++)
Baldric (Fortran), but make check didn't work because of "libucb.so"
error that I can't fix...)
Misc. update:
Update
Description:
Updated so that the example programs are built with the new h5fc
script after it's installed. (So you need to cd into the examples/
directory and type "make check" or similar. This is how it is in the
C part).
Platforms tested:
Modi4 (Parallel & Fortran)
Burrwhite (Fortran & C++)
Baldric (Fortran), but make check didn't work because of "libucb.so"
error that I can't fix...)
Misc. update:
Update
Description:
Added check for the SZlib option. The SZlib stuff needs to propagate
down to the h5fc script.
Also, removed "examples" from some of the Makefile's rules so that
it's the same as in the C library.
Platforms tested:
Modi4 (Parallel & Fortran)
Burrwhite (Fortran & C++)
Baldric (Fortran), but make check didn't work because of "libucb.so"
error that I can't fix...)
Misc. update:
Bug Fix
Description:
The way to detect modules wasn't in there.
Solution:
Added the 'F9XMODFLAG' variable and have it pointing to the
appropriate place.
Platforms tested:
Arabica. Will test on other platforms one at a time. This won't
affect other parts of the system...
Misc. update:
Bug Fix
Description:
Some of the macros in the script weren't being updated by configure
correctly. Also, the FFLAGS needed to be used during compilation.
Solution:
Put the correct macros in there. Added FFLAGS.
Platforms tested:
Arabica. Only testing it on one platform for now since this is a
script change and needs to be tested on one machine first before
further testing...
Misc. update:
Addition
Description:
Added "h5fc" utility. This is the same as the "h5cc" utility but for
Fortran. It only handles static libraries since that's the only
library we build for Fortran.
Note! I've tested the code on the normal platforms but I haven't
tested the utility itself.
Platforms tested:
Arabica (Fortran)
Modi4 (Fortran & Parallel)
Burrwhite (Fortran & C++
Misc. update:
Update
Description:
The "--enable-parallel=TYPE" option was revamped but the help string
wasn't modified.
Solution:
Modified it to print out just "--enable-parallel" because we no
longer support the "=TYPE" option.
Platforms tested:
arabica (Fortran)
Modi4 (Parallel & Fortran)
Burrwhite (Fortran & C++)
Misc. update:
Bug fix.
Description:
The macro MAX defined here is very commonly defined, e.g., AIX systems.
The compiler did not like duplicated macro defines.
Solution:
H5_MAX is already defined in H5f90.h and used in other code.
Remove MAX and change its use to H5_MAX.
Platforms tested:
"h5committested", plus tested at LLNL Blue.
Misc. update:
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)
Code cleanups, mostly..
Description:
Work on pacifying the SGI compiler to get the generic properties working
correctly with --enable-parallel and --enable-fortran. It's not quite
fixed yet, but I need to head home and these patches help... :-/
Platforms tested:
IRIX64 6.5 (modi4)
Bug fix.
Description:
Left an extra '}' in when I removed the v1.2.x compat stuff.
Solution:
Took the '}' out... :-)
Platforms tested:
Solaris 2.7 (arabica)
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
Purpose:
Bug fix (bug#625)
Description:
Character buffers were not copied and freed properly. That caused segmentation fault on Linux (Debian 2.2, a glibc2.1.3-based distro and gcc 2.95.2 and NAGWare Fortran 95 compiler Release 4.0a(392). Also many compilers screamed about this piece of code.
Solution:
Asked Quincey to fix the code.
Platforms tested:
Linux (eirene)
Purpose:
Bug Fix
Description:
the ptesthdf5_fortran.f90 program was dependent upon the THDF5
module. But before the ptesthdf5_fortran.lo file is build, the THDF5
module needs to be built.
Solution:
Put that dependency into the Makefile.
Purpose:
Bug Fix
Description:
*sigh* The change I made yesterday didn't work correctly. The shell
command interpretted the line as if it were command flags.
Solution:
Removed the "()"s from around the macro name so that they can be
expanded correctly.
Platforms tested:
Linux
Purpose:
Fix
Description:
Porting fixes from the 1.4 branch to the 1.5 branch. This fixes the
dependency problem in the testpar/ directory and also the problem
with module includes on the command line.
Purpose:
Bug Fix
Description:
In order for libtool to point to the place zlib lives (when
specified) it needs to add that flag to the LDFLAGS macro. However,
since we're getting this information from the top-level configure,
it's cached. Thus, we don't check for it and the -L flag doesn't get
included into the LDFLAGS macro.
Solution:
Remove the cached value so that the Fortran configure will always
check for zlib even if it's found by the top-level configure.
Platforms tested:
Kelgia
Bug Fix
Description:
Propagating changes from the 1.4 branch to the 1.5 branch. This
fix takes care of the problem of parallel make in the Fortran
directory.
Platforms tested:
Eirene and Modi4
Purpose:
Bug Fix
Description:
Modules weren't being found correctly.
Solution:
The F9XMODFLAG was being set and used in the test{par}/ and examples/
directories, but it's also needed in the src/ directory.
Platforms tested:
Modi4...cross fingers...
Purpose:
Bug Fix
Description:
Changed the order of the flags checking for modules from -M -I to -I
-M. Elena already fixed it in the configure ifle. This puts it in the
acsite.m4 file so that it will be propagated to future configure
builds.
Purpose:
Maintenance on IBM SP
Description:
I used unnecessary system specific compiler falgs
Solution:
Removed unnecessary flags
Platforms tested:
NERSC IBM SP (gseaborg)
Purpose:
Bug bypass
Description:
Fortran configure checks flags where to find F90 modules in the
order "M", "I" and "p". On IBM SP "M" is a reserved flag, configure
does not understand compiler's warning and uses it to specify
module directories. Then tests and examples compilation fails since
module directory is not specified correctly on the compilation line.
Solution:
Changed the order of flags to be "I", "M", "p", so configure on IBM SP
finds the correct flag first.
Platforms tested:
NERSC IBM SP (gseaborg)
Purpose:
IBM SP F90 HDF5 Library port
Description:
Added necessary type definitions for the port
Platforms tested:
Tested only for 1.4. branch. 1.5 branch will be tested later.
Purpose:
DEC UNIX port
Description:
Windows port caused problems on DEC UNIX.
Names of C functions called from F90 subroutines were converted
to UPPER case while DEC UNIX expected them to be in lower case.
Solution:
Added special DEC compiler directives to avoid the conflict on two
systems
Platforms tested:
Windows98, DEC UNIX, Linux
Purpose:
HPUX 11.00 port
Description:
Redundant USE statements triggered a bug in the HP F90 compiler.
Solution:
Source code was rearranged to avoid redundancy: definitions of the
object and dataset region reference types were moved from H5Rff.f90
to H5f90global.f90; "USE H5R" statement was removed from H5Rff.f90.
Now H5Rff.f90 uses "USE H5GLOBAL" statement only as the rest of
the modules.
Platforms tested:
HPUX 11.00 (kelgia), Solaris 2.7 (arabica)
Purpose:
Bug fix
Description:
There was a syntax error on Windows, and I fixed it long time ago but forgot
to check this file into CVS.
Solution:
Fix the error.
Platforms tested:
Windows98
Purpose:
Windows port
Description:
Names of the H5f.c and H5ff.f90 files caused problems on Windows98.
Compilation of H5F.c (C Library) and H5Ff.f90 (Fortran library)
as compilation of H5f.c and H5ff.f90 creates the same H5F.o and H5FF.o
file names and linking stage fails.
Solution:
Rename the files to H5_f.c and H5_ff.f90
Platforms tested:
Linux (eirene) and Windows98
Bug Fix
Description:
The "-$(RM)" flags were causing error messages when doing a make
distclean.
Solution:
Removed the "-" from the beginning.
Platforms tested:
Linux
Purpose:
Codemaintenance
Description:
read/write APIs have been changed.
Solution:
Made necessary changes to the source code.
Platforms tested:
Linux, Solaris 2.7, O2K, T3E
Purpose:
Code maintenance
Description:
read/write APIs have been changed.
Solution:
Made necessary changes to the tests.
Platforms tested:
Windows 98, Linux, Solaris 2.7, O2K, T3E
Purpose:
Windows port
Description:
Multiple changes:
* Windows platforms require special compiler directives
in order to create DLLs.
* In read/write subroutines data arrays were passed by descriptor.
This worked on UNIX but did not work on Windows.
Solution:
* added compiler directives.
* read/write APIs have been changed. There is an additional
parameter (array that contains the sizes of data buffer dimensions)
and regular arrays are used instead of assumed-shaped arrays.
Platforms tested:
* Currently this feature does not work. Common blocks are not exported correctly
from one F90 module to another.
I am checking this in so I can ask DEC for help.
* For static library tests passed on Windows 98 ( except flush2_fortran)
All tests passed on Linux, Solaris 2.7, O2K and T3E
Cleanup
Description:
If there isn't anything to "remove" during the cleanup faze. This
stops the "make clean"s from printing out:
rm -f
all of the time.
Solution:
Check if hte macros have anything in them before calling the rm.
Platforms tested:
Linux
Portability changes
Description:
Very quick port to Compaq (nee DEC) Alpha OSF5.
Solution:
Added a new "dec-osf5.x" configuration file and changed configure.in
to look for it.
The local test machine is now passing all the tests, except I can't get
the "-L<path>" stuff to work, so tools which depend on the HDF4 library
around tested.
Platforms tested:
Compaq Alpha 5.1 (compaq.ncsa.uiuc.edu)
Bug Fix
Description:
If we need to specify a -R flag for dynamic libraries (like, in the
case when we specify --with-hdf4), then this flag needs to be added
to the linking line so that it will show up in the generated library
and other programs linking to that library will be able to find the
relevant libraries.
Solution:
Added the DYNAMIC_DIRS macro to the link line.
Platforms tested:
Arabica
Bug Fix
Description:
Create a Makefile in the testpar/ directory only if PARALLEL is
enabled.
Solution:
Set a macro to the testpar/Makefile for the generation script.
Purpose:
Maintenance
Description:
[describe the bug, or describe the new feature, etc]
Solution:
Added comment block to each subroutine.
Platforms tested:
NONE, do it later.
Purpose:
Windows port and maintenance
Description:
Each C function called from F90 subroutine requires explicit
interface. Some drivers functions were not implemented.
Solution:
Added interfaces and comment blocks to each F90 subroutine.
Added the following subroutines:
h5pset(get)_fapl_core_f
h5pset(get)_fapl_family_f
h5pset_fapl_sec2_f
h5pset_fapl_stdio_f
Platforms tested:
Linux (eirene) to make sure that code still works on UNIX.
More UNIX platforms will be tested before moving to Windows.
Purpose:
Window port and maintenance
Description:
Windows Fortran requires interface blocks for each C function
called from F90 stub.
I also added comment blocks for each F90 API and fixed minor bugs
in enum datatype routines that are not official yet.
Solution:
Added interface blocks.
Platforms tested:
Linux (eirene)
Purpose:
Window port and maintenance
Description:
Windows Fortran requires interface blocks for each C function
called from F90 stub.
I also added comment blocks for each F90 API.
Solution:
Added interface blocks.
Platforms tested:
LINUX (eirene)
Purpose:
Windows port and maintenance
Description:
Windows Fortran requires interface blocks for each C function
called from F90 stub.
I also added comment blocks for each F90 API.
Solution:
Added interface blocks.
Platforms tested:
Linux (eirene)
Purpose:
Bug fix
Description:
Function name h5rget_object_type_obj_f was used in test program
instead of the generic name h5rget_object_type_f.
Solution:
Changed the name.
Platforms tested:
Linux (eirene)
Purpose:
Windows port and maintenance
Description:
Windows Fortran requires interface blocks for each C function
called from F90 stub.
I also added comment blocks for each F90 API and fixed several typos.
Solution:
Added interface blocks.
Platforms tested:
Linux (eirene) to test that things are not broken on UNIX.
Purpose:
Windows port and maintenance
Description:
Windows Fortran requires interface bocks for each C function called from F90 stub. I also added comment blocks for each F90 API.
Solution:
Added interface blocks.
Platforms tested:
Linux (eirene) to test that things are still working on UNIX.
Purpose:
Windows port and maintenance
Description:
Windows Fortran requires interface bocks for each C function
called from F90 stub.
I also added comment blocks for each F90 API.
Solution:
Added interface blocks.
Platforms tested:
Linux (eirene) to test that things are still working on UNIX.
Purpose:
Windows port and maintenance.
Description:
Windows Fortran requires explicit interface block for each
C function called from F90 stub.
I also added comment block for each F90 function.
Solution:
Added inteface block for each function.
Platforms tested:
Linux (eiriene): checked that code is still compiles and runs correctly
on UNIX.
Bug fix
Description:
The /bin/csh shell was causing problems if you were using a different
shell than csh (like bash). It couldn't find the compiler.
Solution:
Changed to the more standard /bin/sh
Platforms tested:
Linux
New platform
Description:
Support the Cray SV1 machine. (config file is identical to unicosmk file
right now).
Platforms tested:
Cray SV1 (killeen.nersc.gov)
Purpose:
Bug fix
Description:
Compilation failed for the H5f90global.f90 file on DEC UNIX (hdf5-1.4.0-beta3-pre2)
When new definition H5E_TBBT_F was added, the length of the corresponding
H5E_flags array was not increased.
Solution:
Fixed the length of the array.
Platforms tested:
DEC UNIX (gondolin)
Purpose:
Bug fix.
Description:
While building on T3E, I noticed several compiler warnings about
variable being used before its value was defined.
Solution:
Fixed.
Platforms tested:
T3E (mcurie.nersc.gov)
Bug Fix
Description:
Small bug fix to the acsite.m4 stuff. We should check if the Fortran
9X compiler was found instead of the CC compiler.
Solution:
Changed CC to F9X macro.
Platforms tested:
Linux
Bug Fix
Description:
The test ``test -e "filename"'' doesn't work with some Bourne shells
(for instance, on Arabica).
Solution:
Changed test to ``test -f "filename"''.
Platforms tested:
Arabica
Bug fix
Description:
This should fix the problem with installing the Fortran module
files.
Solution:
This script determines if the HDF5 module is created. If it is,
then we assume that we need to install all of the modules. I
check for both upper and lowercase in the name cause I'm not sure
what weird fortran compilers will do.
Platforms tested:
Linux
Another fix...
Description:
This should work for all platforms now. The other fix didn't work
for the Linux platform
Solution:
Explicitly copy the modules if they exist.
Platforms tested:
Linux
Bug Fix
Description:
When trying to install the Fortran Modules, it would barf if
there weren't any files in the directory with that extension
(i.e., in the test/ directory).
Solution:
Changed the installation to install only those files which
actually have the correct extension we want.
Platforms tested:
This type of fix works on the T3E and Linux
Install Fix
Description:
Fortran modules need to be installed.
Solution:
I check for the extension modules are created with and use that
during the install...
Platforms tested:
Linux
Purpose:
Maintenance
Description:
Not all platforms support F90 MPI. I used USE MPI statement, and
it did not work on T3E (mcurie.nersc.gov)
Solution:
Use INCLUDE 'MPIF.H' statement instead of USE MPI.
Platforms tested:
O2K and T3E
Bug Fix
Description:
Parallel stuff wasn't being compiled on T3E. It was complaining
about not being able to find said files. Also, I was confused
about which Fortran module needed to be compiled when it was
parallel.
Solution:
Did magic so that the correct files are specified when parallel
is enabled.
Platforms tested:
T3E
New Config
Description:
T3E at mcurie.nersc.gov changed it's name yet again.
Solution:
Create new file so that configure will find it correctly.
Platforms tested:
T3E
Bug Fix
Description:
The fix we put in to ignore warning 405 was incorrect. The quotes
were confusing to configure.
Solution:
Turns out that there doesn't need to be a space between the -M
flag and the warning number.
Platforms tested:
T3E
Purpose:
Bug fix on T3E.
Description:
There was a typo in the h5init_types_c name translation line that
caused compilation errors.
Solution:
Fixed the typo. This fix exposes another error and I have no clue what to
do about this one
f90 -p. -p../src -dp -o fortranlib_test fortranlib_test.o hdf5test.o tH5F.o tH5D.o tH5R.o tH5S.o tH5T.o tH5Sselect.o tH5P.o tH5A.o tH5I.o tH5G.o ../src/.libs/libhdf5_fortran.a ../../src/.libs/libhdf5.a -L/u3/epourmal/HDF4/NewHDF/lib -lmfhdf -ldf -ljpeg -lz -lnsl -lm
cld-405 cld: WARNING
The entry point `HDF5' defined in relocatable object `../src/.libs/libhdf5_fortran.a[HDF5.o:HDF5]' is used; the definition in relocatable object `./../src/HDF5.o:HDF5' is ignored.
cld-431 cld: WARNING
The resulting output file `fortranlib_test' is not executable because of previous WARNING messages.
Make: "../../libtool --mode=link f90 -p. -p../src -dp -o fortranlib_test fortranlib_test.lo hdf5test.lo tH5F.lo tH5D.lo tH5R.lo tH5S.lo tH5T.lo tH5Sselect.lo tH5P.lo tH5A.lo tH5I.lo tH5G.lo ../src/libhdf5_fortran.la ../../src/libhdf5.la": Error code 1
cmd-2436 make: Stop.
+ exit 1
Make: "set -x; for d in src test examples; do \
(cd $d && make tests) || exit 1; \
done": Error code 1
Platforms tested:
T3E
Bug Fix
Description:
We were not propagating the FFLAGS macro. I.e., we were
overwriting it after it was set in the commence.in includes.
Solution:
Include it with a ``@FFLAGS@'' where we'd normally overwrite it
so that it isn't.
Platforms tested:
T3E
Attempted Bug Fix
Description:
Some machines (Cray T3E, need you ask?) use the ``-p'' flag for
enabling double precision. This breaks our Fortran interface.
Solution:
Put this test last. However, the T3E apparently doesn't need
modules, so we may have to resort to a better "fix" than this
in the future.
Platforms tested:
T3E
Purpose:
Bug fix
Description:
hdf5 1.4.0_beta1 build failed for Fortran test tH5T.f90 because
third argument of the h5tarray_create_f subroutine had INTEGER(SIZE_T)
type instead of INTEGER(HSIZE_T) type.
Solution:
Fixed the datatype.
Platforms tested:
Linux (eirene)
Purpose:
Bug fix.
Description:
H5f90global.f90:
One of the common block arrays (floating_types) had a typo in the name.
DEC compiler was the only compiler to warn about the problem.
H5Ff.f90
Compiler gave warnings about a variable that was used before its value was defined.
Fixed. Turned to be a typo in a variable name.
Platforms tested:
DEC UNIX (gondolin)
Purpose:
Bug fix
Description:
Test program was using h5init_types_f and h5close_type_f
instead of h5open_f and h5close_f. Would not compile on modi4.
Solution:
Fixed the code to use new functions.
Platforms tested:
O2K (modi4)
Purpose:
Bug fix
Description:
h5gget_linkval_f function had an argument with the type INTEGER instead
on INTEGER(SIZE_T). Test would not compile on O2K.
Solution:
Fixed argument datatype.
Platforms tested:
O2K (modi4)
Purpose:
Bug fix
Description:
Functions were using flags that were not defined anymore.
Somehow I forgot to check this file in when I modified code
to use run-time generated flags.
Platforms tested:
O2K (modi4)
Bug Fix
Description:
T3E and J90 were complaining about not being able to make for
ADD_PARALLEL_FILES.
Solution:
Somehow the make on these machines must have been weirded out by
the funky pattern matching/replacement that's being done and
couldn't handle a null macro. I now assign "no" to the macro
explicitly
Platforms tested:
T3E
Purpose:
Code maintenance and development
Description:
I added two functions h5open_f and h5close_f to initialize
C library and Fortran interface (flags, predefined datatypes, etc).
Those calls are required for any F90 program that uses HDF5.
I renamed H5f90misc.c and H5f90miscf.f90 files to H5f.c and H5ff.f90.
New functions are added to those new files.
Platforms tested:
Solaris 2.6
Purpose:
Bug fix
Description:
HP and AIX compilers did not like duplicate array declarations in
common blocks statements.
Solution:
Removed duplication
Platforms tested:
SP2 and HPUX 11.00
Purpose:
Code maintenance
Description:
Fixed the code to use new h5tarray_create_f subroutine to
create a compound datatype with an array field.
Platforms tested:
Solaris 2.6
Purpose:
Bugs fix
Description:
I used H5Tcreate_array instead of H5Tarray_create in C stub
Solution:
Fixed
Platforms tested:
Solaris 2.6
OCVS: ----------------------------------------------------------------------
Purpose:
Code development and maintenance
Description:
Four new fortran functions to support array datatype were added:
h5tarray_create_f
h5tget_array_ndims_f
h5tget_array_dims_f
h5tget_super_f
Two functions were deleted (commented out for now, can be returned easily if
necessary):
h5tinsert_array_f
h5tget_member_dims
Platforms tested:
Library build was tested on Solaris2.6. I have to modify test program to
use new functions. Right now test program will not compile.
Buglet fix
Description:
Was removing the confdefs.h header which was needed during
Makefile generation.
Solution:
Stopped doing that.
Platforms tested:
Linux
Buglet fix...
Description:
When configuring, configure would complain about there not being
a confdefs.h file.
Solution:
Added a src/H5config.h file which configure can generate. This
can be used for configure stuff later, but is empty now.
Platforms tested:
Linux
Purpose:
New feature
Description:
Added F90 flags to support h5glink_f subroutine
H5G_LINK_ERROR_F
H5G_LINK_HARD_F
H5G_LINK_SOFT_F
Platforms tested:
Linux (eirene)
Purpose:
New feature
Description:
Now all Fortran flags such as H5F_ACC_RDONLY_F (previously defined in the
H5fortran_flags.f90 file) are generated at runtime when h5init_fortran_f
subroutine is called. All flags have now the same value as
corresponding C flags. This change affects user's programming model:
Every Fortran program that uses F90 HDF5 Library has to call
h5init_fortran_f(error) subroutine before the first call to the
F90 HDF5 Library and h5close_fortran_f(error) after the last call to the
Library. h5init(close)_types_f calls are not needed anymore since
F90 datatypes are intialized(closed) with the h5init(close)_fortran_f
calls.
Platforms tested:
O2K and Solaris2.7
Purpose:
Bug fix.
Description:
When the number of processors is wrong (should be a factor
of dataset dimensions for this test) , test hangs because
of wrong logic in the if-then-endif statement.
Solution:
Fixed the logic.
Platforms tested:
modi4 (O2K)
Purpose:
Bug fix.
Description:
Reading from the file failed because property list identifier
was not properly passed to the subroutine h5dread_f.
Solution:
Fixed the order of the parameters in the h5dread_d call
Platforms tested:
O2K (modi4)
Purpose:
Adding F90 || tests.
Description:
I created testpar directory with the following files
ptesthdf5_fortran.f90 - F90 test driver program
tcheck.f90 thdf5.f90 - handy subroutines to use with the tests
thyperslab_wr.f90 - F90 test:
collectively writes and reads hyperslabs to/from the dataset
Solution:
Platforms tested:
Partially tested on modi4 (O2K)
Bug fix...I hope
Description:
For some reason, libtool wasn't generating a .lai library file in
the .libs directory. It needs this to install things, apparently.
Solution:
Major hack! I force a ln to the "real" one libtools wants.
Platforms tested:
Modi4
Purpose:
Maintenancece.
Description:
F90 APIs would not compile anymore for || version..
Solution:
Replaced old functions h5pset(get)_mpio, h5set(get)_xfer with
ones h5pset(get)_fapl_m and h5pset(get)_dxpl_mpio_f
Platforms tested:
O2K.
Purpose:
Bug fix.
Description:
fortranlib_test.f90 had a typo in the format string. Would not compile on O2K.
Test did not check the length of the attribute name.
Solution:
Fixed format strings.
Added more code to test returned attribute name length.
Platforms tested:
O2K, Linux
Purpose:
Bug fix
Description:
Attribute test failed on O2K. h5aget_name_f function could not
return correct attribute name.
Solution:
size function parameter had wrong datatype in F90 subroutine.
Fixed it to be of INTEGER(SIZE_T) type.
Platforms tested:
O2K, Linux
Bug Fix
Description:
Getting messages while compiling the || fortran stuff that it
didn't have a rule to make "H5Pf_parallel.c".
Solution:
The quotes were confusing it. I placed the text in another macro
to fix this.
Platforms tested:
Modi4
Purpose:
Added more Fortran tests
Description:
tH5A.f90 - attribute interface test
tH5I.f90 - identifier interface test
Solution:
Two new files were added to test H5A and H5I interfaces.
Platforms tested:
Solaris 2.7, Linux
Purpose:
H5Aff.f90: Bug fix
Description:
Character string was not passed correctly from the user's application
to the write/read subroutines when buffer was decalred as assumed-shape
array.
Solution:
Declared date buffer to be assumed-size array.
Platforms tested:
Solaris 2.7, Linux
Purpose:
H5fortran_flags.f90: Bug fix
Description:
Fortran H5I_* types had incorrect values.
Solution:
Fixed.
Platforms tested:
Solaris 2.7, Linux
Bug Fix
Description:
Sed was complaining about "filename expected" when trying to
generate the .in files. The problem stemmed from the script sed
was generating in the conftest.s1 file. It needed the DEPEND
filename which wasn't being set.
Solution:
Fixed so that we check if DEPEND is zero before trying to set if
(if not using a GNU make program) instead of testing if DEPEND
has a value in it...I copied this incorrectly from the main
library's configure.in file...my bad.
Platforms tested:
T3E
Bug Fix
Description:
On some platforms, if you don't have . in your PATH, it won't
find the test program it's supposed to run.
Solution:
Changed instead to ./$$test so that it picks up the program in
the current directory.
Platforms tested:
Opus and Linux
Feature Missing
Description:
Generate the Dependencies files so modules are regenerated
correctly
Solution:
Handcoded the module. Hope it works.
Platforms tested:
Bug Fix
Description:
When doing a make clean, the H5fortran_types.f90 file would be
removed.
Solution:
Placed it in the DISTCLEAN macro instead of the CLEAN so that it
will stick around.
Platforms tested:
Purpose:
Fortran HPUX 11.00 port
Description:
Added Fortran stuff to the hpux11.00 file
Platforms tested:
Has not been tested yet. Will do it after this checkin on opus.
Bug fix
Description:
The setting does not work for the --srcdir option as source file names
are hard set in the action lines.
Solution:
Changed the dependence targets to the form of *.lo and the action lines
would use the *.lo files. This way, *.lo files are created when
-srcdir option is used or not. Also added that they all depend on
the C hdf5 library.
Platforms tested:
IRIX64 -64 with --srcdir