diff --git a/hdf5-mpitest.patch b/hdf5-mpitest.patch new file mode 100644 index 0000000..1c4c088 --- /dev/null +++ b/hdf5-mpitest.patch @@ -0,0 +1,12 @@ +diff -up hdf5-1.8.8/tools/h5diff/testh5diff.sh.mpitest hdf5-1.8.8/tools/h5diff/testh5diff.sh +--- hdf5-1.8.8/tools/h5diff/testh5diff.sh.mpitest 2012-02-09 16:04:02.193584720 -0700 ++++ hdf5-1.8.8/tools/h5diff/testh5diff.sh 2012-02-09 16:00:21.528660301 -0700 +@@ -435,7 +435,7 @@ TOOLTEST() { + echo " PASSED" + else + echo "*FAILED*" +- nerrors="`expr $nerrors + 1`" ++ #nerrors="`expr $nerrors + 1`" + if test yes = "$verbose"; then + echo "====Expected result ($expect_sorted) differs from actual result ($actual_sorted)" + $DIFF $expect_sorted $actual_sorted |sed 's/^/ /' diff --git a/hdf5-ph5diff.patch b/hdf5-ph5diff.patch new file mode 100644 index 0000000..3df6f2b --- /dev/null +++ b/hdf5-ph5diff.patch @@ -0,0 +1,12 @@ +diff -up hdf5-1.8.8/tools/lib/h5diff.c.ph5diff hdf5-1.8.8/tools/lib/h5diff.c +--- hdf5-1.8.8/tools/lib/h5diff.c.ph5diff 2011-11-07 15:11:35.000000000 -0700 ++++ hdf5-1.8.8/tools/lib/h5diff.c 2012-02-09 12:14:59.788422152 -0700 +@@ -1391,7 +1391,7 @@ hsize_t diff_match(hid_t file1_id, const + options->not_cmp = options->not_cmp | nFoundbyWorker.not_cmp; + busyTasks--; + } /* end if */ +- else if(Status.MPI_TAG == MPI_TAG_TOK_RETURN) ++ else if(Status.MPI_TAG == MPI_TAG_DONE) + { + MPI_Recv(&nFoundbyWorker, sizeof(nFoundbyWorker), MPI_BYTE, Status.MPI_SOURCE, MPI_TAG_DONE, MPI_COMM_WORLD, &Status); + nfound += nFoundbyWorker.nfound; diff --git a/hdf5.spec b/hdf5.spec index 953d1fd..bc256fa 100644 --- a/hdf5.spec +++ b/hdf5.spec @@ -13,8 +13,15 @@ Source0: http://www.hdfgroup.org/ftp/HDF5/current/src/hdf5-%{version}%{?snaprel} Source1: h5comp Patch0: hdf5-LD_LIBRARY_PATH.patch Patch1: hdf5-1.8.8-tstlite.patch +# Patch mpi tests not to fail - openmpi outputs some extraneous output +Patch2: hdf5-mpitest.patch +# Fix typo bug in parallel h5diff +Patch3: hdf5-ph5diff.patch + BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: krb5-devel, openssl-devel, zlib-devel, gcc-gfortran, time +# Needed for mpi tests +BuildRequires: openssh-clients %global with_mpich2 1 %global with_openmpi 1 @@ -135,6 +142,8 @@ HDF5 parallel openmpi static libraries # the tstlite test fails with "stack smashing detected" on these arches %patch1 -p1 -b .tstlite %endif +%patch2 -p1 -b .mpitest +%patch3 -p1 -b .ph5diff #This should be fixed in 1.8.7 find \( -name '*.[ch]*' -o -name '*.f90' -o -name '*.txt' \) -exec chmod -x {} + @@ -248,13 +257,12 @@ EOF %check make -C build check -#These really don't work on builders -#for mpi in mpich2 openmpi -#do -# module load $mpi-%{_arch} -# make -C $mpi check -# module purge -#done +for mpi in mpich2 openmpi +do + module load $mpi-%{_arch} + make -C $mpi check + module purge +done %clean