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