On Mon, 2007-12-31 at 21:26 -0500, Adam C Powell IV wrote: > On Wed, 2007-12-19 at 11:04 -0500, Adam C Powell IV wrote: > > As OpenMPI is the successor to LAM (the LAM developers now work on > > OpenMPI), please add an OpenMPI build of hdf5. > > Will you accept a patch if I provide one?
Okay, so I got impatient and went ahead and did it. Here's the patch. Note that it includes a small patch to H5public.h for only the OpenMPI case which is necessary for C++ programs to compile with extern "C" { #include <hdf5.h> } [this does not seem to be necessary for LAM or MPICH]. Cheers, -Adam -- GPG fingerprint: D54D 1AEE B11C CE9B A02B C5DD 526F 01E8 564E E4B6 Engineering consulting with open source tools http://www.opennovation.com/
diff -urN hdf5-1.6.5-5/debian/changelog hdf5-1.6.5-6/debian/changelog --- hdf5-1.6.5-5/debian/changelog 2008-01-01 21:22:32.000000000 -0500 +++ hdf5-1.6.5-6/debian/changelog 2008-01-01 21:24:04.000000000 -0500 @@ -1,3 +1,11 @@ +hdf5 (1.6.5-6) unstable; urgency=low + + * Added OpenMPI version (closes: #457080) + * Patch to H5public.h for OpenMPI is for C++ programs which include + hdf5.h in an extern "C" block. + + -- + hdf5 (1.6.5-5) unstable; urgency=low * Changed maintainer and added uploards for true in control.in diff -urN hdf5-1.6.5-5/debian/control hdf5-1.6.5-6/debian/control --- hdf5-1.6.5-5/debian/control 2008-01-01 21:22:32.000000000 -0500 +++ hdf5-1.6.5-6/debian/control 2008-01-01 21:22:50.000000000 -0500 @@ -3,7 +3,7 @@ Priority: optional Maintainer: Debian GIS Project <pkg-grass-devel@lists.alioth.debian.org> Uploaders: Francesco Paolo Lovergine <[EMAIL PROTECTED]> -Build-Depends: libmpich1.0-dev (>= 1.2.7-1), zlib1g-dev, lam4-dev (>= 7.1.1-3.2), libjpeg62-dev, debhelper (>> 5) +Build-Depends: libmpich1.0-dev (>= 1.2.7-1), zlib1g-dev, lam4-dev (>= 7.1.1-3.2), libopenmpi-dev, libjpeg62-dev, debhelper (>> 5) Standards-Version: 3.7.2 Package: libhdf5-serial-1.6.5-0 @@ -74,6 +74,41 @@ . Home page: http://hdf.ncsa.uiuc.edu/HDF5/ +Package: libhdf5-openmpi-1.6.5-0 +Section: libs +Priority: extra +Architecture: any +Depends: ${shlibs:Depends} +Conflicts: libhdf5-1.6.5-0 +Provides: libhdf5-1.6.5-0 +Description: Hierarchical Data Format 5 (HDF5) - runtime files - OpenMPI version + HDF5 is a file format and library for storing scientific data. + HDF5 was designed and implemented to address the deficiencies of + HDF4.x. It has a more powerful and flexible data model, supports + files larger than 2 GB, and supports parallel I/O. + . + This package contains runtime files for use with OpenMPI. + . + Home page: http://hdf.ncsa.uiuc.edu/HDF5/ + +Package: libhdf5-openmpi-dev +Section: libdevel +Priority: extra +Architecture: any +Depends: libhdf5-openmpi-1.6.5-0 (= ${Source-Version}), libc6-dev, zlib1g-dev, libjpeg62-dev, libopenmpi-dev +Conflicts: libhdf5-dev +Provides: libhdf5-dev +Suggests: libhdf5-doc +Description: Hierarchical Data Format 5 (HDF5) - development files - OpenMPI version + HDF5 is a file format and library for storing scientific data. + HDF5 was designed and implemented to address the deficiencies of + HDF4.x. It has a more powerful and flexible data model, supports + files larger than 2 GB, and supports parallel I/O. + . + This package contains development files for use with OpenMPI. + . + Home page: http://hdf.ncsa.uiuc.edu/HDF5/ + Package: libhdf5-mpich-1.6.5-0 Section: libs Priority: extra diff -urN hdf5-1.6.5-5/debian/control.in hdf5-1.6.5-6/debian/control.in --- hdf5-1.6.5-5/debian/control.in 2008-01-01 21:22:32.000000000 -0500 +++ hdf5-1.6.5-6/debian/control.in 2008-01-01 21:22:50.000000000 -0500 @@ -3,7 +3,7 @@ Priority: optional Maintainer: Debian GIS Project <pkg-grass-devel@lists.alioth.debian.org> Uploaders: Francesco Paolo Lovergine <[EMAIL PROTECTED]> -Build-Depends: libmpich1.0-dev (>= 1.2.7-1), zlib1g-dev, lam4-dev (>= 7.1.1-3.2), libjpeg62-dev, debhelper (>> 5) +Build-Depends: libmpich1.0-dev (>= 1.2.7-1), zlib1g-dev, lam4-dev (>= 7.1.1-3.2), libopenmpi-dev, libjpeg62-dev, debhelper (>> 5) Standards-Version: 3.7.2 Package: [EMAIL PROTECTED]@-0 @@ -74,6 +74,41 @@ . Home page: http://hdf.ncsa.uiuc.edu/HDF5/ +Package: [EMAIL PROTECTED]@-0 +Section: libs +Priority: extra +Architecture: any +Depends: ${shlibs:Depends} +Conflicts: [EMAIL PROTECTED]@-0 +Provides: [EMAIL PROTECTED]@-0 +Description: Hierarchical Data Format 5 (HDF5) - runtime files - OpenMPI version + HDF5 is a file format and library for storing scientific data. + HDF5 was designed and implemented to address the deficiencies of + HDF4.x. It has a more powerful and flexible data model, supports + files larger than 2 GB, and supports parallel I/O. + . + This package contains runtime files for use with OpenMPI. + . + Home page: http://hdf.ncsa.uiuc.edu/HDF5/ + +Package: libhdf5-openmpi-dev +Section: libdevel +Priority: extra +Architecture: any +Depends: [EMAIL PROTECTED]@-0 (= ${Source-Version}), libc6-dev, zlib1g-dev, libjpeg62-dev, libopenmpi-dev +Conflicts: libhdf5-dev +Provides: libhdf5-dev +Suggests: libhdf5-doc +Description: Hierarchical Data Format 5 (HDF5) - development files - OpenMPI version + HDF5 is a file format and library for storing scientific data. + HDF5 was designed and implemented to address the deficiencies of + HDF4.x. It has a more powerful and flexible data model, supports + files larger than 2 GB, and supports parallel I/O. + . + This package contains development files for use with OpenMPI. + . + Home page: http://hdf.ncsa.uiuc.edu/HDF5/ + Package: [EMAIL PROTECTED]@-0 Section: libs Priority: extra diff -urN hdf5-1.6.5-5/debian/hdf5-H5public-openmpi.patch hdf5-1.6.5-6/debian/hdf5-H5public-openmpi.patch --- hdf5-1.6.5-5/debian/hdf5-H5public-openmpi.patch 1969-12-31 19:00:00.000000000 -0500 +++ hdf5-1.6.5-6/debian/hdf5-H5public-openmpi.patch 2008-01-01 21:22:50.000000000 -0500 @@ -0,0 +1,10 @@ +--- usr/include/H5public.h.old 2008-01-01 16:55:04.000000000 -0500 ++++ usr/include/H5public.h 2008-01-01 16:53:37.000000000 -0500 +@@ -50,6 +50,7 @@ + # include <stddef.h> + #endif + #ifdef H5_HAVE_PARALLEL ++# define OMPI_SKIP_MPICXX + # include <mpi.h> + #ifndef MPI_FILE_NULL /*MPIO may be defined in mpi.h already */ + # include <mpio.h> diff -urN hdf5-1.6.5-5/debian/rules hdf5-1.6.5-6/debian/rules --- hdf5-1.6.5-5/debian/rules 2008-01-01 21:22:32.000000000 -0500 +++ hdf5-1.6.5-6/debian/rules 2008-01-01 21:22:50.000000000 -0500 @@ -12,6 +12,7 @@ version ?= $(shell echo $(pkgversion) | sed 's/-[^-]*$$//') serpack = $(package)-serial-$(version)-0 lampack = $(package)-lam-$(version)-0 +openmpipack = $(package)-openmpi-$(version)-0 mpichpack = $(package)-mpich-$(version)-0 virtpack = $(package)-$(version)-0 @@ -48,17 +49,19 @@ --enable-shared --enable-production=$(USE_PROD) -configure: configure-stamp-debian configure-stamp-serial configure-stamp-lam configure-stamp-mpich +configure: configure-stamp-debian configure-stamp-serial configure-stamp-lam configure-stamp-openmpi configure-stamp-mpich configure-stamp-debian: debian/control.in cd debian && for i in *_devlib; do j=`basename $$i _devlib`; \ ln -sf $$i $(package)-serial-dev.$$j ; \ ln -sf $$i $(package)-lam-dev.$$j ; \ + ln -sf $$i $(package)-openmpi-dev.$$j ; \ ln -sf $$i $(package)-mpich-dev.$$j ; \ done cd debian && for i in *_shlib; do j=`basename $$i _shlib`; \ ln -sf $$i $(serpack).$$j ; \ ln -sf $$i $(lampack).$$j ; \ + ln -sf $$i $(openmpipack).$$j ; \ ln -sf $$i $(mpichpack).$$j ; \ done sed "s/@VERSION@/$(version)/g" debian/shlibs.in > debian/$(serpack).shlibs @@ -83,6 +86,16 @@ --enable-parallel=yes touch configure-stamp-lam +configure-stamp-openmpi: configure-stamp-debian + dh_testdir + -mkdir debian/build-openmpi +# configure version with lam + cd debian/build-openmpi && CPPFLAGS=-I/usr/lib/openmpi/include \ + CC=mpicc.openmpi CXX=mpic++.openmpi RUNPARALLEL=/usr/bin/mpirun.openmpi \ + ../../configure $(CONFIGURE_FLAGS) \ + --enable-parallel=yes + touch configure-stamp-openmpi + configure-stamp-mpich: configure-stamp-debian dh_testdir -mkdir debian/build-mpich @@ -94,7 +107,7 @@ --enable-parallel=yes touch configure-stamp-mpich -build: build-stamp-serial build-stamp-lam build-stamp-mpich +build: build-stamp-serial build-stamp-lam build-stamp-openmpi build-stamp-mpich build-stamp-serial: configure-stamp-serial dh_testdir @@ -106,6 +119,11 @@ $(MAKE) -C debian/build-lam/ touch build-stamp-lam +build-stamp-openmpi: configure-stamp-openmpi + dh_testdir + $(MAKE) -C debian/build-openmpi/ + touch build-stamp-openmpi + build-stamp-mpich: configure-stamp-mpich dh_testdir $(MAKE) -C debian/build-mpich/ @@ -116,12 +134,13 @@ dh_testroot -rm -rf debian/build-serial -rm -rf debian/build-lam + -rm -rf debian/build-openmpi -rm -rf debian/build-mpich -find debian -type l | xargs rm -f grep -v ^\% debian/control.in | sed "s/@VERSION@/$(version)/g" > debian/control dh_clean configure-stamp* build-stamp* install-stamp* debian/*.shlibs -install: install-serial install-lam install-mpich install-doc +install: install-serial install-lam install-openmpi install-mpich install-doc install-serial: build-stamp-serial dh_testdir @@ -139,6 +158,15 @@ dh_install -p$(lampack) -p$(package)-lam-dev \ --sourcedir=debian/build-lam/tmpinst +install-openmpi: build-stamp-openmpi + dh_testdir + dh_testroot + -mkdir debian/build-openmpi/tmpinst + $(MAKE) -C debian/build-openmpi/ install prefix=$(CURDIR)/debian/build-openmpi/tmpinst/usr + (cd debian/build-openmpi/tmpinst/usr && patch -p1 < ../../../hdf5-H5public-openmpi.patch) + dh_install -p$(openmpipack) -p$(package)-openmpi-dev \ + --sourcedir=debian/build-openmpi/tmpinst + install-mpich: build-stamp-mpich dh_testdir dh_testroot @@ -164,7 +192,7 @@ dh_md5sums -i dh_builddeb -i -binary-arch: build install-serial install-lam install-mpich +binary-arch: build install-serial install-lam install-openmpi install-mpich dh_testdir dh_testroot dh_installdocs -a @@ -176,11 +204,13 @@ dh_fixperms -a # dh_makeshlibs -p$(serpack) -V "$(serpack) | $(virtpack)" dh_makeshlibs -p$(lampack) -V $(lampack) + dh_makeshlibs -p$(openmpipack) -V $(openmpipack) dh_makeshlibs -p$(mpichpack) -V $(mpichpack) dh_installdeb -a dh_shlibdeps -phdf5-tools -L$(serpack) -ldebian/$(serpack)/usr/lib dh_shlibdeps -p$(serpack) -L$(serpack) -ldebian/$(serpack)/usr/lib dh_shlibdeps -p$(lampack) -L$(lampack) -ldebian/$(lampack)/usr/lib + dh_shlibdeps -p$(openmpipack) -L$(openmpipack) -ldebian/$(openmpipack)/usr/lib dh_shlibdeps -p$(mpichpack) -L$(mpichpack) -ldebian/$(mpichpack)/usr/lib dh_gencontrol -a dh_md5sums -a @@ -188,4 +218,4 @@ binary: binary-indep binary-arch -.PHONY: build clean binary-indep binary-arch binary install configure install-serial install-doc install-lam install-mpich +.PHONY: build clean binary-indep binary-arch binary install configure install-serial install-doc install-lam install-openmpi install-mpich
_______________________________________________ Pkg-grass-devel mailing list Pkg-grass-devel@lists.alioth.debian.org http://lists.alioth.debian.org/mailman/listinfo/pkg-grass-devel