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.
Test Addition
Description:
I added a small test to determine if the MPI library has a working
version of the MPI_Get_count() function. If it does, then I define
the macro:
MPI_GET_COUNT_WORKS
This should (hopefully) take care of the kludges in H5FDmpio.c...
NOTE: This isn't implemented in the H5FDmpio.c file since I don't
know the code in there and don't know which solution will work. Also,
the test program I put into the configure script needs to be checked
on a platform which does have a working MPI_Get_count()
function...I.e., this is just a first stab.
Platforms tested:
Linux
Purpose:
Adding new feature
Description:
Added gif2h5 and h52gif conversion utilities
Solution:
The utilites follow the framework built for the gif2hdf and hdf2gif
utilities for hdf4. The main files modified were those that read the
H5 file and those that write H5 file. In the future, if you wish to
continue with the framework and extend it to .png or some other fileformat
the main files to edit will be the gif reader and writer.
One point to note with h52gif. You have to specify the exact location of
the image and the palette that it links to. You can choose not to specify
a palette (uniform grayscale chosen in this case) but you must specify
image location. In the future, someone could edit the readhdf.c source
to enable the reader to parse the hdf file and select all images with
corresponding palettes.
Platforms tested:
modi4 , eirene , hawkwind , arabica , Ren (NT 4.0) , Personal box (win2k)
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
Bug Fix
Description:
Small fix. The "off_t" typedef's size wasn't being set correctly.
Solution:
The tests for 64-bit files (getdents64() in particular) needed to
occur before checking for the sizeof off_t.
Platforms tested:
Linux
Better Mouse Trap^W^WBug Fix
Description:
Instead of having the large file support stuff be in the
config/gnu-flags directory, I added it to the configure.in file so
that it first checks for the syscall ``getdents64()''. If it finds
it, then it removes the ``-malign-double'' flag if the GCC compiler
is 2.95.x since this flag doesn't play well with the LFS stuff.
Solution:
Added test for getdents64(), if found it removes the -malign-double
flag if the compiler is 2.95.x. This is done in the configure.in
file. The gnu-flags file is returned to normal. A new field is added
to the H5config.h.in file because of the getdents64 check.
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:
Forgot to propagate the '-c' flag if the install-sh script is being
used. This caused some machines *cough*T3E*cough* to move instead of
copy the files...
Solution:
Added -c flag back in with the install-sh script.
Platforms tested:
Gondolin
Bug Fix
Description:
We shouldn't create Makefiles in the testpar/ directory unless we're
building this as parallel.
Solution:
Put flag in there specifying that we're doing this in Parallel and we
should build the Makefile in testpar/.
Code cleanup
Description:
ssize_t is not defined on certain (non-UNIX) platforms.
Solution:
Added steps to configure to generate SIZEOF_SSIZE_T macro and then used
the new macro to define ssize_t for platforms which don't have it.
Platforms tested:
FreeBSD 4.3 (hawkwind)
Improvement
Description:
Changed the default value of $NPROCS from 2 to 3. This is the
value libSAF uses since 3 processes have a much bigger chance
catching parallel errors than just 2 processes.
Platforms tested:
Modi4 (IRIX64) both serial and parallel modes.
Bug Fix
Description:
On the Nersc machines, the install-sh script wasn't being found in
the proper place.
Solution:
Corrected the "fix" I put in there awhile ago. Essentially, if the
INSTALL macro is the program "install-sh" with anything around it,
then we assume they want our install-sh program and force the
Makefiles to find it in the hdf5/bin directory.
Platforms tested:
Nersc.
Bug Fix
Description:
Removed generation of the Makefile in the
doc/html/Tutor/examples/java directory since they ahve their own
Makefile which is actually distributed with the documents.
Platforms tested:
Linux
Fixlet
Description:
FIxed the hack for the INSTALL macro. It was checking the "whole"
path to the install-sh script instead of if it was just a relative
path with install-sh at the end.
Solution:
Changed the test to match any relative path with install-sh at the
end. This assumes that the install-sh is the one we supply to them
(an assumption it was making before, really).
Platforms tested:
Gondolin, Linux
Fix
Description:
On machines which use the bin/install-sh script, it wasn't picking up
the install-sh script unless it was one directory depth away from it
(ie, it thought that it was in ../bin/install-sh, which isn't good
if, like with the documentation, it's in a deeper directory).
Solution:
Hacked it up so that, if it does use the broken relative-path schema,
then it will change it to use the $(top_srcdir) macro instead.
Platforms tested:
Linux
[is this a bug fix? feature? ...]
Description:
Changed the default settings for enable-production and enable-debug
to no and yes respective, for this development branch.
Platforms tested:
Modi4 parallel and eirene.
Code cleaning
Description:
Moved all gcc compiler flags into the config/gnu-flags file and re-added
the warning flags removed during the beta testing.
Platforms tested:
FreeBSD 4.2 (hawkwind)
Feature Fix
Description:
When user specifies the --disable-hsizet flag, we still warn them
about this when they use gcc 2.91.66.
Solution:
I moved the check above the place where it checks what version gcc
compiler it is. If they did specify the flag and it is a 2.91.66
compiler, then it won't print the message out.
Platforms tested:
Linux
Suppress warnings for release.
Description:
Took out the -Wconversion -Wredundant-decls warning flags for gcc until
after the tree is split.
Platforms tested:
Linux 2.2.16 (eirene)
Warning Reduction
Description:
Removed the -Wpointer-arith flag which complains about addintion with
void * pointers. This is a known gcc 2.95.2 annoyance.
There's still some issues with many str* warnings...not 7000, though.
Platforms tested:
Linux
Name change
Description:
Changed the names of the testh5toh4 and testh4toh5 scripts to the
"canonical" form -- testh4toh5.sh and testh5toh4.sh.
Platforms tested:
Linux
New configure feature.
Description:
The H5private.h header file was re-defining the strdup function on several
platforms, generating a warning.
Solution:
Detect if the system defines a strdup function and don't re-define it, if
so.
Platforms tested:
FreeBSD 4.2 (hawkwind), IRIX64-64 (modi4)
Bug fix
Description:
The zlib.h header check was skipped if it thought it had
found -lz already. That resulted in H5_HAVE_ZLIB_H not defined
which caused compression feature not compiled even though everything
else said it was in.
The --with-hdf4 was default to yes but configure had no clue where to
find them. A plain waste of time and affected ZLIB's searching later.
Solution:
Basically restored what it was before--checking the optional switch
of with-hdf4 first, then with-zlib. (with-hdf4 now defaults to no.)
Added a big chunk of comments explaining why these two options must
be checked in this order.
Changes applied to configure.in. Then ran autoconf to generate
configure.
Platforms tested:
eirene (default and with-hdf4), modi4-64-parallel (with-hdf4),
arabica (with-hdf4) and, gondoline. That is right, even tested
it out with gondoline (with-hdf4 too.) All except modi4 configured,
compiled and tested correctly. Modi4 died in the compiling of
src/H5Zdeflate.c but that was not due to the configure changes.
Prepare for 1.4.0beta1 release
README:
src/H5public.h:
Updated with 1.4.0beta1 version information.
configure.in:
Changed default setting to --enable-production --disable-debug.
configure:
Derived from configure.in via autoconf.
Platforms tested:
Eirene (linux) running just the configure command and compared
difference with previous configure output to verify expected
difference.
Bug fix
Description:
The last modification put an extra comma in the AC_CHECK_HEADERS
that would generate an bad configure file.
Solution:
Removed the comma.
Platforms tested:
Ran autoconf and verified it by comparing the same with
the current working configure file which has been tested.
Purpose:
Bugfix
Description:
Under SunOS 5.5 the symbol FIONBIO wasn't known when compiling
with the Stream VFD configured.
Solution:
This symbol is defined in the system header file <sys/filio.h>.
Here we check whether this header is available.
Platforms tested:
SunOS 5.5 (hatteras), SunOS 5.6 (thor.sistec.kp.dlr.de)
Bug Fix
Description:
Some platforms, when building static libraries, complain that
libc doesn't have dlopen and friends.
Solution:
libtool supports workarounds for this. The one used here may not
work, but it's an attempt to correct it. If it doesn't work, then
there's something going on which I'm not privvy to...
Platforms tested:
(untested as of yet)
* 2000-11-15 Robb Matzke <matzke@llnl.gov> (CC_VERSION)
The compiler is always expanded to a
full path name if possible. This feature enhancement was
requested by Mark Miller, LLNL.
Command-line name change
Description:
Changed --with-stream-vfd to --enable-strea-vfd to be more
consistent with what people expect from the --with-FOO and
--enable-FOO arguments.
Backward compatibility additions
Description:
Added "--enable-hdf5v1_2" flag to enable HDF5 v1.2 compatibility API
functions (H5Tget_member_dims & H5Tinsert_array) being built in the
library.
Platforms tested:
FreeBSD 4.1.1 (hawkwind)
Purpose:
Bugfix
Description:
Rename the [H5_]HAVE_STRUCT_SOCKLEN_T into [H5_]HAVE_SOCKLEN_T.
Solution:
As pointed out by Bill the socklen_t type isn't a structure if
is it defined by the system headers.
So we should better take out the _STRUCT_ from the defines.
Platforms tested:
Purpose:
Bugfix
Description:
Detect whether the 'struct socklen_t' type is defined in the
system include header files.
Solution:
Added an AC_TRY_COMPILE test for 'struct socklen_t' to the configure
script. This test is only executed if the Stream VFD is configured.
Also added detection of <sys/types.h> and <sys/socket.h> system
header files.
Platforms tested:
Solaris 2.6 and 2.7
IRIX64
Linux
Windows NT (command line configure with gcc and cl)
Buglet
Description:
Wasn't picking up specified directories for the run-time linking
stuff that libtools does.
Solution:
There was some confusion about how the regex stuff works with
scripts. It's not `.*' for any character by `*'...Fixed.
Platforms tested:
Arabica
Bug Fix...AGAIN!
Description:
The logic to create the DYNAMIC_DIRS macro was accepting such
things as -lnoop_stubs which would cause libtools to barf.
Solution:
I'm pretty sure I fixed this once before. The change was lost. I
now test to make sure that the flag I'm adding has a "-L" prefix
on it...
Purpose:
Detect whether the system has the netinet/tcp.h header file.
Description:
The Stream VFD uses setsockopt(2) to set TCP_NODELAY on an opened
socket. This constant is defined normally in netinet/tcp.h
except for GNU cc under Windows where this header doesn't exist.
Platforms tested:
Windows NT, GNU cc
Buglet Fix...kinda
Description:
The --enable-c++ flag is in there, but configure can't handle the
++ on the end.
Solution:
Changed it to --enable-cxx instead. N.B. This feature isn't
really needed yet since C++ isn't integrated with the library
proper.
Platforms tested:
Linux
Bug Fix
Description:
Broke on Arabica trying to export the SEARCH macro.
Solution:
Assigned to the SEARCH macro and then exported it.
Platforms tested:
Arabica.
Bug Fix
Description:
When running configure on subdirectories (like fortran/), looking
up how make implements SEARCHes failed.
Solution:
Exporting the SEARCH macro so that subdirectories don't have to
look for it.
Platforms tested:
Modi4.
Bug Fix
Description:
zlib was not being retrieved from the place specified by the user
even if the user used the --with-zlib flag.
Solution:
Removed the automatic inclusion of /usr/ncsa/* into the macros
and use the user-defined place to try to pickup the zlib. I'm
relying on the order of the -L flags in the compile line to
specify which libraries to look into first before going on to
look into the system libraries. If some compiler doesn't honor
the this order, yikes...
Platforms tested:
Linux
Purpose:
h4toh5 converter tool under tools
Description:
put flag h4toh5 and testh4toh5 into the configure file.
Solution:
[details about the changes, algorithm, etc...]
[Please as detail as you can since your own explanation is
better than others guessing it from the code.]
Platforms tested:
at eirene and arabica.
[machines you have tested the changed version. This is absolute
important. Test it out on at least two or three different platforms
such as Big-endian-32bit (SUN/IRIX), little-endian-32(LINUX) and
64-bit (IRIX64/UNICOS/DEC-ALPHA) would be good.]