Commit Graph

34 Commits

Author SHA1 Message Date
Albert Cheng
d4708e35ab [svn-r20058] Changed Linux system to use mpicc as the default parallel C compiler.
mpif90 is already the default parallel Fortran if mpicc is the C compiler.

Tested: Jam (serial and parallel). No need for committest since this change is
limited to Linux system.
2011-02-07 14:46:46 -05:00
Larry Knox
10a8b060ca [svn-r19059] Brought changes from hdf5_1_8 to add version information for 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.
2010-07-08 21:52:14 -05:00
Mike McGreevy
21518fd05a [svn-r17654] Purpose:
Configure cache-val cleanup

Description:

    Corrected some misnamed cache values in configure / config files.

Tested:

    h5committest
2009-10-15 16:14:27 -05:00
Albert Cheng
8be517f710 [svn-r17196] Changed default Gnu fortran compiler from g95 to gfortran since
gfortran is more likely installed with gcc now.

Tested:
jam and amani which covers both linux and linux64.
No h5committest because this is gnu compiler specific, usually
applicable to Linux.
2009-07-19 18:28:30 -05:00
MuQun Yang
068620ea81 [svn-r15604] The MPI compiler(mvapich2-0.9.8p2patched-intel-ofed-1.2) at NCSA's linux cluster(Abe) fails to handle collective IO calls with very complicate MPI derived datatype. All the values of input parameters from HDF5 are correct before passing to MPI-IO collective calls. Sometimes the following errors happen:
rank 0 in job 77  honest1.ncsa.uiuc.edu_60945   caused collective abort of all ranks
  exit status of rank 0: killed by signal 9

Up to this point, we decide to turn off the use of advanced MPI derived datatype features inside HDF5 so that complicated selection tests are ensured to be handled by HDF5.  This check-in reflects this.
2008-09-08 17:50:47 -05:00
Raymond Lu
6262a14f2e [svn-r14096] There're 3 changes in this checkin as below:
1. In H5Dwrite and H5Dread, let the data buffer point to a fake address if the application passes
     in an empty buffer.  This is mainly for MPIO programs that some processes may not have any 
     data to write or read but still participate the I/O.  This solution solves some MPI's problem
     like the ChaMPIon on tungsten which doesn't support empty buffer.
  2. The ChaMPIon on tungsten doesn't support complex derived MPI data type correctly and collective
     I/O when some processes don't have any data to write or read correctly.  Detect the compiler
     "cmpicc" in the system-specific config file and set the variables for these two cases to false.
     The PHDF5 library already has set up a way to switch collective chunked I/O to independent 
     under these two cases.
  3. A bug fix - During the work of the optimization for compound data I/O, the case for switching
     collective chunked I/O to independent I/O was leftout.  Fixed it by adding I/O caching to it in
     H5D_multi_chunk_collective_io in H5Dmpio.c.

Tested on tungsten, cobalt, and kagiso for parallel; on linew and smirom for serial.
2007-08-20 16:55:38 -05:00
Albert Cheng
1a2ddc0966 [svn-r13324] Changed the default Fortran compiler for gcc from pgf90 to g95. 2007-02-17 14:36:53 -05:00
Albert Cheng
914fbdcc67 [svn-r13312] Updated copyright notice. 2007-02-14 17:29:52 -05:00
Elena Pourmal
caf3fa51d8 [svn-r12765] Description:
Daily tests failed for Absoft f95 compiler

Solution:
	Failure was due to several typos in H5f90prpto.h file; fixed
	I also removed redundant flags from the configration files.

Platforms tested: heping with f95, g95, pgf90; pommier with f95
2006-10-16 17:24:33 -05:00
James Laird
5740dd95a4 [svn-r12301] Purpose:
H5_CFLAGS change

Description:
Converted a few platforms to use H5_CFLAGS to "test the waters"

