Bug fix
Description:
Hack on include paths some more to make srcdir builds work correctly with
the [broken] dependency generation from the Intel 7.1 C compiler.
Platforms tested:
Linux 2.4 (titan) w/srcdir build
Too minor to require h5committest
Bug fix
Description:
Added directory where actual source code is located to allow broken Intel
C 7.1 compiler to generate dependencies correctly.
Platforms tested:
Linux 2.4 (titan)
too minor to need h5committest
Bug fix.
Description:
"make check" failed because the macro "$<" is not known to those
makes.
Solution:
Replace that macro with a string name in the form of a more basic
macro of "$@".
Platforms tested:
h5committested (copper used make.)
Misc. update:
Improvement
Description:
If the library is built in parallel mode, then name the "h5cc" and
"h5fc" programs "h5pcc" and "h5pfc" resp. This saves the user from
worrying about mixing serial and parallel builds of the library and
having to specify the pathnames and so-forth.
Platforms tested:
Linux (w/ parallel & Fortran)
Modi4 (w/ parallel & Fortran)
Sol (Serial & Fortran & C++)
Misc. update:
Updated release/docs/RELEASE
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:
Purpose: Enhancement
Description: This example writes extendible dataset and doesn't use fill value.
On some systems (verebena, titan) unwritten data will be displayed as
garbage by h5_chunk_read.
Solution: Use H5Pset_fill_value to set 0 fill value.
Platforms tested: arabica, verbena, titan
Misc. update:
Update/Fix
Description:
The Dependencies files weren't begin generated properly for C++.
Solution:
Modified the "dependencies" script to use "top_srcdir" only instead
of "srcdir", which tended to confuse matters. Regenerated the
Dependencies files.
Platforms tested:
Arabica (Small changes)
Misc. update:
Code Cleanup
Description:
Warning messages were being produced by the "make" program because
the "docdir" was being specified twice as a target in the generated
Makefiles. This is because the "EXAMPLESDIR" was also defined as
"docdir".
Solution:
Made "EXAMPLESDIR" unique for C, Fortran, and C++ in the commence.in
file and removed EXAMPLESDIR from the Makefile.ins
Platforms tested:
Dangermouse (only affects make system, not code).
Misc. update:
Improvement
Description:
if neither -f option nor $HDF5_PARAPREFIX was set, it exited.
Solution:
Use '.' (current directory) if neither -f option nor $HDF5_PARAPREFIX
is used. Try to proceed as much as possible.
Platforms tested:
only sleipnir since it was a simple fix and was failing in sleipnir
only.
Bug Fix
Description:
Making of the programs when using the --srcdir option didn't work. It
couldn't find the files to compile.
Solution:
Specified where the files are by prepending the $(srcdir) macro to
them.
Platforms tested:
Linux
Bug Fix
Description:
Ported the bug fix for h5cc failing on platforms from the 1.4 branch
to 1.5 branch. In a nutshell, when we ran "make check" in the
examples directory, libtool would get in the way trying to compile
things to .lo for us. but we didn't want libtool to do this.
Solution:
Made it so that make check will compile only the .c files to
executables without the intervening .lo stage...
Platforms tested:
Linux (Dangermouse and Platinum)
fetures
Description:
The example code used to just run parallel I/O test in the current
directory which is most likely where the program is compiled.
In general, this directory is most likely not a parallel file system.
Therefore, the example code often fails.
Solution:
Add an option "-f <prefix>" for specifying the correct test files
pathname prefix. The program now requires an explicite file prefix
either via the "-f" option or the environment variable $HDF5_PARAPREFIX.
(With the proper setup of $HDF5_PARAPREFIX, the example code can run
automatically in situtaions such as batch job or gmake check.)
Also added feature to cleaup up the test files created.
Of course, an added option "-c" to turn OFF the cleanup action.
Platforms tested:
eirene, modi4, dangermouse (all parallel modes).
modi4 (serial) just to verify it can compile.
Feature
Description:
Change examples to use the installed h5cc to compile the examples
programs. That will test the correctness of the installed software.
Removed examples from make targets in the top level so that it does
not get invoked in make or make check since one cannot compile
the example programs until after "make install" has completed.
Platforms tested:
eirene and modi4 (parallel)
Retired run_examples.sh. Its purpose is covered by the
"check" target.
Platforms tested:
No tests--hard to test something that is removed. Pretty
sure it is not needed by any Make targets.
Bug fix
Description:
$TEST_PROG_PARA was included in the serial tests.
$TEST_PROG_PARA was not dependent on $LIBHDF5 (it should.)
Solution:
Adjusted the file to fix both problems.
Platforms tested:
eirene (pp, linux 2.2.), dangermouse (pp, linux 2.4)
modi4 (pp, -64) and modi4 serial (to verify that ph5example was not
tested at all.)
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:
The H5Rget_object_type function could not get the object type for dataset
region references.
Solution:
Added a new function, H5Rget_obj_type, to replace H5Rget_object_type.
The new function requires the reference type as an additional parameter,
in order to allow queries on different reference types to be performed
correctly.
Platforms tested:
FreeBSD 4.4. (sleipnir)
Code cleanup for better compatibility with C++ compilers
Description:
C++ compilers are choking on our C code, for various reasons:
we used our UNUSED macro incorrectly when referring to pointer types
we used various C++ keywords as variables, etc.
we incremented enum's with the ++ operator.
Solution:
Changed variables, etc.to avoid C++ keywords (new, class, typename, typeid,
template)
Fixed usage of UNUSED macro from this:
char UNUSED *c
to this:
char * UNUSED c
Switched the enums from x++ to x=x+1
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
Feature
Description:
Added an example program showing how to use different virtual
file drivers. First example is to show the Split File driver.
Platforms tested:
eirene.
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
bug fix
Description:
The last reported problem that the parallel example program
in examples could not be compiled, could not be duplicated
again. I guessed maybe Rushad mistook the compile warning
messages as error messages. Just a guess.
Furthermore, the changed examples/Makefile.in and configure.in,
did not work for the parallel case. The examples/ph5example.c
was never included for compiling.
Solution:
Removed the fix in configure.in, put ph5exmple directly back
in the examples/Makefile.in but put it in a variable for
easier future maintenance. Also, easier to identify the
parallel examples too.
Platforms tested:
Eirene, both serial and parallel modes.
Purpose:
Bug fix
Description:
All examples used "FILE" string in the #define preprocessor
directive. That caused error on Windows platforms since
FILE is a structure returned by fopen calls.
Solution:
Changed "FILE" to "H5FILE_NAME"
Platforms tested:
Linux (eirene)
Bug Fix
Description:
A parallel example was added to the examples/ subdirectory. This was
being built whether --enable-parallel was defined or not. This was
causing some havoc with certain setups.
Solution:
Added logic to make it so that the parallel examples are made only if
--enable-parallel is specified.
Platforms tested:
Linux
New feature
Description:
Added a parallel HDF5 example. make check knows how to
run it in serial mode but not in parallel mode since the
current makefile has no provision for parallel code execution.
One would have to do it by hand (e.g., mpirun -np 2 ./ph4example)
Platforms tested:
modi4 (serial and parallel)
Update
Description:
Changed
#include <hdf5_file.h>
to
#include "hdf5_file.h"
so that gcc can find our dependencies files instead of all of the
include files (we don't care about system header files).
Platforms tested:
Linux
Purpose:
Maintenance
Description:
C examples directory did not have a script to run examples.
Solution:
Added. Needs more work to catch failures.
Platforms tested:
O2k (modi4)
Fix Irix pmake bugs
Description:
Build fails on Irix when builddir != srcdir
Solution:
* acconfig.h
* src/H5config.h.in [REGENERATED]
Added definition for HAVE_STREAM
* config/conclude.in
* config/depend1.in
* config/depend2.in
* config/depend3.in
* config/depend4.in
The `Dependencies' file is located in the source
tree. This fixes bugs for Irix pmake when compiling
outside the source tree. Hopefully it still preserves
Albert's changes which allow concurrent compilations
to not stomp on each other's Dependencies files.
* examples/Dependencies [REGENERATED]
* src/Dependencies [REGENERATED]
* test/Dependencies [REGENERATED]
* tools/Dependencies [REGENERATED]
Regenerated for testing purposes.
Platforms:
i686-pc-linux
mips-sgi-irix6.5
sparc-sun-solaris2.6
** bin/rpmsync
** config/depend1.in
Tweaks for versions of `make' that can't search directories.
** examples/Dependencies
** src/Dependencies
** test/Dependencies
** testpar/Dependencies
** tools/Dependencies
Regenerated all these with more complete path names.
----------------------
./MANIFEST
./configure.in
./configure [REGENERATED]
Added more checking for `make' features.
./Makefile.in
./doc/Makefile.in
./doc/html/Makefile.in
./doc/html/Tutor/Makefile.in
./examples/Makefile.in
./pablo/Makefile.in
./src/Makefile.in
./test/Makefile.in
./testpar/Makefile.in
./tools/Makefile.in
./config/commence.in
./config/conclude.in
./config/depend.in [REMOVED]
./config/depend1.in [NEW]
./config/depend2.in [NEW]
./config/depend3.in [NEW]
./config/depend4.in [NEW]
./config/dependN.in [NEW]
The directory search stuff was moved into commence.in, thereby
shortening the Makefile.in prologues.
./doc/html/Dependencies [NEW]
./doc/html/Tutor/Dependencies [NEW]
./examples/Dependencies [NEW]
./src/Dependencies [NEW]
./test/Dependencies [NEW]
./testpar/Dependencies [NEW]
./tools/Dependencies [NEW]
The `.distdep' files were all renamed to `Dependencies' to make them
more obvious. They are required (but may be empty) in every directory
that has a Makefile.in that ends with @CONCLUDE@ (you'll get an
obvious error from make if you forgot to create one).
./bin/trace
./src/H5.c
Added H5E_major_t and H5E_minor_t although tracing only prints the
integer value.
./src/H5E.c
./src/H5Epublic.h
Added tracing information.
./src/H5FDcore.c
./src/H5FDfamily.c
./src/H5FDgass.c
./src/H5FDmpio.c
./src/H5FDsec2.c
./src/H5FDstdio.c
Fixed places where FUNC_LEAVE() evaluated it's argument more than
once.
Added tracing information.
Wrapped long lines.
./config/gnu-flags
Fixed a syntax error when we don't have a gnu compiler.
----------------------
./Makefile.in [1.3]
./examples/Makefile.in [1.3]
./pablo/Makefile.in [1.3]
./src/Makefile.in [1.3]
./test/Makefile.in [1.3]
./testpar/Makefile.in [1.3]
./tools/Makefile.in [1.3]
./config/commence.in [1.3]
./config/conclude.in [1.3]
./config/depend.in [1.3]
Added a `.PATH' target for Irix pmake which is identical to
the VPATH used by most other `make' programs. Irix 6.5 (or
6.4?) and later `make' ignores VPATH.
Started all beginning-of-line comments with `##' instead of
just `#' because Irix `pmake' barfs on things like the
following because it sees the `# if' as a directive:
# make will barf on the following line
# if running Irix pmake
./config/commence.in [1.3]
Added empty definitions for optional `make' macros because
Irix pmake complains if it sees a macro which has never been
defined. The main body of the Makefiles can redefine these
macros to whatever they need.
Example was modified to use references to different objects.
Missing calls to release dataset handles and to free memory buffers were
added.
Tested on baldric.
h5_select.c was modified to use fill values, and h5_group.c was modified
to show how H5Giterate can be used to get information about the objects in
a group.
Necessary changes were done to the Makefile.in.
Tested on Solaris 2.6 (baldric)