should be launched by the following environment variables setting (in
csh shell style.)
#!/bin/csh -f
set mpi1_inc="" #mpi-1 include
set mpi1_lib="" #mpi-1 library
set mpio_inc=-I$HOME/ROMIO/include #mpio include
set mpio_lib="-L$HOME/ROMIO/lib/IRIX64/" #mpio library
setenv MPI_INC "-DHAVE_PARALLEL $mpi1_inc $mpio_inc"
setenv MPI_LIB "$mpi1_lib $mpio_lib"
./configure --enable-parallel
When configure with enable-paralle, H5detect and debug were not
compiled with $(LIBS) but were executed via RUNTEST (mpirun ...).
The O2K mpirun can't handle such an object code.
Solutions:
Compile them also with $(LIBS) which contains the mpi library names.
Could have just removed $(RUNTEST) but in some parallel system, all
object file may have to be launched by some mpirun-equivalent command
anyway.
Platforms tested: O2K
Added modification entry to H5F_open header. Should have been done
when i added the access template argument.
H5Fprivate.h:
The hardcode setting to "define MPIO as the default IO
when HAVE_PARALLEL is set" cause all test programs to fail since
none of them is coded with the needed MPI_Initialize. Change it
back to the previous setting of using sequential I/O allows user
to use sequential I/O by default and use MPIO only if he/she explicitely
asks for it via access template setting.
file does not exist, the code tried to open the file with EXCL CREATE.
ROMIO cannot handle file-open with EXCL Create due to racing problem.
The first process creates the file which then fails all
other processes.
Solution: In the parallel code, turn on TRUNC mode to allow "late" open
calls to succeed too. It is safe to force TRUNC mode since the file is
known non-existing at that point. The MPIO implementation has to
provide the real solution.
Platform tested: O2K with ROMIO.
while he is visiting LLNL. I changed the default creation template
offset and length to 4. Will fix the problem later.
Changes since 19980205
----------------------
./src/H5H.c
./src/H5Hprivate.h
./src/H5O.c
./src/H5Ocont.c
./src/H5Odtype.c
./src/H5Oefl.c
./src/H5Olayout.c
./src/H5Oname.c
./src/H5Onull.c
./src/H5Oprivate.h
./src/H5Odspace.c
./src/H5Ostab.c
./src/debug.c
./html/H5.format.html
Added an extra 4-byte field after the heap magic number for
alignment on the DEC alpha. Changed object header message
alignment to 8-bytes.
./src/H5F.c
./src/H5Farray.c
./src/H5Ffamily.c
./src/H5Fistore.c
./src/H5Flow.c
./src/H5Fprivate.h
./src/H5Fsec2.c
./src/H5Fstdio.c
./src/H5Gnode.c
./src/H5O.c
./src/H5Odtype.c
./src/H5P.c
./src/H5Pprivate.h
./src/H5T.c
./src/H5Tconv.c
./src/H5Tpkg.h
./src/H5Tpublic.h
./src/H5V.c
./src/H5detect.c
./test/cmpd_dset.c
./test/dsets.c
./test/dtypes.c
./test/extend.c
./test/hyperslab.c
./test/istore.c
./test/th5p.c
./test/theap.c
Fixed a few irix64 warnings regarding size_t vs. int,
variables set but not used, printf formats
./config/irix64
Added `-woff 1196' to get rid of errors about __vfork() being
implicitly defined in a system header file.
./src/H5B.c
Fixed a stack alignment problem.
h5_write.c - stores INT array as INT32 little endian dataset in the HDF5 file.
h5_read.c - gets info about the dataset;
reads hyperslab from the dataset in the file into
2-dim slice of the 3 dimensional array.
h5_compund.c - creates compound dataset and writes it to the file;
reads subsets of the dataset.
h5_extend_write.c - writes extendable dataset.
h5_extend_read.c - gets info about the dataset;
reads dataset and one of the chunks.
failures. Row back the offset and length sizes to 4 (instead of
sizeof(size_t)) for now to pass all tests. Will fix it later.
(Also changed the default create template in H5F.c).
not assign the decoded value back to n.
Solution: Removed temporary variable _n (don't see why it is needed.)
Use the variable n directly.
Platform tested: IRIX64 -64
----------------------
./src/H5H.c
Changed a temporary buffer from 20 bytes to 52 bytes.
./test/tfile.c
Default sizes for file addresses and sizes are the same as
sizeof(size_t) on the machine that creates the file.
The default file addr and size sizes for new files are the
same as sizeof(size_t) on the machine that creates the
file. They used to always be 4.
./src/H5Pprivate.h
./src/H5Psimp.c
Fixed `start' and `nelmts' arguments to be `size_t'.