Solution:
Modified a few config/* files to use H5_CFLAGS for non-essential
flags.

Platforms tested:
mir, heping
2006-04-25 16:19:14 -05:00
MuQun Yang
e8535af373 [svn-r11962] Purpose:
The previous check-in seems fixing the non-selection failure at heping.
Description:
release the special_collective_io_works macro at this platform.

Solution:

Platforms tested:
heping mpich 1.2.6

Misc. update:
2006-02-21 17:13:11 -05:00
MuQun Yang
a8a2d5dedb [svn-r11942] Purpose:
Add collective chunk IO supports

Description:
Added a macro hdf5_mpi_special_collective_io_works to filter out
some mpi-io packages that don't support collective IO for no IO
contributions in some processes.

Solution:
1.
"hdf5_mpi_special_collective_io_works=${hdf5_mpi_special_collective_io_works=
'no'}"
has been added at the end of file ia64-linux-gnu and linux-gnulibc1

2. Some comments are added in ia64-linux-gnu and linux-gnulibc1.
3. Documents are added inside RELEASE.txt.

Platforms tested:
Parallel:

IBM AIX 5.2(copper)
Linux (heping) mpich-1.2.6
SDSC Teragrid mpich-1.2.5
Linux(Tungsten) mpich-1.2.6
Altix(NCSA cobalt)

Seq:
Linux(heping)

Misc. update:
2006-02-16 11:51:47 -05:00
Frank Baker
25733372e4 [svn-r11614]
Description:
    Correct typo in copyright notice.
Platforms tested:
    Ran hdf5/bin/chkcopyright without errors.
2005-10-28 15:28:20 -05:00
Albert Cheng
9171536823 [svn-r11610] Purpose:
Bug fix.

Description:
The previous way of detecting the MPICH version fails if the suspected
$CC does not give the expected MPICH version information.  Though no
consequence, it generates error messages that alarm users.
Also, mpich2 gives the version information as if it were mpich v1.0.2
which was incorrectly included as an earlier version of the origianl
mpich.

Solution:
Implemented a more robust code to detect the version and narrow the
recognition down to v1.2.0-v1.2.5.  Also, the code were duplicated in
two files (linux-gnulibc1 and ia64-linux-gnu).  Combined them into a
new file called mpich.

Platforms tested:
Tested in heping using mpicc and mpich2/mpicc and also in tg-ncsa.

Misc. update:
Updated MANIFEST.
2005-10-26 15:44:19 -05:00
Frank Baker
155d762b9c [svn-r11592]
Description:
    Add source code copyright notice; comment symbols vary by type of file.
Platforms tested:
    No changes that should cause any problems.  Nonetheless, the tree will
    be checked out fresh and tests run immediately post-commit.
2005-10-21 09:54:41 -05:00
James Laird
c8c43d2b9a [svn-r11461] Purpose:
Code cleanup

Description:
Removed Fortran type sizes from config/* files.

Solution:
These lines weren't doing anything anymore; they've been replaced by automatic
type generation.  This is just housekeeping to remove them from
the config/* files.

Platforms tested:
mir, sol, modi4
2005-09-22 18:02:40 -05:00
Leon Arber
1b6406124a [svn-r11405] Purpose:
Bug fix

Description:
A whole chunk of this file somehow got deleted and the heavily reduced
file was accidentally checked in.  This is the complete version of the file, with the
mpiicc fix.

Solution:

Platforms tested:

Misc. update:
2005-09-12 23:14:23 -05:00
Leon Arber
a9f72e29fd [svn-r11397] Purpose:
Bug fix

Description:
Forgot to remove a debug statement before committing.

Solution:
The script printined out what it thought CC_BASENAME was for debugging.
Removed this print statement.

Platforms tested:
minor change, mcr

Misc. update:
2005-09-12 21:15:58 -05:00
Leon Arber
c78c580f5c [svn-r11394] Purpose:
Bug fix

Description:
Same bug as was just checked in for v16.  Do the complicated
derived datatype check for compilers named mpiicc in addition to
mpicc.

Solution:

Platforms tested:

Misc. update:
2005-09-12 13:53:26 -05:00
MuQun Yang
bee5c236e5 [svn-r11065] Purpose:
Updating phase 2 work of collective IO

Description:
When the size is bigger than some value for MPI derived data type, mpich 1.2.5 and lower
version won't work any more, so in the configuration file, we will check the version number
and switch from collective IO to independent IO by turning off complex derived datatype.

Solution:

Platforms tested:
linux 2.4, AIX 5.1, Linux 2.4 IA64 and IRIX 6.5

Misc. update:
2005-07-12 14:14:18 -05:00
James Laird
25df1908bc [svn-r10158] Purpose:
Automake version upgrade

Description:
Upgraded automake version from 1.6.2 to 1.9.5.
Changed bin/reconfigure script to use automake 1.9.5.
Changed configure.in and Makefiles to use new FCFLAGS and FC variables
instead of FFLAGS and F9X.
Automake and configure should now do the lion's share of the work
supporting Fortran 9X; macros in acsite.m4 are now mostly unused (will
be cleaned later).
Altered how configure handles pmake; now root-level Makefile.in is
processed by bin/reconfigure to have a .MAKEFLAGS target, since
automake no longer allows us to define unused variables.
Configure now always checks for C++ compiler even if it is not
used, since automake thinks this is the Right Thing To Do and
will break otherwise.

Platforms tested:
Sol, copper, heping, mir, sleipnir, eirene, pommier, kelgia, modi4.
2005-03-07 12:57:27 -05:00
Quincey Koziol
c04b612eb4 [svn-r9801] Purpose:
Bug fix

Description:
    Belatedly chase change of hobj_ref_t in C APIs.

Platforms tested:
    FreeBSD 4.10 (sleipnir) w/backward compatibility turned on
    IRIX64 6.5 (modi4) w/FORTRAN
    h5committest
2005-01-10 17:56:20 -05:00
Quincey Koziol
427ff7da28 [svn-r9727] Purpose:
Bug Fix/Code Cleanup/Doc Cleanup/Optimization/Branch Sync :-)

Description:
    Generally speaking, this is the "signed->unsigned" change to selections.
However, in the process of merging code back, things got stickier and stickier
until I ended up doing a big "sync the two branches up" operation.  So... I
brought back all the "infrastructure" fixes from the development branch to the
release branch (which I think were actually making some improvement in
performance) as well as fixed several bugs which had been fixed in one branch,
but not the other.

    I've also tagged the repository before making this checkin with the label
"before_signed_unsigned_changes".

Platforms tested:
    FreeBSD 4.10 (sleipnir) w/parallel & fphdf5
    FreeBSD 4.10 (sleipnir) w/threadsafe
    FreeBSD 4.10 (sleipnir) w/backward compatibility
    Solaris 2.7 (arabica) w/"purify options"
    Solaris 2.8 (sol) w/FORTRAN & C++
    AIX 5.x (copper) w/parallel & FORTRAN
    IRIX64 6.5 (modi4) w/FORTRAN
    Linux 2.4 (heping) w/FORTRAN & C++


Misc. update:
2004-12-29 09:26:20 -05:00
Quincey Koziol
c9874681a6 [svn-r9491] Purpose:
Bug fix

Description:
    "Teach" the configure scripts about Intel 7.1 compilers, which don't have
_quite_ the same compiler flags

Platforms tested:
    Linux 2.4 (eirene)
2004-10-30 23:59:57 -05:00
Quincey Koziol
6af5973295 [svn-r9404] Purpose:
Code cleanup

Description:
    Default to using mpif90 if CC=mpicc and --enable-fortran flag is given,
but no F9X compiler is set.

Platforms tested:
    Linux 2.4 (verbena)
    Too minor to require h5committest
2004-10-12 11:04:14 -05:00
Quincey Koziol
951d6d826a [svn-r9385] *** empty log message *** 2004-10-08 21:39:07 -05:00
Elena Pourmal
abf5d5cf60 [svn-r8966] Purpose: Maintenance
Description: Added support for Absoft Fortran compiler

Solution: Modified configuration file to check which Fortran compiler is used
          and set appropriate flags.

Platforms tested: verbena with pgf90 and Absoft f95 compilers

Misc. update:
2004-07-29 16:08:16 -05:00
Bill Wendling
b303888f43 [svn-r7854] Purpose:
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:
2003-11-14 15:36:53 -05:00
Bill Wendling
0603e2db00 [svn-r7269] Purpose:
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:
2003-07-28 16:38:04 -05:00
Bill Wendling
241abf4931 [svn-r3452] Purpose:
Fix
Description:
    The "make *clean" options weren't recursing through the
    subdirectories (if they exist).
Solution:
    Force it to recurse through the subdirectories listed in SUBDIRS
Platforms tested:
    Linux
2001-02-19 14:04:32 -05:00
Robb Matzke
d534a4dd0d [svn-r1204] Changes since 19990415
----------------------

./config/depend.in
	Fixed automatic dependencies. We were storing dependencies for
	*.o files instead of *.lo files after shared libraries were
	added.

./config/gnu-flags
./config/linux-gnulibc1
	Moved `-march=pentiumpro -mcpu=pentiumpro -malign-double' from
	the linux file to this file and caused it to depend on the CPU
	name.  This fixes one of Elena's bugs.

./src/H5B.c
./src/H5Bprivate.h
./src/H5D.c
./src/H5Dprivate.h
./src/H5Dpublic.h
./src/H5F.c
./src/H5Farray.c
./src/H5Fistore.c
./src/H5Fmpio.c
./src/H5Fprivate.h
./src/H5Fpublic.h
./src/H5Gnode.c
./src/H5P.c
./src/H5RA.c
./src/H5Sall.c
./src/H5Shyper.c
./src/H5Smpio.c
./src/H5Spoint.c
./src/H5Sprivate.h
./src/H5Tpublic.h
./test/istore.c
	Added an H5Dget_storage_size() function that reports the
	amount of storage allocated for raw data in a dataset.

	Changed H5D_xfer_* to H5F_xfer_* because these properties are
	more general than datasets. This also allows some of the
	lower-level I/O functions to get this information easier.

./src/H5S.c
./src/H5Sall.c
	Added two new functions H5S_all_read() and H5S_all_write()
	which are optimizations that copy data directly between file
	and memory without having to go through the scatter gather
	step.  This knocks quite a bit of time off the I/O and
	reading/writing entire datasets is a fairly common operation.

./tools/h5ls.c
	Reports the logical size of data, the allocated size of data,
	and the percent utilization.

./MANIFEST
	Removed old pablo files, added new files. Snapshots should now
	start to work again.

./src/H5D.c
./src/H5Fmpio.c
	Removed two warnings signed vs. unsigned comparisons and check
	for overflow.
1999-04-23 07:31:21 -05:00
Robb Matzke
b93c9e2cf9 [svn-r1151] Changes since 19990318
----------------------

./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.
1999-03-19 15:09:50 -05:00
Robb Matzke
96320e69c0 [svn-r1117] Changes since 19990303
----------------------

./configure.in
./configure		[REGENERATED]
	The path for a command is calculated explicitly the hard way
	because `type -path' isn't portable.

./config/freebsd
./config/linux-gnu
./config/linux-gnulibc2
	Changed the way files reference each other.

./config/gnu-flags	[NEW]
./config/dec-flags	[NEW]
	These files figure out what flags to pass to certain compilers
	so we can reuse code in more than one config/* file.  They
	also have better warning messages when old compilers are used.

./config/linux-gnulibc1
./config/dec-osf4.x
	These files use the new *-flags files.


./src/H5D.c
./src/H5Onull.c
./src/H5Tconv.c
./tools/h5ls.c
	Fixed a compiler warning.

./src/H5detect.c
	Added a better comment to the top of the generated file.
1999-03-04 15:22:42 -05:00
Robb Matzke
116491f0d6 [svn-r1112] Changes since 19990301
----------------------

./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).
1999-03-02 12:15:35 -05:00