----------------------
./config/commence.in
./examples/Makefile.in
./test/Makefile.in
./testpar/Makefile.in
./tools/Makefile.in
Fixed some dependency problems in Makefiles. If the library
version is updated then everything gets recompiled.
./src/H5G.c
./src/H5R.c
Failure return value for object type functions is now
H5G_UNKNOWN as documented.
./src/H5Shyper.c
./src/H5Spoint.c
Fixed an unused argument warning.
./tools/h5debug.c
Fixed a call to H5F_block_read() since the 4th argument is
different now.
./tools/h5ls.c
Added a space between the object name and class to make the
output readable when the object name is longer than 24
characters.
C
----------------------
./config/commence.in
./config/conclude.in
./test/Makefile.in
./tools/Makefile.in
Fixed so private libraries are not installed publicly.
The installation directories `bin', `include', and `lib' are
created mode 755.
./src/H5.c
./src/H5A.c
./src/H5F.c
./src/H5Fcore.c
./src/H5Fistore.c
./src/H5Flow.c
./src/H5Fmpio.c
./src/H5Fsec2.c
./src/H5Fstdio.c
./src/H5G.c
./src/H5Gent.c
./src/H5Gnode.c
./src/H5HG.c
./src/H5HL.c
./src/H5O.c
./src/H5Oattr.c
./src/H5Ocomp.c
./src/H5Ocont.c
./src/H5Odtype.c
./src/H5Oefl.c
./src/H5Ofill.c
./src/H5Olayout.c
./src/H5Omtime.c
./src/H5Oname.c
./src/H5Osdspace.c
./src/H5Oshared.c
./src/H5Ostab.c
./src/H5R.c
./src/H5Sall.c
./src/H5Shyper.c
./src/H5Smpio.c
./src/H5Snone.c
./src/H5Spoint.c
./src/H5T.c
./src/H5Tconv.c
./src/H5Vprivate.h
./src/H5Z.c
./src/H5detect.c
./src/H5private.h
./test/chunk.c
./test/dsets.c
./test/dtypes.c
./test/h5test.c
./test/overhead.c
./test/ragged.c
./test/tattr.c
./tools/h5dump.c
./tools/h5findshd.c
./tools/h5ls.c
Changed `__unused__' to `UNUSED' to fix a conflict with GNU
header files.
./src/H5Tpkg.h
./test/h5test.h
Removed __unused__ from forward function declarations.
./src/H5P.c
Removed a comment about restrictions for the type conversion
temporary buffers. Thanks to Quincey, the comment no longer
applied.
./src/H5T.c
Relaxed the H5Tpack() a little so it would pack compound data
structures that had non-transient atomic members.
./tools/h5ls.c
Added a `-g' (or `--group') flag that causes information to be
printed about the specified group instead of the group's
contents. (sort of like Unix's `ls -d'). The `-g' can be used
in combination with `-r' to print information about the group
and its contents.
----------------------
./Makefile.in
./configure.in
./configure [REGENERATED]
./src/H5config.h.in [REGENERATED]
./config/commence.in
./config/conclude.in
./config/dec-osf4.x
./config/depend.in
./config/freebsd
./config/linux-gnu
./config/linux-gnulibc1
./config/linux-gnulibc2
./config/solaris2.x
./examples/Makefile.in
./src/Makefile.in
./test/Makefile.in
./testpar/Makefile.in
./tools/Makefile.in
./tools/testh5dump.sh
Changes that allow hdf5 to be configured and compiled in a
directory other than the source directory. This is especially
useful if you want to concurrently compile with different
compilers and/or compile flags, or if the hdf5 source is on
read-only media like a CDROM. The changes were surprisingly
easy ;-) Here's what you can do now...
$ mkdir /tmp/build1 # or something
$ cd /tmp/build1
$ /cdrom/hdf5/configure # where ever the source is
$ make
Paul, you'll have to change the testh5toh4 script similar to
the way I changed testh5dump.sh. I started working on it but
then gave up because of a number of problems: (1) I had to
comment out all the tests that let h5toh4 choose the output
file name because it always tried to put the output file in
the same directory as the input file, (2) if path names are
used during the h4 dump then they interfere with the
diff. The test works fine when run in the source directory,
but try this instead:
$ gunzip <hdf5-1.1.67.tar.gz |tar xf -
$ chmod -R ugo-w hdf5-1.1.67
$ mkdir build
$ cd build
$ ../hdf5-1.1.67/configure
$ make check
Dan, I didn't modify the pablo/Makefile.in because I have no
way to test it. I think all you need to do is add a couple
lines before the @COMMENCE@ line and add a couple search
directories for header files. Anyway, it seems like almost an
exact duplicate of the src/Makefile.in, so it shouldn't be a
problem...
./Makefile.in
Removes a few more temporary files during make clean and
distclean.
./configure.in
I fixed the creation of the time-stamp files so that the
initial make doesn't have to regenerated all the makefiles
(only GNU make users will see any change).
./src/H5R.c
Changed a return type from `intn' to `int' for an API
function.
./src/H5detect.c
Added the volatile qualifier to a couple more variables.
./tools/h5tools.c
Fixed a compiler warning about an unused local.
./tools/h5toh4.c
Initialized `optind' to 1 because it's zero on my system. It
should always be one on a unix system.
./tools/testh5toh4
Redirected "broken pipe" messages to /dev/null so outut is
formatted correctly.
./configure [REGENERATED]
./src/H5config.h.in [REGENERATED]
./src/H5private.h
Temporarily commented out the code that tries to link a simple
MPI-IO application because I'm not sure how to pass $LDFLAGS
and $LIBS to the compiler.
Removed the `--enable-parallel=ibm' switch because the library
we link with is either -lmpcc or -lmpcc_r but not both. The
only way to tell is to see what compiler was specified (mpcc
or mpcc_r) but if that compiler is specified then we don't
need any libraries (the compiler script supplies them). That
leaves just two choices: the user must use a compiler script:
CC=mpcc ./configure
or the user must state which library is desired:
LDFLAGS='-lmpcc' ./configure --enable-parallel
Checks for <setjmp.h>, longjmp(), and signal(). We don't check
for setjmp() because it could be a macro (in fact, Posix
requires it to be a macro) and if longjmp() is present then
setjmp() is probably present too ;-)
./src/H5detect.c
The alignment detection loop uses SIGBUS and setjmp/longjmp
instead of fork/wait in order to get around bugs with forking
in conjunction with mpich. This hasn't been tested on the
SP-2 yet but it does work on the DEC Alpha.
./test/Makefile.in
./testpar/Makefile.in
./tools/Makefile.in
Changed the order that libraries are linked so -lhdf5 is
always before $LDFLAGS.
----------------------
./INSTALL
./configure.in
./configure [REGENERATED]
./src/H5config.h.in [REGENERATED]
Improvements for parallel library. If you have a properly
working mpicc you should be able to just say:
$ CC=mpicc ./configure
and you will see
checking for mpirun... /usr/local/mpi/bin/mpirun
checking for parallel support files... skipped
checking how to run on one processor...
/usr/local/mpi/bin/mpirun -np 1
checking how to run in parallel...
/usr/local/mpi/bin/mpirun -np $$NPROCS
To quote from the INSTALL file....
*** Parallel vs. serial library
The HDF5 library can be configured to use MPI and MPI-IO for
parallelizm on a distributed multi-processor system. The easy
way to do this is to have a properly installed parallel
compiler (e.g., MPICH's mpicc or IBM's mpcc) and supply that
executable as the value of the CC environment variable:
[NOTE: mpcc is not tested yet]
$ CC=mpcc ./configure
$ CC=/usr/local/mpi/bin/mpicc ./configure
If no such wrapper script is available then you must specify
your normal C compiler along with the distribution of
MPI/MPI-IO which is to be used (values other than `mpich' will
be added at a later date):
$ ./configure --enable-parallel=mpich
If the MPI/MPI-IO include files and/or libraries cannot be
found by the compiler then their directories must be given as
arguments to CPPFLAGS and/or LDFLAGS:
$ CPPFLAGS=-I/usr/local/mpi/include \
LDFLAGS=-L/usr/local/mpi/lib/LINUX/ch_p4 \
./configure --enable-parallel=mpich
If a parallel library is being built then configure attempts
to determine how to run a parallel application on one
processor and on many processors. If the compiler is mpicc
and the user hasn't specified values for RUNSERIAL and
RUNPARALLEL then configure chooses `mpirun' from the same
directory as `mpicc':
RUNSERIAL: /usr/local/mpi/bin/mpirun -np 1
RUNPARALLEL: /usr/local/mpi/bin/mpirun -np $${NPROCS:=2}
The `$${NPROCS:=2}' will be substituted with the value of the
NPROCS environment variable at the time `make check' is run
(or the value 2).
./testpar/Makefile.in
Saying `make check' (or `make test') will run the tests on two
processors by default. If you define NPROCS then that many
processors are used instead:
$ NPROCS=4 make check
./configure.in
Fixed (hopefully) bugs with detecting whether __attribute__
and __FUNCTION__ are special keywords for the compiler.
./Makefile.in
Saying `make install' from the top level directory shows
instructions for using shared libraries.
./config/commence.in
./src/Makefile.in
./test/Makefile.in
./testpar/Makefile.in
./tools/Makefile.in
Moved the @top_srcdir@ into the makefiles because it was
expanded too early and had the wrong value.
./INSTALL
Added a warning that if the wrong version of hdf4 tools are
installed then `make check' will fail in the tools directory.
----------------------
./INSTALL
Reorganized and added some additional examples.
./MANIFEST
./aclocal.m4 [NEW]
./configure.in
./configure [REGENERATED]
./src/H5config.h.in [REGENERATED]
./bin/ltconfig [NEW]
./bin/ltmain.sh [NEW]
Added tests to determine how to compile shared libraries and
how to link programs with them before the libraries are
installed. Also how to install and uninstall shared
libraries. The configure step also prints the names of the
config files it's trying to load for easier debugging.
./bin/config.guess
./bin/config.sub
Replaced with a newer version from GNU. The changes we made
to that file to report `irix6.x' and `FreeBSD' without version
numbers have been incorporated into configure.in instead. In
the future, do not change these two files (see the top of
configure.in instead). By the way, this update was required to
get shared libraries working.
./config/linux [REMOVED]
./config/linux-gnulibc1 [NEW]
./config/linux-gnu [NEW]
./config/alpha-dec [REMOVED]
./config/alpha-dec-osf4.0 [REMOVED]
./config/dec-osf4.x [NEW]
./config/irix5.3 [REMOVED]
./config/irix5.x [NEW]
./config/irix64 [REMOVED]
./config/freebsd
Moved config files around to agree with output from the new
config.guess. The linux file was split into gnu (RedHat),
gnulibc1, and gnulibc2 versions. The alpha-dec file was
removed (I think it was unused) and the alpha-dec-osf4.0 was
changed to dec-osf4.x. The irix5.3 file renamed to irix5.x and
the irix64 file was renamed to irix6.x. The freebsd file was
changed to point to linux-gnulibc1. These changes were tested
on:
Linux 2.0
Linux 2.1
FreeBSD 3.2
Irix 5.3
Irix64 6.2
Irix64 6.4
HP/UX 10.20
OSF1 4.0
./config/alphaev56-dec-osf4.x
./config/irix64
Added warnings similar to linux/freebsd about using compilers
with known bugs.
./config/commence.in
./config/conclude.in
./src/Makefile.in
./test/Makefile.in
./testpar/Makefile.in
./tools/Makefile.in
Added definitions for shared libraries. This has been tested
on the following systems:
Linux 2.0
Linux 2.1
FreeBSD 3.2
Irix 5.3
Irix64 6.2
Irix64 6.4
HP/UX 10.20 static only
OSF1 4.0
If you want to disable use of shared libraries (you probably
do for development purposes since it takes a lot longer to
compile and because you have to run dynamically linked
programs in a special way if the library hasn't been
installed) then add `--disable-shared' to the configure
command line. This is all documented in the INSTALL file.
./bin/release
Temprarily commented out the MANIFEST checking when running
under svf since svf is about to be replaced by a newer
version. This change only affects error checking during the
release process.
./Makefile.dist
./Makefile.in
Added `make check' which does the same thing as `make _test'
since the former is endorsed by the GNU coding style and
people are used to it. The old `make _test' still works too
(and so does `make test' if you use GNU make).
New Feature
SOLUTION:
h5toh4 is an H5 utility which converts HDF5 files into
HDF4 files. It converts only those H5 objects which have
have mappings into H4 objects.
Some H5 objects that may be converted into H4 objects are:
1) H5 group objects may be converted into H4 Vgroup objects.
2) H5 dataset objects of integer or floating point datatype
may be converted into H4 SDS objects.
3) H5 dataset objects of compound datatype and rank 1 may
be converted into H4 Vdata objects. Field members of the
compound datatype are constrained to be single dimensional.
Platforms tested:
Solaris2.5, HP10.20
----------------------
./config/conclude.in
./test/Makefile.in
./tools/Makefile.in
The Makefile $TESTS variable has finally been split into
$TEST_PROGS and $TEST_SCRIPTS with the latter being the names
of shell scripts that need to be run with `/bin/sh'. Now we
don't have to copy each shell script before we run it. NOTE:
THIS CHANGE DOES NOT AFFECT THE PABLO MAKEFILE SINCE THAT FILE
IS A COPY OF A PREVIOUSLY GENERATED MAKEFILE.
./src/Makefile.in
Added H5Snone.c to the source list.
./src/H5G.c
Plugged a memory leak by emptying the object type "isa" table
when the library is closed.
./src/H5Tconv.c
./src/H5Tpkg.h
Added 48 new type functions to take advantage of hardware for
integer type conversions. These functions are not registered
in the conversion table yet because I haven't fully tested
them.
./src/H5Tpkg.h
Removed __unused__ qualifiers from prototypes.
----------------------
./INSTALL
Added instructions about specifying a path for GNU zlib and
HDF4 headers and library.
Added comments for each of the tool names. Added h5toh4 as a
tool name.
./configure.in
./conigure [REGENERATED]
./src/H5config.h.in [REGENERATED]
The config/* scripts get invoked with $CC_BASENAME set the
base name of the compiler in order to make it easier to handle
setting compiler flags for different compilers in a big case
statement. For instance, if $CC has the value
/usr/local/mpi/bin/mpicc -ansi -64
then $CC_BASENAME will be `mpicc'. The $CC_BASENAME is not
set if $CC is not set.
Fixed alignment in `configure --help'.
An include and/or library path can be specified for GNU zlib
if configure can't find it in normal places. The "normal"
means wherever your compiler normally searches, including
search paths you've added through environment variables like
CPPFLAGS and LDFLAGS. The INSTALL file has instructions.
The `-ljpeg' library is detected.
If `ssize_t' is not found then a #define is added to
H5config.h similar to what we already do for `size_t'.
We detect the hdf5 header file `mfhdf.h' and libraries
`-lmfhdf' and `-ldf' and if found define the H5TOH4 and
TESTH5TOH4 Makefile variables. The user can specify an
include and/or library path. The INSTALL file has
instructions.
The `RUNTEST' variable has been split into `RUNSERIAL' and
`RUNPARALLEL' because these are different commands. The
makefile still uses `RUNTEST', which defaults to the RUNSERIAL
value. The new testpar/Makefile.in sets RUNTEST to the
RUNPARALLEL value. The default RUNSERIAL value is empty and
the default RUNPARALLEL value is `mpirun -np 2'. These can
both be overridden in the config/* files. To make the value
the empty string set it like `RUNPARALLEL=none' in the
config/* file.
The new testpar/Makefile is generated from testpar/Makefile.in
./config/commence.in
Added the RUNSERIAL and RUNPARALLEL makefile definitions.
./src/Makefile.in
The `H5detect' program is run with RUNSERIAL, which is empty
on all platforms except intel-osf1 (ASCI/Red)
./config/conclude.in
Removed the `.c.a:' implicit rule -- we don't use it any more.
./config/BlankForm
./config/alpha-dec
./config/alpha-dec-osf4.0
./config/freebsd2.2.7
./config/hpux10.20
./config/hpux9.03
./config/intel-osf1
./config/irix5.3
./config/irix6.2
./config/irix64
./config/linux
./config/powerpc-ibm-aix4.2.1.0
./config/rs6000-ibm-aix4.1.4.0
./config/solaris2.5
All of these files have been updated to hande multiple
compilers. Most of them assume `cc' if CC is not set. The
documentation in `BlankForm' has been updated and
documentation in the other files refer to `BlankForm'.
The intel-osf1 uses LDFLAGS instead of LIBS to specify the extra
library search paths.
./examples/Makefile.in
./test/Makefile.in
./tools/Makefile.in
Simplified by grouping some dependency information together
more succinctly.
The tools Makefile.in has been modified to work with the
`h5toh4' and `testh5toh4' programs. Until Paul checks these
in you may have problems compiling. If so, just create files
h5toh4.c and testh5toh4.c that contain:
#include <stdio.h>
int main(int argc, char *argv[]) {
fprintf(stderr, "%s: not implemented\n", argv[0]);
return 1;
}
./src/H5public.h
Removed definition for `ssize_t' since this is now handled by
configure in H5config.h with a #define.
./MANIFEST
./testpar/Makefile.in [NEW]
Added a makefile for parallel tests. As soon as we get this
working properly we can remove the other four makefiles in
that directory and maintain just one.
----------------------
./src/H5F.c
./src/H5Fprivate.h
./src/H5G.c
./src/H5Gpkg.h
./src/H5Gprivate.h
./src/H5Gpublic.h
./test/istore.c
./test/tstab.c
Removed CWG functionality.
./tools/Makefile.in
Added `_test' where I added `test' last week. Maybe now the
snapshots will start up again...
----------------------
./src/H5D.c
Fill values are working for contiguous datasets now except
there are two things that need more support from the data
space layer, specifically the ability to form a selection from
the difference of two selections. They are (1) extending an
external contiguous dataset, (2) optimization by delaying the
fill until after the first H5Dwrite().
Renamed H5D_allocate() to H5D_init_storage() since allocation
is only part of the story. Added a data space argument so it
doesn't have to query the space from the object header -- the
space is always available in the caller anyway.
Removed `#ifdef HAVE_PARALLEL' from a few places where it
wasn't necessary. We don't need it around code that doesn't
compile anything from mpi.h or mpio.h.
./src/H5Fistore.c
Uncommented H5F_istore_alloc() for non-parallel and moved the
`#ifdef HAVE_PARALLEL' just around Kim's barrier.
./src/H5Fmpio.c
Wrapped a couple long lines.
Got rid of two signed vs. unsigned comparison warnings.
./MANIFEST
./test/Makefile.in
./test/fillval.c [NEW]
Added tests for fill values. The contiguous dataset extend
test is disabled until H5S_SELECT_DIFF is implemented.
./tools/Makefile.in
Fixed a bug where `make test' didn't build the executables
first. This should cause the snapshots to start up again.
./Makefile.in
Changed to build in `test' directory before `tools'
directory. We want the library tests to pass before we even
start considering the tools. You can still build and/or test
the tools independent of the library tests passing.
During make test, it copies the master copy testh5dump.sh
to a temperary copy, testh5dump and run it. Make clean
remove only duplicated version, not the original master.
Platform test:
baldric.
Renamed what was called h5dump.c to h5tools.c.
Changed Makefile.in to reflect all the changes.
(Make dependence is to be processed later.)
Tested in Solaris 2.5
----------------------
./src/H5A.c
./src/H5Apublic.h
./test/tattr.c
Switched the order of the second and third argument of
H5Aget_name() to make it consistent with other functions that
take buffers and buffer sizes.
./src/H5G.c
./src/H5Gpublic.h
./src/H5Gprivate.h
The H5Gget_comment() function returns the size of the comment
including the null terminator. If the object has no comment
then zero is returned. If an error occurs then a negative
value is returned.
./MANIFEST
./tools/Makefile.in
./tools/h5tools.h [NEW]
./tools/h5dump.c [NEW]
Created a library for printing values of datasets in a way
that looks nice. It's not done yet, but I needed it for
debugging the contents of files from Jim Reus.
./tools/h5ls.c
Added the `-d' and `--dump' options which cause the contents
of a dataset to be printed. Added `-w N' and `--width=N'
options to control how wide the raw data output should be. If
you want single-column output then say `-w1'.
Printing dataset values can now handle datasets of any integer
or floating point atomic type. As a special case, integers
which are one byte wide are treated a character strings for
now.
Sample output:
$ h5ls --dump --width=60 banana.hdf
ARCHIVE 0:0:0:744 Dataset {52/Inf}
Data:
(0) "U struct complex { double R; double I; };\012V"
(43) " double;\012"
U 0:0:0:2500 Dataset {256/512}
Data: printing of compound data types is not implemented yet
V 0:0:0:3928 Dataset {256/512}
Data:
(0) 0, 0.015625, 0.03125, 0.046875, 0.0625,
(5) 0.078125, 0.09375, 0.109375, 0.125, 0.140625,
(10) 0.15625, 0.171875, 0.1875, 0.203125, 0.21875,
(15) 0.234375, 0.25, 0.265625, 0.28125, 0.296875,
...
----------------------
./Makefile.in
./config/commence.in
./config/conclude.in
./config/depend.in
./src/Makefile.in
./test/Makefile.in
Tests are no longer installed for `make install'. Added a new
target `make tests' that builds the tests but doesn't run them.
./configure.in
./configure [REGENERATED]
./src/H5config.h.in [REGENERATED]
Added detection of fork() and waitpid(). If present the
contants HAVE_FORK and HAVE_WAITPID will be defined in
H5config.h.
./test/dtypes.c
Minor tweaks for systems that don't have fork() or waitpid().
./MANIFEST
./tools [NEW]
./tools/Makefile.in [NEW]
./tools/h5debug.c [NEW]
./tools/h5import.c [NEW]
./tools/h5ls.c [NEW]
./tools/h5repart.c [NEW]
Added a tools directory and moved tools from the src directory
to here.