Update DEC compiler support
Description:
Updated DEC/Compaq compiler detection to handle DEC->Compaq switchover
in compiler version string.
Also, copied v5.x compiler flags to V6.x compiler flags and included the
-ieee and -misalign flags necessary for correct floating-point support.
Platforms tested:
Pittsburgh Alpha Cluster (lemieux.psc.edu)
Bug fix
Description:
If using g++ on HP-UX, the flags for aCC would be placed on the
command line. This was causing g++ to fail the configuration test.
Solution:
CHanged the test so that it's a case statement. If it's the aCC
compiler, then use those flags. Otherwise, don't specify flags. This
case statement can be modified to provide compiler-specific flags in
a similar way to other config/* files.
Platforms tested:
Hp-UX (Hp-UX specific change.)
Misc. update:
Bug Fix
Description:
The FFLAGS, CXXFLAGS, and CPPFLAGS variables weren't carrying
user-defined values into the Makefiles.
Solution:
Changed the flags from FOO="..." to FOO="$FOO ..."
Platforms tested:
Copper
Verbena
Arabica
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
"bug fix", sort of.
Description:
now that stream-vfd is on by default, it does not work for Tflops.
Set it to no by default.
Platforms tested:
Tested in Tflops.
Misc. update:
Update
Description:
Changed the line saying something like:
Testing FOO
to
Fortran API: Testing FOO
and
C++ API: Testing FOO
when appropriate.
Platforms tested:
Verbena, Arabica, Modi4
Misc. update:
Bug fix
Description:
Reduce optimization level from -O3 to -O for gcc 3.*, since it seems to
be generating bad code for the atomic type conversions now...
Platforms tested:
FreeBSD 4.9 (sleipnir)
Linux 2.4 (eirene, verbena)
h5committest not necessary, this is a GNU-only change.
Bug fix
Description:
The MPI_File_set_size() routine on ASCI Red is not able to extend files
so that they are larger than 2GB.
Solution:
Add an extra macro which controls whether MPI_File_set_size() can handle
>2GB offsets or if our "older" way of reading a byte, then writing a byte at
the appropriate offset should be used.
Platforms tested:
FreeBSD 4.9 (sleipnir)
h5committest
Purpose: Bug fix (by Bill Wendling)
Description: When efc compiler was used, FFLAGS were not set up
to deal with !DEC amd !MS dirctive and to use
-Vaxlib flag for exit call.
Solution: Modify the file to set up the flag.
Platforms tested: titan
Misc. update:
Bug Fix
Description:
In a fit of what can only be described as brain-damagedness, on blue,
frost, etc. (AIX, really), when you include the zlib.h header file
and are specifying that the compiler accept ANSI C, zlib.h undefines
the "const" keyword if you don't have the variable STDC
defined...*boggle*.
Solution:
Included a -DSTDC as a commandline flag for the compiler.
Platforms tested:
Snow (AIX 5.0)
Only affects AIX machines, so no h5committest needed.
Misc. update:
Bug Fix
Description:
C++ on Irix 6.5 needs some special libraries (libCio or some such
thing). These were defined using the DEFAULT_LIBS macro. However,
they weren't being placed into the Makefiles since it wasn't
AC_SUBST'ed in configure.in and wasn't declared in commence.in.
Solution:
Added to configure.in and also added and commence.in
Platforms tested:
Modi4 (C++, small change and only Irix specific)
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:
Update
Description:
Revamped the configuration system. The configurations for the Fortran
and C++ libraries are no longer separate from the "main"
configuration system. This involved removing the "configure*" and
"aclocal.m4" files from the fortran/ and c++/ subdirectories. Also
merging settings in the config/ subdirectories into the main config/
subdirectory.
Fortran header files had to be modified a little for Linux. It was
checking if it was a Linux machine by some #defines, however with the
-std=c99 switch, these defines weren't there. I added a check for
some other ones which should be there whether the -std=c99 switch is
used or not.
Platforms tested:
Verbena (Fortran & C++)
Sol (Fortran & C++)
Copper (Fortran & C++)
Modi4 (Parallel, Fortran, & C++)
Misc. update:
Bug fix
Description:
The "prefix?=..." is not recognized by all make commands. Even some
older gmake do not recognize it. The result is that "make install"
failed for many platforms (AIX, Solaris 2.7, HPUX 11, ...) because
when they tried to install at $(prefix)/lib, it becomes /lib since
$(prefix) is not defined.
Solution:
Restore it back to the previous
prefix=...
Platforms tested:
h5committested.
Also ran in-place build using vendor make in kelgia, arabica
and copper.
Misc. update:
Bug fix
Description:
"prefix" variable was always being set, instead of only being set if the
user hadn't set it yet.
Solution:
Changed "prefix=<foo>" to "prefix?=<foo>".
Platforms tested:
FreeBSD 4.8 (sleipnir)
Checked in gmake manual to make certain syntax is the same (it is).
Purpose:
Bug Fix
Description:
Changes needed to make "pmake" work on Modi4.
Solution:
Needed to add some null macro defines in the commence.in files.
Needed to remove a dependence on LIBH5TEST in the fortran make
since LIBH5TEST isn't used in the fortran stuff.
Platforms tested:
Modi4 (small change)
Misc. update:
Improvement
Description:
RUNPARALLEL is setup with default value when --enable-parallel but only if
CC is not set.
Solution:
set RUNPARALLEL to default value of using poe when --enable-parallel
or when an MPI compiler (e.g. mpcc_r) is used.
Platforms tested:
Copper for both 32 and 64 bit, serial and parallel.
(32bit parallel had a hang problem in configure which is a different but
known problem.)
Note that one still need to setenv AR "ar -X64" for 64bit configure.
Misc. update:
Speed up
Description:
Cache the settings of all number types to save configure time.
Reduced configure time by a whopping 40% (11m to 7m :-)
Platforms tested:
Sasn100 only (janus frontend.)
Replaced the individual setting of gcc flags with the combined
gnu-flags file.
Platforms tested:
Tested in modi4 with different combinations of gcc. No needed to
run three platforms tests since this is for irix machines only.
Misc. update:
Code cleanup
Description:
Remove special optimization and debugging flags for obsolete versions of
gcc.
Platforms tested:
FreeBSD 4.8 (sleipnir)
h5committest not needed.
Feature
Description:
Sometimes the total build process take a long time, especially in
parallel systems. Need some idea if some times are taking way
too long to process.
Solution:
Added timestamps marking the beginning and ending of tests in
one directory. This gives a rough idea of how much time the
tests use.
Platforms tested:
Tested only in Eirene since this is just a makefile thing and only
involve a simple command like echo and date.
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:
Added an explanation of using $HDF5_PARAPREFIX for Parallel tests.
Platforms tested:
h5committested (using sol instead of arabica) plus eirene(pp).
Misc. update:
Purpose: Maintenance for T3E
Description: Cray updated T3E to run unicosmk2.0.6.X
Configuration failed.
Solution: Created new unicosmk2.0.6.X files in the config and fortran/config
directories and added them to MANIFEST
Platforms tested: Cray T3E
Misc. update:
Initial pass for gcc3.3 support
Description:
Added section for gcc 3.3+ and cleaned up the gcc 3.2+ section a little.
Platforms tested:
FreeBSD 4.8 (sleipnir) w/gcc 3.3 snapshot
Triple check unneeded.
Bug Fix
Description:
The compression stuff includes the "zlib.h" header file. This
file on the SP machine was including another file which would
#define const as nothing if the compiler wasn't a Standard C
compiler.
Solution:
Included a flag to make the compiler into an ANSI compiler.
Platforms tested:
Blue (Only affects powerPC computers)
Misc. update:
Purpose: Catching up with 1.4 branch
Description: 1.5 didn't have unicos10.0.X configuration files
for both C and fortran.
Solution: Added the files
Platforms tested: CRAY T90IEEE
Misc. update:
Feature (bug fix)
Description:
Added a new configure file specifically for the IA64 platform
in which ecc and efc are the default compilers.
Also added all the Fortran special setup in the fortran version
Platforms tested:
no h5committest since this is a IA64 platform stuff.
Tested in Titan.
Misc. update:
MANIFEST Updated.
Bug fix
Description:
test/dtypes failed badly when -O is used. Trying to recompile test/*
code without -O did not eliminate the errors. So, the failure is
deep in the hdf5 library.
Solution:
For now, removed '-O' from $PROD_CFLAGS so that enable-production will use
no optimization. Need to find out what exactly trigger the errors.
Platforms tested:
Did not do h5committest because this is an AIX configure change only.
Tested it in Copper. Need to test it on other offsite machines.
Misc. update:
Updated release_docs/RELEASE.
New test feature
Description:
The various virtual file drivers (multi, family, core, ...)
are not tested automatically. One would have to do it by hand
by setenv HDF5_DRIVER <driver> and then do gmake check in test/.
Solution:
Added a new target, check-vfd, which will take the list from
$VFD_LIST and run 'make check' with each of its members.
Platforms tested:
h5committested.
Since check-vfd is not invoked by default, I went to each machine
to invoke them by hand. The target worked fine but there were
errors reported from those driver tests. (Those errors were beyond
the scope of this make target test.)
Misc. update:
Bug fix
Description:
The $RUNPARALLEL is set even when parallel mode is not used.
Then it is used to launch some parallel natured test (e.g. example/ph5example)
which is not compiled to be so. That created some unnecessary problem
in some situation (e.g., Copper cannot "poe a.out" from an AFS space
because of the missing AFS token system bug.
Solution:
Setup RUNPARALLEL only when parallel mode is enabled.
Platforms tested:
Only tested in Copper since the change applies to IBM machines only.
(note that v1.4 will fail by default due to a problem when the default
production mode is used. But that is an error not related to this config file)
Misc. update:
Purpose: Catching up with C library
Description: Fortran Library would not configure correctly with PGI compilers
because configure couldn't find any appropriate filesin the config
directories.
Solution: Added new files for PGI compilers support on Linux 2.4
Platforms tested: arabica(C and F90), burrwhite (pgcc and pgf90), modi4 (F90 and parallel)
Misc. update:
Bug fix.
Description:
-O2 -finline-functions still causes production builds on eirene to fail.
Solution:
Downgrade optimization on gcc 2.95.x (x<3) to -O -finline-functions
Platforms tested:
Linux 2.2 (eirene)
Bug fix w/gcc 2.95.x where x<3
Description:
-O3 optimization level causes problems for gcc 2.95.2 on eirene
Solution:
Only enable -O3 if using gcc 2.95.x (where x>=3) or gcc 3
Otherwise, use older setting of -O2 -finline-functions
Platforms tested:
FreeBSD 4.7 (sleipnir)
Linux 2.2 (eirene)
bug fix, features.
Description:
removed the cache of sizeof_long since it varies between 32 and 64 bits.
Set xlc and mpcc_r as the default compiler for serial and parallel modes.
Added -D_LARGE_FILES by default to support large file size.
Added gcc gnu-flags when gcc compiler is used (not working yet.)
Platforms tested:
Tested in Copper only since that is the only AIX machine on site.
Code cleanup
Description:
Clean up miscellaneous warnings which have crept into the code.
Fix "_POSIX_C_SOURCE not defined" warning on FreeBSD.
Adjust gcc compiler flags to be more concise for production mode.
Refactor the H5O code so that there is a stronger boundary between code
in the H5O package and code in the library which just calls H5O routines.
Platforms tested:
Tested h5committest {arabica (fortran), eirene (fortran, C++)
modi4 (parallel, fortran)}
FreeBSD 4.7 (sleipnir) serial & parallel and gcc 2.95.4 & gcc 3.2.2
Misc. update:
Update MANIFEST if you add or remove any file.
Bug Fix (Bug #806)
Description:
When compiling/installing with the command "make install" (without
performing a "make" beforehand) the tools weren't being made. This
was because the `install' command in the Makefiles only relied upon
public libraries, not private ones (which the one in the tools
directory is).
Solution:
Had the `install' command be dependent upon an "AUX_LIB" macro which
includes libraries which are needed but aren't distributed (that is,
they're staticly compiled).
Platforms tested:
Linux
Cleanup
Description:
Cleanup gcc cases to be more general about gcc 3.x, now that gcc 3.2 has
been released.
Platforms tested:
FreeBSD 4.6 (sleipnir) - not a significant enough change to worry about
multi-platform testing.
Porting to AIX 5.x
Description:
These have been tested out in v1.4. Folding them in here.
aclocal.m4:
Snow's names were not included in the special hack.
Added its names in.
Removed the trailing * in pacific.llnl.gov too.
configure.in:
fortran/configure.in:
Added a case to group all AIX 5.* versions as aix5.x. This allows
them to share one common config/*aix5.x file.
configure:
fortran/configure:
Derived from configure.in (done in eirene).
config/powerpc-ibm-aix4.x:
Added a comment explaining why not to cache sizeof size_t and off_t
fortran/config/powerpc-ibm-aix4.x:
Turned of cache of sizeof size_t and off_t because they are depedent
on compiler options.
config/powerpc-ibm-aix5.x:
fortran/config/powerpc-ibm-aix5.x:
New config file for AIX 5.X
Platforms tests:
LLNL Blue, Frost, Snow, both serial and parallel.
Bug Fix
Description:
Placed quotes around strings which could be empty so that the shell
script doesn't complain to us about "too many arguments for test"
problems.
Platforms tested:
Linux