| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Purpose:
Remove H5_MPI_SPECIAL_COLLECTIVE_IO_WORKS and
H5_MPI_COMPLEX_DERIVED_DATATYPE_WORKS #defines from source.
Description:
Two advanced parallel functionalities, special collective IO and
complex derived datatypes, are not supported by older
implementations of mpi, and thus our code limits the use of these
features with #ifdefs and has checks in configure to set them (or
not). Unfortunately, configure can't actually run a parallel check
to see if these features are working (nor not) so it resorts to
looking in the config files where they are explicity enabled or
disabled based on versions of mpi, sytems being built on, or for
no documented reason at all (i.e. just set to on or off as some
'default'). Overriding these settings is easy if need be, provided
it is known that it needs to be done to get improved performance,
and oftentimes it is not.
Most new MPI implementations successfully handle the functionality
requested when these #defines are set, and many of the "turn these
features off" cases in the config files are for old (> 5 years)
versions of MPI and retired systems (such as NCSA's tungsten).
Therefore, the decision has been made to remove the support for
these old versions of MPI and systems that cannot handle these
behaviors. The #ifdefs and supporting setup in the config/ files
and configure script has been removed, and the code executed when
these options were not set removed from the source.
In passing, this commit also cleans up some whitespace issues in
both t_mpi.c and H5Dmpio.c. Furthermore, in t_mpi.c, the special
collective IO test was not getting regularly run due to it being
written to work only with four processes (we regularly test with
six, previously with three), and thus it failed when actually run
due to an out of bounds data buffer assignment. It has been
modified to run at any number of processes greater than four, and
the memory problem has been fixed so the test passes.
Tested:
jam, h5committest, ember
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fix HDFFV-7522
"--enable-production=xxx will produce incorrect configure summary"
Description:
Fixed a typo in configure.in that resulted in "-enableval" being
displayed by the configure summary (and set in the CONFIG_MODE
makefile variable) if the production mode was set to anything other
than yes, no, or profile. The summary and CONFIG_MODE variable will
now be set to the value specified by the user.
Tested:
jam, h5committest
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Updates configure definitions on linux.
Description:
We only define _POSIX_SOURCE which only allows for the lowest level of
POSIX support (IEEE 1003.1), which is unsuitable for clock_gettime() functionality on modern linux systems. This symbol was changed to _POSIX_C_SOURCE=199506L, which gives the 1996 version of POSIX support and allows clock_gettime() and CLOCK_MONOTONIC to be found.
We do not link to the BSD compatibility library, even though we define
_BSD_SOURCE. -lbsd-compat was added to AM_LDFLAGS in accordance with GNU
recommendations. This does not appear to change anything in the current
library.
Tested on:
jam(linux32-LE) This was tested with various configure settings including
parallel, threadsafe, C++ and FORTRAN enabled.
|
|
|
|
|
|
|
|
|
|
|
| |
Adds a check for the mach_time header file.
Description:
The mach time header file is needed for the monotonic timer / log VFD
work. No code in the trunk depends on this file at this time.
Tested on:
jam(linux32-LE) tejeda(darwin32 LE) local darwin64 (snow leopard)
|
|
|
|
|
|
|
|
|
|
| |
Changes configure/configure.in to use the same CFLAGS and CPPFLAGS in the configure tests that are used to build the library.
Description:
Only AM_CPPFLAGS was propagated to the CPPFLAGS that were used to build the library. Now H5_CPPFLAGS, AM_CFLAGS and H5_CFLAGS are used in the configure tests.
Tested on:
jam(linux32-LE) freedom(bsd63-LE) linew(solaris-BE) tejeda(darwin32 LE)
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Correct check for pthreads routine from pthread_join() to pthread_self()
as intended.
Tested on
FreeBSD/32 6.3 (duty) in debug mode
FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
FreeBSD/32 8.2 (loyalty) w/gcc4.6, w/C++ & FORTRAN, in debug mode
FreeBSD/64 8.2 (freedom) w/gcc4.6, w/C++ & FORTRAN, in debug mode
Linux/32 2.6 (jam) w/PGI compilers, w/default API=1.8.x,
w/C++ & FORTRAN, w/threadsafe, in debug mode
Linux/64-amd64 2.6 (koala) w/Intel compilers, w/default API=1.6.x,
w/C++ & FORTRAN, in production mode
Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
w/szip filter, w/threadsafe, in production mode
Linux/PPC 2.6 (heiwa) w/C++ & FORTRAN, w/threadsafe, in debug mode
Linux/64-ia64 2.6 (ember) w/Intel compilers, w/C++ & FORTRAN,
in production mode
Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in debug mode
|
|
|
|
|
|
|
|
|
|
| |
Switch from using 'pthread_create' to 'pthread_self' when trying to
detect the pthread library, so that the Intel C compiler is happier with the
prototype.
Tested on:
Linux/64 2.6 (koala) w/Intel C
(h5committested on duty, jam & linew)
|
|
|
|
|
|
|
|
| |
examples and hl/examples Makefiles.
"export" breaks make install in Daily Tests on FreeBSD machines and isn't missed elsewhere.
Tested on amani, freedom, jam, heiwa, and loyalty.
|
|
|
|
|
|
|
|
|
|
| |
Removed code in
configure.in that tried to distinguish different versions of AIX. This is no
longer needed.
Tested:
NCSA Blue-print. No h5committest since this affected AIX system only.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
General shared library improvements for CYGWIN / AIX
Description:
Shared libraries are disabled on both CYGWIN and AIX due
to inability to build them correctly. Part of the problem
in both of these situations is the lack of the libtool
flag -no-undefined, which tells libtool that all needed
symbols are defined at link time (a requirement on these
systems) and that it's okay to build shared libraries.
Another problem are lack of dependencies between wrapper
libraries and core C HDF5 library.
This patch addresses both of these by fixing configure to
add in -no-undefined flag for libtool during linking and
adds automake dependencies in the Makefile.am files.
After testing, both CYGWIN and AIX now generate shared
libraries, but there are still some test failures in each.
(cache_api, dt_arith, and testerror.sh on CYGWIN, and
fortran tests on AIX).
Even though the shared libraries are not quite perfect,
this is a general improvement to what we had before, so
I'm applying the patch anyways. Note that default behavior
of shared libraries on these systems being disabled has
NOT been changed and requires the use of the
--enable-unsupported to attempt to build them.
We will need to address the test failures in each
architecture prior to formally supporting shared
libraries on each.
Tested:
h5committested & CYGWIN tested (on bangan)
(AIX tested by Albert on bp-login2)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add "silent make" mode configure option.
Description:
Automake 1.11 has a new option available that allows for a
silent make mode. This functionality needs to be explicitly
enabled in configure.in via the use of the automake macro
AM_SILENT_RULES, which is what this commit is adding.
This introduces a new configure option:
--{en|dis}able-silent-rules
This option is on by default, and simplies compile and link
line outputs when building the library. Disabling this option
will print full "verbose" output (i.e., full compile and
linking lines for each target).
Tested:
This was tested on jam & h5committested
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Revise shared Fortran library disabling scenarios in configure
- Improve configure output summary
Description:
Shared Fortran libraries are not supported on Mac, but were being
disabled by configure in a way that also forced the C libraries
to be static-only. This has been fixed, so now only shared Fortran
is disabled while shared C can remain.
This prompted two additional changes:
1. While working on the check that addresses whether or not
shared Fortran libraries are allowed, removed old and no
longer needed check(s) that disable shared Fortran
libraries with HP, Intel 8, PGI, and Absoft compilers.
(Essentially, Mac is the only situation in which Fortran
shared are disabled by configure.)
2. Having two different states of libraries (i.e. shared C
library with static-only Fortran library) was not apparent
in the configure summary, which labeled all libraries as
either shared and/or static. I've added lines to both the
C++ and Fortran output sections to list shared/static-ness
of these libraries specifically.
Additionally, I've made sure that the new --enable-unsupported
configure option correctly overrides configure if it tries to
disable a shared library.
Tested:
jam, fred, & h5committest
|
|
|
|
| |
Bump patch release number, after giving out private snapshots.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add "--enable-unsupported" configure flag.
Description
The "--enable-unsupported" configure flag allows a user to
prevent configure from failing due to the use of incompatible
options, such as c++ with parallel.
Specifying --enable-unsupported will bypass all of configure's
checks for incompatible and unsupported combinations of flags.
There are no guarantees that the library will be configured
in any sort of working condition, but that's the risk of
using the --enable-unsupported flag.
I've changed all default error messages related to unsupported
option combinations to indicate that using --enable-unsupported
will allow configure to complete without error.
Tested:
by hand on jam, tested all unsupported configure option
combinations with and without the new flag, making sure
the flag allows configure to finish without error.
(h5committest wouldn't do any good here; it won't test
the new option, and since we're enabling unsupported
combinations, failures are likely to occur in build or
tests with --enable-unsupported turned on anyways.
That's why they're unsupported!)
|
|
|
|
|
|
| |
1) Move the test for H5D_EXT_PREFIX in links.c to a separate file: links_env.c
2) links_env.c will be used by testlinks_env.sh to test for the environmental
variable H5D_EXT_PREFIX in searching for the external linked file.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
to convert some values from long
double to (unsigned) long and from (unsigned) long to long double. I added tests in configure.in
to detect these algorithms. Before I can figure out them, I disable the tests in dt_arith.c.
There are property changes to tools/misc, config, and Makefile.am when I brought the fix from 1.8.
Tested on jam, heiwa, amani, IBM Power6 Linux machine in Holland (huygens.sara.nl).
|
|
|
|
|
| |
Tested: in jam only since that is that only parallel tests h5committest
would have done.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Description:
In an AIX 6.1 system, configure --enable-shared could not build a shared
HDF5 library. The problem was because the version of config.guess was too
old to recongnize AIX 6.X and also configure.in had a local fix which did
not recognize AIX 6.X.
Solution:
1. Mike McGreevy updated bin/config.guess to handle AIX 6.X.
2 Albert fixed configure.in to recognize AIX 6.X.
Note that though HDF5 can build shared lib for AIX 6.X systems
but it still could not install the proper library as in AIX 5.X
systems. Also, bin/config.sub should be updated too.
Tested: BP which is the AIX 6.1 system that exposed this problem.
|
|
|
|
|
|
| |
and m4 to version 1.4.14. Also added m4 directory for m4 macros according to autoconf suggestion.
Tested with h5committest on amani, jam, and heiwa, and on linew.
|
|
|
|
|
|
|
|
|
|
| |
fseek64 was used to support large file access for the STDIO driver back in
version 1.2.2 in year 2000. Some how it was not included in version 1.4.0.
Now, fseeko64 is used to support large file. There is no more need for fseek64
which is not a standard call. Removed its presence from configure and related
files.
Tested: jam for configure only.
|
|
|
|
|
|
|
|
| |
In some machine (Linux), when --disable-largefile is used, it claims it has
fseeko64 but off64_t is NOT supported. Moved the test of fseeko64 and ftello64
to where fseek64 is so that they are tested only if off64_t is supported.
Tested: h5committested.
|
|
|
|
|
|
|
|
|
| |
the STDIO
VFD if they are available.
Tested: jam only since it was tests for two new functions that are not used by
the code yet.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Removed the recognition of parallel compilers of LAM (hcc) and ChMPIon (cmpicc)
since we have no access to these two MPI implementations and decided not to
support them any more.
Test: Jam using parallel tests:
1. use CC=mpicc and confirmed it is recognized as a parallel compiler;
2. use CC=hcc and confirmed it is NOT recognized as a parallel compiler
any more.
|
| |
|
|
|
|
|
|
| |
fortran and c++ compilers in libhdf5.settings file and configure output (r18836), to install examples as part of make install (r18680), and to provide scripts to compile and run the examples after they are installed (r18817).
Tested with new/h5committest on amani, heiwa, and jam.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
PHDF5 changed to use "mpiexec", instead of mpirun, as the default MPI
applications startup command as defined in the MPI-2 definition, section
4.1. Note that only mpich related (using mpicc command) definitions are
changed to mpiexec. Other favors like hcc, AIX, champion, are not changed
since I don't have a way to verify them yet.
Tested:
jam and amani, using both current and new mpich.
Did not h5committested since this affects PHDF5 configure only.
|
|
|
|
|
|
| |
reference to a discussion of the _POSIX_SOURCE, BSD_SOURCE, and _POSIX_C_SOURCE Macros and their intersaction at http://www.gnu.org/s/libc/manual/html_node/Feature-Test-Macros.html.
Comment text only - not tested.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Improve configure's large-file support control.
Description:
Modified configure to now attempt to add defines necessary for
supporting largefiles on all systems, instead of solely on linux. This
is in response to user requests to enable largefile support on Solaris
by default, as well as to give extra control on AIX (instead of just
jamming the necessary flag into the config files).
The old --enable-linux-lfs flag has been removed in favor of the
--enable-largefile flag (enabled by default), which can be used on all
platforms.
On systems where large files cannot be supported in this manner,
configure will report as such.
Tested:
h5committest
AIX (NCSA's blue_print machine)
duty, liberty, and linew.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Description:
longjmp do not necessary restore signal that is blocked during the signal
handling. This caused the Alignment test to fail quietly, resulting in wrong
alignment information which will cause failures later.
Solution:
One can use sigsetjmp/siglongjmp to restore signal handling but not all systems
such as Cray XT or VMS supports sigsetjmp. Backup solution is to use
sigprocmask to reset the signal. Again, some systems may not support it either.
Added code to try the first and then the second solution. Also added tests
to verify if the signal_handler routines are working properly. Finally, added
code to print results of the verification (in form of comments) to H5Tinit.c
for inspection in case of failure.
(Note that many platforms do not have alignment limits at all and ALIGNMNET
code never raise the SIGBUS or SIGSEGV errors. In those cases, it does not
matter whether the signal handlers work or not. Again, this can be deduced
from the results comments near the end of the H5Tinit.c. If the sum of signal
handlers called equals the total of verify, it means ALIGNMENT does not raise
any signals.)
For configure.in and configure:
Added the test for setjmp, sigsetjmp, sigprocmask which are used by the
H5detec.c.
Tested:
htcommittested, jam(serial).
|
|
|
|
|
|
|
|
|
| |
the offset, alignment, and
size of nested compound type are calculated by using H5T_cmp_offset. The old way had a bug
in it (see bug #1850).
Tested on jam. I tested the same change for 1.8 on amani, linew, and jam.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Clean up compiler warnings.
Tested on:
FreeBSD/32 6.3 (duty) in debug mode
FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
Linux/32 2.6 (jam) w/PGI compilers, w/default API=1.8.x,
w/C++ & FORTRAN, w/threadsafe, in debug mode
Linux/64-amd64 2.6 (amani) w/Intel compilers, w/default API=1.6.x,
w/C++ & FORTRAN, in production mode
Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
w/szip filter, in production mode
Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
in production mode
Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in debug mode
Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode
Mac OS X/32 10.6.3 (amazon) in debug mode
Mac OS X/32 10.6.3 (amazon) w/C++ & FORTRAN, w/threadsafe,
in production mode
|
| |
|
| |
|