Add feature
Description:
Add H5Fget_freespace() routine, to check the amount of free space in a
file. This information is only valid until the file is closed currently,
however (until we start recording the free space information in the file
itself).
Platforms tested:
FreeBSD 4.9 (sleipnir)
h5committest
Description: On Linux systems valdrind tool complained about memroy leaks in the
following statements like
if(!a) free(a);
Solution: replaced the statements with
if ( a != NULL) free(a);
Platforms tested: eirene (too small for committest)
Misc. update:
Code cleanup
Description:
Changed version #'s returned from H5Pget_version from 'int *' to
'unsigned *' since we are never going to be using negative version #'s... :-)
Platforms tested:
FreeBSD 4.8 (sleipnir)
too small to need h5committest
Updated the copyright notice--mostly by rearranging
some text to make them consistent.
Solution:
Platforms tested:
"h5committested"--sol is down, so, no SUn test.
Misc. update:
Code cleanup
Description:
Switched 'hobj_ref_t' from funny structure with array inside to just be
'haddr_t', since that was equivalent and less confusing.
Platforms tested:
h5committested
Update
Description:
Revamped the configuration system. The configurations for the Fortran
and C++ libraries are no longer separate from the "main"
configuration system. This involved removing the "configure*" and
"aclocal.m4" files from the fortran/ and c++/ subdirectories. Also
merging settings in the config/ subdirectories into the main config/
subdirectory.
Fortran header files had to be modified a little for Linux. It was
checking if it was a Linux machine by some #defines, however with the
-std=c99 switch, these defines weren't there. I added a check for
some other ones which should be there whether the -std=c99 switch is
used or not.
Platforms tested:
Verbena (Fortran & C++)
Sol (Fortran & C++)
Copper (Fortran & C++)
Modi4 (Parallel, Fortran, & C++)
Misc. update:
Code cleanup
Description:
Finish converting the B-tree 'K' values to use unsigned integers, rather
than signed ones, since negative amounts of entries in a B-tree node aren't
meaningful.
Platforms tested:
FreeBSD 4.8 (sleipnir)
h5committest
Description: When Quincey and I updated Fortran SZIP flags, we accidentally
renamed one of the C flags H5_SZIP_ALLOW_K13_OPTION_MASK used
by Fortran C-stub routine.
Solution: Fix the typo.
Platforms tested: Linux 2.5 and True64
Misc. update:
Purpose: Bug fix
Description: Makefile.in has hardcoded dependencies. H5Zff.lo was
missing for the sequential version. That caused parallel
make to fail, since module HDF5 was built before H5Z.
Solution: Added H5Zff.lo to dependencies list.
Platforms tested: This is an obvious error and also due to the seminar and picnic
schedule I am checking in without testing. I will test it later today.
Misc. update:
Purpose: IA64 (titan) cleanup and backing up previous change to the
H5f90global.f90 file
Description: We defined IA64 variable for C-stubs compilation
on IA64 systems. But system defines __ia64 and
it is better to use it as we do on all other systems.
Fortran test failed since global variable became undefined.
Solution: Removed -DIA64 and use __ia64 instead.
Somehow removal of COMMON statements from H5f90global.f90
caused errors on titan. Most of the global fortran variables became
undefined. I am not sure why it is happenning. It may be ecc compiler
or there is an error in the Fortran code. Since it may take some time
to track it, I decided to remove this change.
Platforms tested: titan, arabica
Misc. update:
Purpose: Bug fix
Description: On Windows Fortran szip test failed in debug mode.
It turned out that C-stub for H5Pget_filter_by_id didn't
calculate the correct value of namelen parameter that is
passed to the H5Pget_filter_by_id function. As a result
fortran parameter that hold creation property id was overwritten
and h5fdcreate_f failed.
Solution: Fixed the value of namelen parameter to the H5Pget_filter_by_id
function.
Platforms tested: Windows 2000 with VF both debu and release modes,
sol, verbena.
Misc. update:
Purpose: Code cleanup
Description: For some unknown to myself reason I used COMMON in the
HDF5 module that has to be included in all Fortran
HDF5 application. This is redundant and may cause
problems for optimization. Also COMMON is an "OLD"
feature and shouldn't be used.
Solution: Removed COMMON statements.
Platforms tested: modi4 sequential and parallel, arabica, vebena,
Windows with Visual Fortran.
Misc. update:
cleanup
Description:
Move the removal of libhdf5_fortran.settings from clean to
distclean target.
Platforms tested:
Tested in copper only since the change is trivial.
Misc. update:
Purpose: Bug fix
Description: One of the arguments to the h5pset(get)_preserve_f and
h5pset(get)_fapl_core_f had fortran INTEGER instead
of LOGICAL type.
Solution: Changed the type
Platforms tested: arabica and verbena
This is a very simple change, and I want to go home :-)
I will be doing more testing anyway on modi4 tomorrow.
Misc. update:
API tweak.
Description:
The H5Sget_select_bounds() API call was using hsize_t arrays for retrieving
the 'start' and 'end' coordinates, which is counter to the rest of the dataspace
API.
Solution:
Change the arrays to be hssize_t instead.
Platforms tested:
FreeBSD 4.8 (sleipnir) w/C++
FreeBSD 4.8 (sleipnir) w/parallel
h5committested
Misc. update:
Updated all docs for this change.
Added 1.4 compatibility #ifdef's
Purpose: Support for Fortran Absoft compiler on Linux
Description: Absoft has its own name translation rules
for the names of C functions called from Fortran
Solution: Added "if defined H5_ABSOFT" statement to the linux portion
of the H5f90i.h file to define correct translations.
For now, Fortran users who use ABSOFT fortran compiler have to specify
-DH5_ABSOFT flag for their C compiler.
Platforms tested: Remote laptop running SuSE8.1 with Absoft compiler,
verbena with icc and ifc just to make sure that
our current linux configuration still works.
Since it is a pure Linux change, I didn't test it on
other systems.
Misc. update:
Purpose: Fortran updtae
Description: Created new functions h5pset(get)_fapl_mpiposix_f
Platforms tested: Compilation was tested with semi-manual h5committest.
(I ahd to built and test manullay on modi4 parallel because
of some weird failure of h5committest on modi4)
There are no tests yet for those functions. Kent was
going to use them in the MEAD project to test
the performance.
Misc. update:
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:
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:
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 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:
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:
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
Solution:
Platforms tested: burrwhite with PGI compilers, arabica and modi4 with
--enable-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:
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
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.