debian/0000755000000000000000000000000012257037043007171 5ustar debian/libopenmpi-dev.README.Debian0000644000000000000000000000211612153611177014144 0ustar Open MPI for Debian - Developer Notes ------------------------------------- MPI Alternatives ---------------- The current Open MPI version of Debian uses the Debian Alternatives system. Although Open MPI might replace most of the existing MPI implementations in the future (see http://www.open-mpi.org/faq/?category=general#why), we decided to not affect any other MPI implementation already installed on your system. You can setup Open MPI as default MPI implementation by selecting openmpi as the "mpi" alternative: update-alternatives --config mpi Please note that there is a bug in update-alternatives (namely #388313) that may cause trouble when you install several development packages of other MPI implementations, i.e. LAM or MPICH. If you would like to build Debian packages that link against multiple MPI implementations, we recommend to point your build system to the locations under /usr/lib instead of relying on update-alternatives. This may also allow parallel builds. -- Debian Open MPI Team , Mon, 21 Jul 2008 16:34:30 +0200 debian/openmpi-checkpoint.install0000644000000000000000000000022312153611177014353 0ustar ## Binaries usr/bin/ompi-checkpoint usr/bin/ompi-restart usr/bin/opal-checkpoint usr/bin/opal-restart usr/bin/orte-checkpoint usr/bin/orte-restart debian/openmpi-checkpoint.manpages0000644000000000000000000000055212153611177014505 0ustar debian/tmp/usr/share/man/man1/ompi-checkpoint.1 debian/tmp/usr/share/man/man1/ompi-restart.1 debian/tmp/usr/share/man/man1/opal-checkpoint.1 debian/tmp/usr/share/man/man1/opal-restart.1 debian/tmp/usr/share/man/man1/orte-checkpoint.1 debian/tmp/usr/share/man/man1/orte-restart.1 debian/tmp/usr/share/man/man7/ompi_crcp.7 debian/tmp/usr/share/man/man7/opal_crs.7 debian/openmpi-bin.postinst0000644000000000000000000000165112153611177013217 0ustar #!/bin/sh set -e case "$1" in configure) # Continue below ;; abort-upgrade|abort-remove|abort-deconfigure) exit 0; ;; *) echo "postinst called with unknown argument \`$1'" >&2 exit 0; ;; esac # so, we are running with $1 = configure # openmpi versions before 1.3.3-2 were using two alternatives where other # MPI implementations were using only one, which breaks. Clean up # our mess. if [ "$2" != "" ] && dpkg --compare-versions "$2" le "1.3.3-2"; then update-alternatives --remove mpiexec /usr/bin/mpiexec.openmpi fi update-alternatives \ --install /usr/bin/mpirun mpirun /usr/bin/mpirun.openmpi 50 \ --slave /usr/share/man/man1/mpirun.1.gz mpirun.1.gz /usr/share/man/man1/mpirun.openmpi.1.gz \ --slave /usr/bin/mpiexec mpiexec /usr/bin/mpiexec.openmpi \ --slave /usr/share/man/man1/mpiexec.1.gz mpiexec.1.gz /usr/share/man/man1/mpiexec.openmpi.1.gz #DEBHELPER# exit 0 debian/compat0000644000000000000000000000000212046447372010375 0ustar 8 debian/libopenmpi1.6.install0000644000000000000000000000066112203075446013147 0ustar ## Shared libraries usr/lib/openmpi/lib/libmca_common_sm.so.3.0.1 usr/lib/openmpi/lib/libmpi_cxx.so.1.0.2 usr/lib/openmpi/lib/libmpi_f77.so.1.0.7 usr/lib/openmpi/lib/libmpi_f90.so.1.3.0 usr/lib/openmpi/lib/libmpi.so.1.0.8 usr/lib/openmpi/lib/libompitrace.so.0.0.0 usr/lib/openmpi/lib/libopen-pal.so.4.0.5 usr/lib/openmpi/lib/libopen-rte.so.4.0.3 ## Plugins usr/lib/openmpi/lib/openmpi/*.so ## Other files usr/lib/openmpi/lib/mpi.mod debian/libopenmpi-dev.postinst0000644000000000000000000000247512247661261013724 0ustar #!/bin/sh set -e update-alternatives \ --install /usr/include/mpi mpi /usr/lib/openmpi/include 50 \ --slave /usr/lib/libmpi.so libmpi.so /usr/lib/openmpi/lib/libmpi.so \ --slave /usr/lib/libmpi++.so libmpi++.so /usr/lib/openmpi/lib/libmpi_cxx.so \ --slave /usr/lib/libmpif77.so libmpif77.so /usr/lib/openmpi/lib/libmpi_f77.so \ --slave /usr/lib/libmpif90.so libmpif90.so /usr/lib/openmpi/lib/libmpi_f90.so \ --slave /usr/bin/mpicc mpicc /usr/bin/mpicc.openmpi \ --slave /usr/bin/mpic++ mpic++ /usr/bin/mpic++.openmpi \ --slave /usr/bin/mpicxx mpicxx /usr/bin/mpic++.openmpi \ --slave /usr/bin/mpiCC mpiCC /usr/bin/mpic++.openmpi \ --slave /usr/bin/mpif77 mpif77 /usr/bin/mpif77.openmpi \ --slave /usr/bin/mpif90 mpif90 /usr/bin/mpif90.openmpi \ --slave /usr/share/man/man1/mpicc.1.gz mpicc.1.gz /usr/share/man/man1/mpicc.openmpi.1.gz \ --slave /usr/share/man/man1/mpic++.1.gz mpic++.1.gz /usr/share/man/man1/mpic++.openmpi.1.gz \ --slave /usr/share/man/man1/mpicxx.1.gz mpicxx.1.gz /usr/share/man/man1/mpicxx.openmpi.1.gz \ --slave /usr/share/man/man1/mpiCC.1.gz mpiCC.1.gz /usr/share/man/man1/mpiCC.openmpi.1.gz \ --slave /usr/share/man/man1/mpif77.1.gz mpif77.1.gz /usr/share/man/man1/mpif77.openmpi.1.gz \ --slave /usr/share/man/man1/mpif90.1.gz mpif90.1.gz /usr/share/man/man1/mpif90.openmpi.1.gz #DEBHELPER# exit 0 debian/openmpi-bin.links0000644000000000000000000000025012153611177012446 0ustar usr/bin/orterun usr/bin/mpirun.openmpi usr/bin/orterun usr/bin/mpiexec.openmpi usr/share/man/man1/mpiexec.openmpi.1 usr/share/man/man1/mpirun.openmpi.1 debian/openmpi-doc.manpages0000644000000000000000000000024112153611177013116 0ustar debian/tmp/usr/share/man/man7/orte_filem.7 debian/tmp/usr/share/man/man7/orte_hosts.7 debian/tmp/usr/share/man/man7/orte_snapc.7 debian/tmp/usr/share/man/man3/* debian/openmpi-checkpoint.links0000644000000000000000000000014012153611177014023 0ustar #usr/bin/orte-checkpoint usr/bin/ompi-checkpoint #usr/bin/orte-restart usr/bin/ompi-restart debian/source/0000755000000000000000000000000012245341566010476 5ustar debian/source/format0000644000000000000000000000001411755462247011711 0ustar 3.0 (quilt) debian/libopenmpi-dev.preinst0000644000000000000000000000063612153611177013517 0ustar #!/bin/sh set -e # mpicc seemed to be used as a master alternative by some MPI package. But # currently, all MPI packages have the mpicc alternative installed as a slave # link. We remove the link here in order to resolve bugs #531184 and #532910. update-alternatives --quiet --remove-all mpicc >/dev/null 2>&1 || true update-alternatives --quiet --remove-all mpiCC >/dev/null 2>&1 || true #DEBHELPER# exit 0 debian/libopenmpi-dev.prerm0000644000000000000000000000020512153611177013150 0ustar #!/bin/sh set -e if [ "$1" != "upgrade" ]; then update-alternatives --remove mpi /usr/lib/openmpi/include fi #DEBHELPER# exit 0 debian/TODO0000644000000000000000000000016412247661261007666 0ustar * moved mpi.mod into the -dev package * *.so in /usr/lib/openmpi/lib/openmpi/ should be in a versionned directory debian/openmpi-common.links0000644000000000000000000000104412153611177013170 0ustar usr/share/openmpi/mpic++-wrapper-data.txt usr/share/openmpi/mpic++.openmpi-wrapper-data.txt usr/share/openmpi/mpicc-wrapper-data.txt usr/share/openmpi/mpicc.openmpi-wrapper-data.txt usr/share/openmpi/mpicxx-wrapper-data.txt usr/share/openmpi/mpicxx.openmpi-wrapper-data.txt usr/share/openmpi/mpiCC-wrapper-data.txt usr/share/openmpi/mpiCC.openmpi-wrapper-data.txt usr/share/openmpi/mpif77-wrapper-data.txt usr/share/openmpi/mpif77.openmpi-wrapper-data.txt usr/share/openmpi/mpif90-wrapper-data.txt usr/share/openmpi/mpif90.openmpi-wrapper-data.txt debian/openmpi-bin.install0000644000000000000000000000060412153611177012777 0ustar ## Configuration files etc/openmpi/* ## Executables usr/bin/ompi-clean usr/bin/ompi_info usr/bin/ompi-iof usr/bin/ompi-ps usr/bin/ompi-server usr/bin/orte-clean usr/bin/orted usr/bin/orte-iof usr/bin/orte-ps usr/bin/orterun usr/bin/ompi-probe usr/bin/ompi-profiler usr/bin/ompi-top # orte-bootproxy.sh was renamed to orte-bootproxy in debian/rules usr/bin/orte-bootproxy usr/bin/orte-top debian/openmpi-bin.prerm0000644000000000000000000000020712153611177012455 0ustar #!/bin/sh set -e if [ "$1" != "upgrade" ]; then update-alternatives --remove mpirun /usr/bin/mpirun.openmpi fi #DEBHELPER# exit 0 debian/libopenmpi-dev.install0000644000000000000000000000200712153611177013473 0ustar ## Compiler wrappers (symlinks) and man pages usr/bin/mpic++.openmpi usr/share/man/man1/mpic++.openmpi.1 usr/bin/mpicc.openmpi usr/share/man/man1/mpicc.openmpi.1 usr/bin/mpiCC.openmpi # NOTE: mpiCC.openmpi.1 is installed as symlink usr/bin/mpicxx.openmpi usr/share/man/man1/mpicxx.openmpi.1 usr/bin/mpif77.openmpi usr/share/man/man1/mpif77.openmpi.1 usr/bin/mpif90.openmpi usr/share/man/man1/mpif90.openmpi.1 usr/bin/opalc++ # usr/share/man/man1/opalc++.1 # NOTE: opalc++.1 is not provided upstream in 1.5.4 usr/bin/opalcc usr/share/man/man1/opalcc.1 usr/bin/ortec++ # usr/share/man/man1/ortec++.1 usr/bin/ortecc # usr/share/man/man1/ortecc.1 usr/bin/orteCC # Note: There's no man page for ortecc ## Wrappers and man pages usr/bin/opal_wrapper usr/share/man/man1/opal_wrapper.1 usr/bin/orte_wrapper_script # NOTE: There's no man page for opal_wrapper_script (upstream, lintian warning) ## Library headers usr/lib/openmpi/include/* ## .so symlinks usr/lib/openmpi/lib/*.so ## pkg-config .pc files usr/lib/openmpi/lib/pkgconfig/*.pc debian/changelog0000644000000000000000000010142412257030324011040 0ustar openmpi (1.6.5-8) unstable; urgency=low [ Dimitri John Ledkov ] * Set ppc64el gnu-type to use ppc atomics code-path. * Attempt ppc64el build. [ Sylvestre Ledru ] * Sync changes from Ubuntu (it would be nice to have contribution directly in Debian btw) * Fix a link issue on libopen-pal.so (Closes: #733086) -- Sylvestre Ledru Thu, 26 Dec 2013 14:29:07 +0100 openmpi (1.6.5-7) unstable; urgency=low [ Logan Rosen ] * Bring over Ubuntu changes from openmpi1.6: - Call dh_shlibdeps with -lfoo to not break fakeroot. - Add basic AArch64 support (Leif Lindholm). - Use and install AArch64 header files, not ARM header files. [ Adam Conrad ] * Remove unnecessary fakeroot from dh_shlibdeps call. -- Sylvestre Ledru Wed, 18 Dec 2013 12:10:47 -0500 openmpi (1.6.5-6) unstable; urgency=low * Add the support of mips64 & mips64el. (Closes: #727141) Thanks to YunQiang Su * Also support of mips & mipsel. Thanks to Jurica Stanojkovic (Closes: #732027) * Fix an upgrade issue (Closes: #730622) * Standards-Version updated to 3.9.5 -- Sylvestre Ledru Wed, 04 Dec 2013 18:14:59 +0100 openmpi (1.6.5-5) unstable; urgency=low * Fix the incorrect symlink in libopenmpi1.6 (Closes: #722888) -- Sylvestre Ledru Sat, 14 Sep 2013 18:54:05 +0200 openmpi (1.6.5-4) unstable; urgency=low * Fix again the HURD build. Thanks to Pino Toscano (Closes: #720395) * orte_snapc manpage has moved from openmpi-checkpoint to openmpi-doc (Closes: #717978) -- Sylvestre Ledru Wed, 28 Aug 2013 08:54:09 +0200 openmpi (1.6.5-3) unstable; urgency=low * Increase the priority of the libopenmpi-dev package to make sure OpenMPI is used before mpich. Otherwise, it causes issues like: «PKGBUILDDIR»/./src/mpi.c:143: undefined reference to `ompi_mpi_comm_world' «PKGBUILDDIR»/./src/mpi.c:143: undefined reference to `ompi_mpi_double' -- Sylvestre Ledru Tue, 20 Aug 2013 13:39:25 +0200 openmpi (1.6.5-2) unstable; urgency=low * Update of the HURD port (Closes: #719797) * Fix path mistakes on libmpi_f90 (Closes: #720124) -- Sylvestre Ledru Sat, 17 Aug 2013 19:35:24 +0200 openmpi (1.6.5-1) unstable; urgency=low * Upload to unstable (will need a transition) -- Sylvestre Ledru Thu, 15 Aug 2013 08:55:11 +0200 openmpi (1.6.5-1~exp2) experimental; urgency=low * quilt as dependency is not necessary * Limit the usage of libibverbs-dev on Linux kernels -- Sylvestre Ledru Thu, 11 Jul 2013 09:36:23 +0200 openmpi (1.6.5-1~exp1) experimental; urgency=low * New upstream release * Build-Conflicts libopenmpi1.3 (avoid wrong dependencies) -- Sylvestre Ledru Mon, 01 Jul 2013 09:43:57 +0200 openmpi (1.6.4+-1~exp1) experimental; urgency=low * Upload the 1.6 release over the 1.4 Note that this will require a transition * Standards-Version updated to 3.9.4 * Add libfakeroot path to the LD_LIBRARY_PATH -- Sylvestre Ledru Tue, 04 Jun 2013 17:16:16 +0200 openmpi1.6 (1.6.4-2) unstable; urgency=low * Inconsistency in debian/libopenmpi1.6.install. Thanks Hiroyuki Yamamoto (Closes: #704936) -- Sylvestre Ledru Thu, 11 Apr 2013 16:02:35 +0200 openmpi1.6 (1.6.4-1) unstable; urgency=low * New upstream release -- Sylvestre Ledru Fri, 22 Feb 2013 09:27:09 +0100 openmpi1.6 (1.6.3-3) unstable; urgency=low * Rename manpages to avoid conflicts with mpich2-doc (Closes: #692937) -- Sylvestre Ledru Fri, 16 Nov 2012 17:42:56 +0100 openmpi1.6 (1.6.3-2) unstable; urgency=low * Bring back manpages for MPI functions (LP: #1027289) * Remove mca_rml_ftrm.so on ia64 & sparc -- Sylvestre Ledru Fri, 09 Nov 2012 14:09:11 +0100 openmpi1.6 (1.6.3-1) unstable; urgency=low * New upstream release * Fix bashims (Closes: #690929) * Remove mca_pml_crcpw.so on ia64 & sparc -- Sylvestre Ledru Wed, 07 Nov 2012 11:50:54 +0100 openmpi1.6 (1.6.2-2) unstable; urgency=low * Remove mca_grpcomm_hier.so on all archs -- Sylvestre Ledru Sat, 29 Sep 2012 14:03:42 +0200 openmpi1.6 (1.6.2-1) unstable; urgency=low * New upstream release * Add dpkg-dev (>= 1.16.1~) dependency (hardening) * Enable hardening flags (but not taken in account everywhere) -- Sylvestre Ledru Sat, 29 Sep 2012 09:40:58 +0200 openmpi1.6 (1.6.1-1) unstable; urgency=low * New upstream release * Some libs have been removed from upstream: mca_rmcast_tcp.so, mca_rmcast_udp.so & mca_io_romio.so * Remove fix_orte_default_hostfile_path.diff (applied upstream) * Switch to automake as build dependency -- Sylvestre Ledru Thu, 23 Aug 2012 15:49:02 +0200 openmpi1.6 (1.6-4) unstable; urgency=low * Update library list for sparc & ia64 * --enable-mpi-threads -> --enable-opal-multi-threads * --enable-ft-thread is needed to have a similar level of checkpointing as before Thanks to Matthieu Volat for the two last changes -- Sylvestre Ledru Sun, 01 Jul 2012 14:38:42 +0200 openmpi1.6 (1.6-3) unstable; urgency=low * Try another change in the detection of armel (v5 instead of v6) * Fix a problem in the default hostfile with orte. Thanks to Matthieu Volat for the patch * Update lib library for sparc, armhf and armel -- Sylvestre Ledru Wed, 27 Jun 2012 22:34:28 +0200 openmpi1.6 (1.6-2) unstable; urgency=low * Update the detection of armel & armhf (See arm_detection.diff) * Add the dependency on hwloc-dev from libopenmpi1.6-dev (Closes: #677744) -- Sylvestre Ledru Mon, 25 Jun 2012 13:47:07 +0200 openmpi1.6 (1.6-1) unstable; urgency=low * Sync from Ubuntu (which has been uploaded with a new name). * Rename openmpi 1.5 => 1.6 * Standards-Version updated to version 3.9.3 -- Sylvestre Ledru Wed, 06 Jun 2012 17:45:07 +0200 openmpi1.5 (1.5.4-0ubuntu1) precise; urgency=low [ Robie Basak ] * Fork new openmpi1.5 package for co-existence with openmpi 1.4 (LP: #889644). * Move required plugins from openmpi-checkpoint to libopenmpi1.5-2: - d/control: openmpi-checkpoint now depends on libopenmpi1-5-2 - d/libopenmpi1.5-2.install*: switch to wildcard plugin install, drop specific install files for armel and armhf. - d/openmpi-checkpoint.install: Don't install any plugins. -- Sylvestre Ledru Fri, 18 May 2012 17:06:10 +0200 openmpi (1.5.4-2~exp2) experimental; urgency=low [ Manuel Prinz ] * Fixed dangling symlinks. Thanks to Roderich Schupp for the patch! Closes: #658594. [ James Pages ] * The checks for FAKEROOT introduced to fix this bug upstream are preceeded by a new check that calls stat re-producing the original bug. Re-ordering the checks to ensure that FAKEROOT is detected first appears to resolve this issue. Closes: #658600. -- Sylvestre Ledru Sun, 19 Feb 2012 15:42:41 +0100 openmpi (1.5.4-2~exp1) experimental; urgency=low [ Manuel Prinz ] * Moved all CR components from libopenmpi2 to openmpi-checkpoint. Fixes the build issue on ia64. [ Jani Monoses ] * Build for armhf as well. * Add armel/armhf specific libopenmpi2.install files. * debian/patches/configure_arm_fix.patch: Fix arm FTBFS. -- Sylvestre Ledru Tue, 24 Jan 2012 16:34:52 +0100 openmpi (1.5.4-1) experimental; urgency=low * New upstream release. Closes: #619998. - ABI changes, bumped SONAME. * Changes in packaging: - Using "3.0 (quilt)" source format. - Deleted README.source (obsolete). - Updated watch file. - Bumped Standards-Version to 3.9.2. No changes needed. - Changed hard-coded list of non-Linux architectures in Build-Depends to "linux-any". Closes: #634628. - openmpi-bin now "Suggests" openmpi-checkpoint instead of recommending it. - Deleted shlibs.local (obsolete). - Updated debian/copyright. - Updated patches. - Substituted "OpenMPI" with "Open MPI" (official writing). - Fixed a small bug when calling dh_installdocs. Thanks to Jean-Louis Dupond for the patch! Closes: #634899. - Dropped .la files (no rdepends with .la files). Closes: #628070. - Build against libltdl and libhwloc provided by Debian. * Acknowledge NMU. Thanks to Riku Voipio! * Builds support for GridEngine. Closes: #626164. * Enabled support for MPI threads. Closes: #602132. -- Manuel Prinz Wed, 21 Dec 2011 00:38:25 +0100 openmpi (1.4.3-2.1) unstable; urgency=low * Non-maintainer upload * Add openmpi link fix, closes: #621978 - Thanks to Daniel Schepler * Add arm support from ubuntu, closes: #617779 - Thanks to Jani Monoses -- Riku Voipio Wed, 20 Apr 2011 19:53:03 +0300 openmpi (1.4.3-2) unstable; urgency=low * Fixed symlinks for shared libraries. Thanks to Matthias Klose for the patch! Closes: #608717, #609830. * Fixed symlink loop in openmpi-checkpoint. Closes: #611454. -- Manuel Prinz Fri, 11 Mar 2011 14:45:20 +0100 openmpi (1.4.3-1) unstable; urgency=low * New upstream release. * Removed the following patches, all applied upstream: - build_kfreebsd - manpage-errors-checkpoint - manpage-errors-macro - manpage-errors-whatis - manpage-spelling-errors - var-copy * Added a patch that fixes man page issues. * Added sparc64 to Architecture list. Thanks to Aurelien Jarno for the patch! Closes: #596134. -- Manuel Prinz Wed, 15 Dec 2010 18:50:16 +0100 openmpi (1.4.2-4) unstable; urgency=low * Added patch to remove use of AS_VAR_GET. Closes: #592892. * debian/control: Added powerpcspe to architecture list. Thanks to Sebastian Andrzej Siewior for the patch! Closes: #593481. * Build with support for Torque (except on HURD). Closes: #592887. * Updated Standards-Version to 3.9.1. No changes needed. -- Manuel Prinz Wed, 01 Sep 2010 17:53:44 +0200 openmpi (1.4.2-3) unstable; urgency=low * Fixed build issue on kFreeBSD. Closes: #589467. * Added and updated patch meta-information. -- Manuel Prinz Tue, 20 Jul 2010 17:31:52 +0200 openmpi (1.4.2-2) unstable; urgency=low * Fixed broken broken library symlinks. Closes: #589319. -- Manuel Prinz Fri, 16 Jul 2010 20:49:24 +0200 openmpi (1.4.2-1) unstable; urgency=low * New upstream release. Closes: #585800. * Updated patches. * Updated Standards-Version. No changes needed. * Install previously uninstalled files. Closes: #589043. * Fixed several errors in man pages. -- Manuel Prinz Thu, 15 Jul 2010 17:19:23 +0200 openmpi (1.4.1-3) unstable; urgency=low * Added slave alternatives symlinks for MPI FORTRAN libraries. Thanks to Adam C. Powell, IV for the patch! Closes: #563705. * Recommend openmpi-checkpoint only on available architectures. * Increased update-alternatives priority of libopenmpi-dev. -- Manuel Prinz Thu, 25 Mar 2010 16:32:21 +0100 openmpi (1.4.1-2) unstable; urgency=low * Fixed build issues on HURD. Thanks to Pino Toscano for the patch! Closes: #552397. * Recreate autotools stuff during build. Added autoconf, automake, libtool and libltdl-dev to Build-Depends. * openmpi-checkpoint now depends on blcr-util. Closes: #572229. * Fixed symlink issues with ompi-{checkpoint,restart}. Closes: #572021. * Retroactively adding LP entries to close bugs in Ubuntu's Launchpad. -- Manuel Prinz Thu, 18 Mar 2010 17:57:30 +0100 openmpi (1.4.1-1) unstable; urgency=low [ Sylvestre Ledru ] * New upstream release. Libtool patch removed, included upstream. * Watch file updated. [ Manuel Prinz ] * Bumped Standards-Version to 3.8.4. No changes needed. * Updated section on alternatives in README.Debian. * Removed conflict with libopal-dev in libopenmpi-dev. Closes: #559161. * Removed conflict with ancient pgapack in libopenmpi-dev. * Fixed several spelling-error-in-manpage lintian warnings. * Deleted man pages provided by Debian, all included upstream. * Changed .install files to match soname bumps. The soname bumps were introduced by upstream to follow the libtool versioning guidelines. The ABI did not change and recompilations of rdepends are not needed. * Compile with support for heterogeneous environments and memory affinity. LP: #419074. * Provide symlinks for orte-{checkpoint,restart} for smoother transition. The tools were merged with ompi-{checkpoint,restart}. * Added ${misc:Depends} everywhere so lintian is happy. -- Manuel Prinz Tue, 16 Feb 2010 17:59:12 +0100 openmpi (1.3.3-4) unstable; urgency=medium * Fixed security issue in copy of libtool, see CVE-2009-3736. Closes: #559836. -- Manuel Prinz Tue, 08 Dec 2009 00:58:02 +0100 openmpi (1.3.3-3.1) unstable; urgency=low * Non-maintainer upload with the maintainer's permission. * Improve alternatives upgrade. -- Lucas Nussbaum Thu, 19 Nov 2009 16:44:20 -0600 openmpi (1.3.3-3) unstable; urgency=low * Removed mpiexec alternative, as discussed in #552429. It is now a slave of the mpirun master alternative. Also raised the priority to 40, along with MPICH2. Closes: #493876. -- Manuel Prinz Wed, 11 Nov 2009 21:16:59 +0100 openmpi (1.3.3-2) unstable; urgency=low * Removing ancient mpirun alternatives in preinst. Closes: #534740, #544372. * Build with BLCR support on supported architectures. The openmpi-checkpoint package includes the binaries for checkpointing and documentation. Many thanks to Alan Woodland for the implementation! Closes: #545919. * Added a README.source file. * Empty dependency_libs in .la files. -- Manuel Prinz Tue, 13 Oct 2009 20:50:51 +0200 openmpi (1.3.3-1) unstable; urgency=low * New upstream version * Change of my email address since I am now DD * Standards-Version updated to 3.8.3 * XS-Dm-Upload-Allowed tag removed * Patch disable-memory-allocator (see bug #531522) removed. Applied upstream -- Sylvestre Ledru Sat, 29 Aug 2009 18:39:48 +0200 openmpi (1.3.2-4) unstable; urgency=low [ Cyril Brulebois ] * Fix installability of libopenmpi-dev on non-Linux architectures, where libibverbs-dev isn't built (due to its being Linux-specific) by removing the latter from the dependencies of the former for kfreebsd-* and hurd-i386 (for reference, that was already done for Build-Depends). (Closes: #535225) -- Sylvestre Ledru Tue, 30 Jun 2009 23:52:42 +0200 openmpi (1.3.2-3) unstable; urgency=low * Re-uploading, as last upload was not successful. * Acknowledgement of NMU. Thanks to Steve M. Robbins for the patches and NMUs! Closes: #531522. * Removing ancient mpicc, mpiCC and mpiexec master alternatives in preinst. Closes: #531184, #532008, #532910. * debian/control: Bumped Standards-Version. No changes needed. * Fixed typo in README.Debian of openmpi-bin. -- Manuel Prinz Wed, 24 Jun 2009 00:33:23 +0200 openmpi (1.3.2-2.2) unstable; urgency=low * Non-Maintainer Upload (NMU) * debian/patches/disable-memory-allocator: Replace with improved patch from upstream. -- Steve M. Robbins Sun, 21 Jun 2009 13:08:05 -0500 openmpi (1.3.2-2.1) unstable; urgency=low * Non-Maintainer Upload (NMU) * debian/patches/disable-memory-allocator: New. Patch opal/mca/memory/ptmalloc2/hooks.c to add check for environment variable OMPI_MCA_disable_memory_allocator. If set, avoid setting up malloc hooks and avoid stat() calls from the malloc init hook. Closes: #531522. -- Steve M. Robbins Wed, 17 Jun 2009 22:03:31 -0500 openmpi (1.3.2-2) unstable; urgency=low * Upload to unstable. No changes compared to 1.3.2-1. -- Manuel Prinz Thu, 28 May 2009 12:28:37 +0200 openmpi (1.3.2-1) experimental; urgency=low * New upstream release. (Closes: #520597, #515116) - Manpage and VampirTrace patches removed, included upstream. * Fixed build issues on Alpha. Huge thanks to Arthur Loiret for providing access to his machines for testing! (Closes: #510845, #517543) * Fixed build issues on Sparc. (Closes: #519725) * Fixed manpage-has-errors-from-man lintian warnings. * Faked SONAME change by renaming library package. (Closes: #512616) * Made libopenmpi-dev depend on libibverbs-dev. (Closes: #522153, LP: #342344) * Support for "nocheck" build option in debian/rules. * Updated Standards-Version in debian/control. * Changed section of libopenmpi-dbg to "debug". * Updated debian/copyright. * Dirk Eddelbuettel removed himself from Uploaders. The team thanks Dirk for his long-term contribution and effort to get Open MPI back to life. I personally thank Dirk for encouraging me to become a Debian Developer and his support and mentoring on that way and beyond. -- Manuel Prinz Thu, 23 Apr 2009 14:01:21 +0200 openmpi (1.3-2) unstable; urgency=low * Updated debian/watch to point to 1.3 series download location * Added a patch to fix build issues with VampirTrace * Added a patch to fix lintian warnings: manpage-has-errors-from-man * Added a patch to enable Open MPI to build on MIPS. Many thanks to Thiemo Seufer, he will be missed! -- Manuel Prinz Wed, 28 Jan 2009 23:38:02 +0100 openmpi (1.3-1) unstable; urgency=low [ Dirk Eddelbuettel ] * New upstream version. * debian/rules: Pass empty LDFLAGS to configure call to prevent seg.fault. on load due to overly hungry link command on Ubuntu [ Manuel Prinz ] * Header files are now available under /usr/include/openmpi via symlink (Closes: #493875) -- Dirk Eddelbuettel Tue, 20 Jan 2009 20:10:20 -0600 openmpi (1.2.8-3) unstable; urgency=low * Building static libraries (again) (Closes: #502232) * Removed *.so files from libopenmpi-dev package (Closes: #504161) -- Manuel Prinz Sun, 02 Nov 2008 15:53:19 +0100 openmpi (1.2.8-2) unstable; urgency=low * Reverted back to revision r137 corresponding to Debian release 1.2.7-1 (Closes: #504161) -- Dirk Eddelbuettel Sat, 01 Nov 2008 17:37:07 -0500 openmpi (1.2.8-1) unstable; urgency=low * New upstream version. * libopenmpi-dev ships static libraries (Closes: #502232) * Remaining lintian warnings removed -- Sylvestre Ledru Tue, 28 Oct 2008 23:49:37 +0200 openmpi (1.2.7-1) unstable; urgency=low * New upstream version. [ Sylvestre Ledru ] * debian/control: Added myself to Uploaders field [ Manuel Prinz ] * debian/control: Changed my email address in Uploaders field -- Manuel Prinz Wed, 24 Sep 2008 21:22:35 +0200 openmpi (1.2.7~rc2-2) unstable; urgency=low * Updated README.Debian of libopenmpi-dev. It contained references to closed bugs. Also added a recommendation on correct linking. * debian/control: Removed XS-Autobuild field * debian/copyright: Added missing copyrights and licenses for ROMIO and GNU libltdl -- Manuel Prinz Mon, 25 Aug 2008 22:41:16 +0200 openmpi (1.2.7~rc2-1) unstable; urgency=low [ Dirk Eddelbuettel ] * New upstream pre-release version * Thanks to Manuel for the work on this release, and on 1.2.6-3 which we never uploaded, and to the Open MPI team for the integrating the patch from 1.2.6-3 into what will be 1.2.7 [ Manuel Prinz ] * debian/control: Changed Standards-Version to 3.8.0 * Deleted all patches, removed Build-Depends of dpatch -- Dirk Eddelbuettel Wed, 02 Jul 2008 19:08:07 -0500 openmpi (1.2.6-3) unstable; urgency=low [ Manuel Prinz ] * debian/patches/01openfabrics.dpatch: Applied patch by Jeff Squyres that deals with the warnings printed when OpenFabrics hardware is not present. Thanks to Jeff for the patch! * debian/patches/10fix_config_infiniband.dpatch: Removed, it's obsoleted by the above mentioned OpenFabrics patch. * Updated README.Debian with information about the OpenFabrics patch. * debian/patches/02manpages-lintian-fix.dpatch: Applied patch another patch by Jeff Squyres that fixes Lintian manpage-has-errors-from-man issues. Thanks again to Jeff for the patch! -- Manuel Prinz Sat, 31 May 2008 23:49:13 +0200 openmpi (1.2.6-2) unstable; urgency=low [ Sylvestre Ledru ] * Can be built under ppc64. Thanks to Andreas Jochens (Closes: #478427) [ Dirk Eddelbuettel ] * Built and uploaded. Thanks to Sylvestre for applying the patch. -- Dirk Eddelbuettel Mon, 05 May 2008 07:16:49 -0500 openmpi (1.2.6-1) unstable; urgency=low [ Dirk Eddelbuettel ] * New upstream version * debian/patches/00list: Disabled man page patches 60* which has been included upstream in version 1.2.6 -- Dirk Eddelbuettel Tue, 08 Apr 2008 20:19:24 -0500 openmpi (1.2.5-3) unstable; urgency=low [ Dirk Eddelbuettel ] * debian/control: Version the Conflicts: of libopenmpi-dev with pgapack to 'pgapack (<= 1.0.0.1-4.2)' as newer pgapack do not exhibit a conflict. -- Dirk Eddelbuettel Mon, 10 Mar 2008 16:55:37 -0500 openmpi (1.2.5-2) unstable; urgency=low [ Dirk Eddelbuettel ] * Debian build and upload * Thanks to Manuel for all the work, and to Ondrej for persistent debugging. [ Manuel Prinz ] * Added missing ${shlibs:Depends} to Depends: line of libopenmpi-dev * debian/shlibs.local: Added entry for libibverbs until the package provides the necessary information. (Closes: #464705) * debian/control: Added versioned dependency to libibverbs in Build-Depends * debian/libopenmpi-dev.postinst: Corrected dead symlinks. Thanks to Ondrej Certik for reporting the issue! (Closes: #464795) * debian/patches/60_fix_manpage_name_section.dpatch: Fixing name line in the MPI_Comm_f2c.3 manpage. Thanks to Jeff Squyres! -- Dirk Eddelbuettel Thu, 14 Feb 2008 20:54:06 -0600 openmpi (1.2.5-1) unstable; urgency=low [ Dirk Eddelbuettel ] * New upstream version * debian/patches/00list: Disabled man page patches 20*, 30* and 31* which have been included upstream * debian/patches/60_fix_manpage_name_section.dpatch: Applied small correction * Debian build and upload [ Manuel Prinz ] * debian/*.lintian-override: Deleted, all issues are fixed - debian/libopenmpi{1,-dev}.links, debian/libopenmpi1.install: Moved *.so.0 links from /usr/lib/openmpi/lib to /usr/lib. Created *.so.0.0.0 symlinks in /usr/lib, pointing to /usr/lib/openmpi/lib. This fixes postinst-has-useless-call-to-ldconfig, postrm-has-useless- call-to-ldconfig and package-name-doesnt-match-sonames warnings. - debian/rules, debian/control: Added chrpath to Build-Depends and deleting all rpath info with chrpath in install-arch target. This fixes all binary-or-shlib-defines-rpath warnings. * debian/rules: Adjusted target dependencies to be more sane. Renamed "test" target to "check". * Applied a patch by Adam Powell IV that adds /usr/lib/libmpi++.so via update-alternatives for compatibility with LAM/MPI and MPICH. Thanks to Adam for the patch! (Closes: #459642) -- Dirk Eddelbuettel Wed, 09 Jan 2008 16:30:33 -0600 openmpi (1.2.4-5) unstable; urgency=low [ Manuel Prinz ] * Several changes in the libopenmpi-dev package to correct the library soname links (Closes: #456721) [ Dirk Eddelbuettel ] * Debian build and upload -- Dirk Eddelbuettel Tue, 18 Dec 2007 20:00:53 -0600 openmpi (1.2.4-4) unstable; urgency=low [ Manuel Prinz ] * debian/rules: Several minor changes - Added cross-compilation support - Replaced (un)patch targets with dpatch's makefile snippet * debian/control: Changed Standards-Version to match latest policy * debian/control: Several cosmetic changes to control fields - XS-Vcs-*: Renamed fields to Vcs-* - XS-DM-Upload-Allowed: Added, allowing uploads for Debian Maintainers - Homepage: Newly added - Build-Depends: Removed libsysfs-dev (Closes: #449084) - Build-Depends: Removed automake - Uploaders: Added myself * Moved include files and libraries to /usr/lib/openmpi and use the "mpi" alternative. Thanks to Nicholas Breen for assistance! (Closes: #452047) [ Dirk Eddelbuettel ] * Debian build and upload -- Dirk Eddelbuettel Wed, 12 Dec 2007 09:40:29 -0600 openmpi (1.2.4-3) unstable; urgency=low [ Manuel Prinz ] * debian/control: Added openmpi-common to libopenmpi-dev's Depends (Closes: #445230) [ Dirk Eddelbuettel ] * Debian build and upload -- Dirk Eddelbuettel Sat, 06 Oct 2007 07:54:47 -0500 openmpi (1.2.4-2) unstable; urgency=low [ Manuel Prinz ] * debian/control: Added sparc to list of supported architectures [ Dirk Eddelbuettel ] * Debian build and upload -- Dirk Eddelbuettel Tue, 02 Oct 2007 22:04:04 -0500 openmpi (1.2.4-1) unstable; urgency=low [ Manuel Prinz ] * debian/control: Modified package relationships to prevent problems when upgrading from 1.2.3-4 (Closes: #444432) [ Dirk Eddelbuettel ] * Debian build and upload -- Dirk Eddelbuettel Fri, 28 Sep 2007 16:25:13 -0500 openmpi (1.2.4-0) unstable; urgency=low * New upstream release [ Sylvestre Ledru ] * debian/patches: Removed 50fix_kfreebsd_build patch (Fixed upstream) [ Manuel Prinz ] * Patch added: Please shut up libibverbs (Closes: #439730) * Moved compiler wrappers from package openmpi-bin to libopenmpi-dev. [ Dirk Eddelbuettel ] * Debian build and upload -- Dirk Eddelbuettel Wed, 26 Sep 2007 22:07:15 -0500 openmpi (1.2.3-4) unstable; urgency=low [ Manuel Prinz ] * Fixed: openmpi-bin: FTBFS on kFreeBSD and maybe Hurd. Thanks to Uwe Hermann for providing the patches! (Closes: #437839) * debian/rules: Disabled threading support (Closes: #435581) * debian/openmpi-bin.README.Debian: Documented disabling of threading * debian/patches: Removed 10opal_noexecstack and 99autoconf patches because they are no longer needed. Thanks to Brian Barrett for clarification. [ Dirk Eddelbuettel ] * debian/control: Add 'kfreebsd-i386 kfreebsd-amd64 hurd-i386' to list of build architecture (via Uwe's patch referenced above) -- Dirk Eddelbuettel Mon, 20 Aug 2007 20:10:46 -0500 openmpi (1.2.3-3) unstable; urgency=low [ Manuel Prinz ] * Fixed: openmpi-bin: libibverbs only available for Linux. Thanks to Uwe Hermann for providing the patch! (Closes: #435573) * Changed section of openmpi-doc to doc to satisfy overrides [ Dirk Eddelbuettel ] * debian/control: Trying something moderately radical here -- we are switching the binary packages from 'Architecture: any' to the set of five architectures that can actually build the package, given the lack of upstream support for atomistic operations on the other architectures (c.f. Debian BTS for openmpi) -- Dirk Eddelbuettel Sun, 12 Aug 2007 19:43:29 -0500 openmpi (1.2.3-2) unstable; urgency=low [ Dirk Eddelbuettel ] * debian/control: Added some per-package text to the common titles of the Descriptions [ Manuel Prinz ] * Fixed: FTBFS on GNU/kFreeBSD, Thanks to Petr Salinger for providing the patch! (Closes: #433142). * debian/control: Changed priority to "extra" to comply with the Debian Policy, section 2.5. -- Dirk Eddelbuettel Mon, 30 Jul 2007 21:12:11 -0500 openmpi (1.2.3-1) unstable; urgency=low [ Dirk Eddelbuettel ] * debian/rules: Ensure AUTHORS NEWS README are installed everywhere * debian/rules: Add examples/ directory to openmpi-doc * debian/control: More Conflicts/Replaces/Provides for renamed packages -- Dirk Eddelbuettel Sun, 24 Jun 2007 21:18:31 -0500 openmpi (1.2.3-0) unstable; urgency=low * First release by the new maintainer group 'pkg-openmpi' * Takeover of the package is coordinated with the previous maintainer. Our thanks to Florian for his initial packaging. * We also would like to thank everybody who has prepared a previous NMU, [ Dirk Eddelbuettel ] * debian/control: Add myself as Uploaders * debian/patches/31_fix_manpages_lintian.dpatch: Another small man page fix * debian/{ompi_info.1,opal_wrapper.1,orted.1}: Contributed three man pages * Renaming some sub-package: - openmpi-libs0 package renamed to libopenmpi1 - openmpi-dev package renamed to libopenmpi-dev - openmpi-dbg package rename to libopenmpi-dbg - new openmpi-mpidoc package renamed to openmpi-doc * debian/control: Add Build-Depends: on 'gcc (>= 4.1.2)' to build for the 'long double' transition -- and as we happen to have renamed the library package name, is requivalent to the 'ldbl' suffix (Closes: #430321) [ Upstream ] * Fixed: mpif77 and mpif90 incorrect default include file search path (Closes: #405472) [ Sylvestre Ledru ] * New upstream release 1.2.3 * New upstream release 1.2.2 (Closes: #427356) * Patch removed: 20implicit_pointer_conversion.dpatch * Apply all of Tilman's patches below (Closes: #415338) * Add the correct XS-Autobuild, XS-Vcs-Svn and XS-Vcs-Browser fields in debian/control. * Fix errors in manpages (Lintian complaining) [ Manuel Prinz ] * Patch removed: 30_alpha_inline_assembly.dpatch (Fixed upstream) * Updated patch of autogenerated autoconf files by Steve Langasek. * Fixed: Please make openmpi thread-compartible by adding --enable-mpi-threads and --enable-progress-threads (Closes: #419867) * Fixed: Use Debian alternatives (Closes: #396761) * Added watch file. [ Tilman Koschnick ] * New upstream release 1.2.0 * Acknowledge previous NMUs (Closes: #386491, #392633, #404003, #404026). * Fix: mpicc.openmpi fails to run when named mpicc.openmpi (Closes: #388216). * Include manual pages (Closes: #413607). * Add openmpi-mpidoc package for man pages describing the MPI standard. * Update copyrights. [ Andreas Barth ] * Spelling mistake in the description of the package (Closes: #390238) -- Dirk Eddelbuettel Sat, 23 Jun 2007 18:55:31 -0500 openmpi (1.1-2.5) unstable; urgency=high * Non-maintainer upload. * High urgency upload for RC bugfix. * Add missing build-dependency on libsysfs-dev, which is used in the build but was previously pulled in via libibverbs-dev. -- Steve Langasek Sun, 29 Apr 2007 22:03:58 -0700 openmpi (1.1-2.4) unstable; urgency=low * Non-maintainer upload. * 0-day alpha porter upload. * Fix wrong inline assembler check on alpha: 'zero' is not recognized as a mnemonic for $31 with binutils. This broken check resulted in various atomic operations remaining undefined, leading to a build failure on alpha. Likewise, fix the inline assembly provided in opal/include/opal/sys/alpha/atomic.h so that it's valid under GNU binutils. Closes: #384792. -- Steve Langasek Sun, 29 Apr 2007 02:27:51 -0700 openmpi (1.1-2.3) unstable; urgency=high * Non-maintainer upload. * Add conflicts between openmpi-dev and libopal-dev, pgapack. Closes: #404003, #404026 -- Andreas Barth Fri, 22 Dec 2006 13:57:13 +0000 openmpi (1.1-2.2) unstable; urgency=low * Non-maintainer upload. * Remove --host=* from debian/rules to make autoconf not enable cross-building mode. Thanks to Steve Langasek for pointing this out. Closes: #392633. -- Mark Hymers Sun, 15 Oct 2006 00:46:11 +0100 openmpi (1.1-2.1) unstable; urgency=high * NMU * Make sparc build UltraSPARC-only, since upstream seems to have dropped support for 32-bit machines. closes: #386491. -- Clint Adams Tue, 26 Sep 2006 00:31:36 -0400 openmpi (1.1-2) unstable; urgency=low * Apply patch by Tilman Koschnick to add a new package with debugging symbols (Closes: #383997). -- Florian Ragwitz Wed, 23 Aug 2006 12:43:16 +0200 openmpi (1.1-1) unstable; urgency=low * New upstream release. * Applied patch by dann frazier to fix an implicit pointer conversion on 64bit platforms (Closes: #377725). * Fixed mix-up in package descriptions (Closes: #379594). * Use the alternatives system for the mpi* executables in openmpi-bin (Closes: #377297). -- Florian Ragwitz Mon, 7 Aug 2006 16:57:42 +0200 openmpi (1.0.2-1) unstable; urgency=low * Initial release (Closes: #340426). -- Florian Ragwitz Fri, 6 Jan 2006 15:13:31 +0100 debian/control0000644000000000000000000001534412257036731010606 0ustar Source: openmpi Section: net Priority: extra Maintainer: Debian Open MPI Maintainers Uploaders: Manuel Prinz , Sylvestre Ledru Build-Depends: dpkg-dev (>= 1.16.1~), debhelper (>= 8.0.0~), libibverbs-dev (>= 1.1.1) [!kfreebsd-i386 !kfreebsd-amd64 !hurd-i386], gfortran, gcc (>= 4:4.1.2), chrpath, libhwloc-dev, libtorque2-dev, libcr-dev [amd64 armel armhf i386 powerpc], libtool, libltdl-dev, libnuma-dev [amd64 i386 ia64 mips mipsel mipsn32 mipsn32el mips64 mips64el powerpc ppc64el], autoconf (>= 2.59), automake Build-Conflicts: libopenmpi1.3 Standards-Version: 3.9.5 Homepage: http://www.open-mpi.org/ Vcs-Svn: svn://svn.debian.org/svn/pkg-openmpi/openmpi/trunk/ Vcs-Browser: http://svn.debian.org/wsvn/pkg-openmpi/openmpi/trunk/ Package: openmpi-bin Architecture: alpha amd64 armel armhf arm64 i386 ia64 powerpc powerpcspe ppc64 ppc64el sparc sparc64 kfreebsd-i386 kfreebsd-amd64 hurd-i386 mips64 mips64el mips mipsel Depends: ${shlibs:Depends}, ${misc:Depends}, openmpi-common (= ${source:Version}) Conflicts: openmpi-bin Suggests: gfortran, openmpi-checkpoint [amd64 armel armhf i386 powerpc] Description: high performance message passing library -- binaries Open MPI is a project combining technologies and resources from several other projects (FT-MPI, LA-MPI, LAM/MPI, and PACX-MPI) in order to build the best MPI library available. A completely new MPI-2 compliant implementation, Open MPI offers advantages for system and software vendors, application developers and computer science researchers. . Features: * Full MPI-2 standards conformance * Thread safety and concurrency * Dynamic process spawning * High performance on all platforms * Reliable and fast job management * Network and process fault tolerance * Support network heterogeneity * Single library supports all networks * Run-time instrumentation * Many job schedulers supported * Internationalized error messages * Component-based design, documented APIs . This package contains the Open MPI utility programs. Package: libopenmpi-dev Section: libdevel Architecture: alpha amd64 armel armhf arm64 i386 ia64 powerpc powerpcspe ppc64 ppc64el sparc sparc64 kfreebsd-i386 kfreebsd-amd64 hurd-i386 mips64 mips64el mips mipsel Depends: ${shlibs:Depends}, ${misc:Depends}, libopenmpi1.6 (= ${binary:Version}), openmpi-common (= ${source:Version}), libibverbs-dev [!kfreebsd-i386 !kfreebsd-amd64 !hurd-i386], libhwloc-dev Conflicts: openmpi-dev, libopenmpi-dev, openmpi-bin (<= 1.2.4-0) Description: high performance message passing library -- header files Open MPI is a project combining technologies and resources from several other projects (FT-MPI, LA-MPI, LAM/MPI, and PACX-MPI) in order to build the best MPI library available. A completely new MPI-2 compliant implementation, Open MPI offers advantages for system and software vendors, application developers and computer science researchers. . This package contains the header files and compiler wrappers which are needed to compile and link programs against libopenmpi. Package: libopenmpi1.6 Section: libs Architecture: alpha amd64 armel armhf arm64 i386 ia64 powerpc powerpcspe ppc64 ppc64el sparc sparc64 kfreebsd-i386 kfreebsd-amd64 hurd-i386 mips64 mips64el mips mipsel Depends: ${shlibs:Depends}, ${misc:Depends} Conflicts: openmpi-libs0, libopenmpi1, libopenmpi1.3, libopenmpi2 Replaces: openmpi-checkpoint (<< 1.6.5-1) Breaks: openmpi-checkpoint (<< 1.6.5-1) Description: high performance message passing library -- shared library Open MPI is a project combining technologies and resources from several other projects (FT-MPI, LA-MPI, LAM/MPI, and PACX-MPI) in order to build the best MPI library available. A completely new MPI-2 compliant implementation, Open MPI offers advantages for system and software vendors, application developers and computer science researchers. . This package contains the Open MPI shared libraries. Package: openmpi-common Architecture: all Depends: ${misc:Depends} Conflicts: openmpi-common Description: high performance message passing library -- common files Open MPI is a project combining technologies and resources from several other projects (FT-MPI, LA-MPI, LAM/MPI, and PACX-MPI) in order to build the best MPI library available. A completely new MPI-2 compliant implementation, Open MPI offers advantages for system and software vendors, application developers and computer science researchers. . This package contains platform independent files for Open MPI. Package: openmpi-doc Section: doc Architecture: all Depends: ${misc:Depends} Conflicts: mpi-doc, lam-mpidoc, lam4-dev, openmpi-mpidoc, openmpi-doc Replaces: openmpi-checkpoint (<< 1.6.5-1) Breaks: openmpi-checkpoint (<< 1.6.5-1) Description: high performance message passing library -- man pages Open MPI is a project combining technologies and resources from several other projects (FT-MPI, LA-MPI, LAM/MPI, and PACX-MPI) in order to build the best MPI library available. A completely new MPI-2 compliant implementation, Open MPI offers advantages for system and software vendors, application developers and computer science researchers. . This package contains man pages describing the Message Passing Interface standard. Package: libopenmpi1.6-dbg Section: debug Architecture: alpha amd64 armel armhf arm64 i386 ia64 powerpc powerpcspe ppc64 ppc64el sparc sparc64 kfreebsd-i386 kfreebsd-amd64 hurd-i386 mips64 mips64el mips mipsel Depends: ${misc:Depends}, openmpi-bin (= ${binary:Version}), libopenmpi1.6 (= ${binary:Version}) Conflicts: openmpi-dbg, libopenmpi-dbg Description: high performance message passing library -- debug library Open MPI is a project combining technologies and resources from several other projects (FT-MPI, LA-MPI, LAM/MPI, and PACX-MPI) in order to build the best MPI library available. A completely new MPI-2 compliant implementation, Open MPI offers advantages for system and software vendors, application developers and computer science researchers. . This package contains debugging symbols for Open MPI. Package: openmpi-checkpoint Architecture: amd64 armel armhf i386 powerpc Depends: ${shlibs:Depends}, ${misc:Depends}, openmpi-bin (= ${binary:Version}), blcr-util, libopenmpi1.6 (= ${binary:Version}) Conflicts: openmpi-checkpoint Description: high performance message passing library -- checkpoint support Open MPI is a project combining technologies and resources from several other projects (FT-MPI, LA-MPI, LAM/MPI, and PACX-MPI) in order to build the best MPI library available. A completely new MPI-2 compliant implementation, Open MPI offers advantages for system and software vendors, application developers and computer science researchers. . This package contains binaries needed for checkpointing Open MPI applications. debian/patches/0000755000000000000000000000000012257027411010616 5ustar debian/patches/series0000644000000000000000000000070312257027411012033 0ustar ompi_autogen_sh.patch build_hurd manpage_macros # ARM support is incorporated upstream #arm_support # Link fix is obsolete, since we do not ship .la files anymore #openmpi-link-fix #configure_arm_fix.patch # 658600: Regression of bug 531522 #fix-fakeroot-execution.patch arm_detection.diff fix-bashims.diff fix-testsuite-compile mips-detection.diff mips-support-upstream-1.7.3.diff mips-support-fix.diff basic-arm64-support.diff ppc64el-support.patch debian/patches/configure_arm_fix.patch0000644000000000000000000000114111755462247015336 0ustar ## Description: add some description ## Origin/Author: add some origin or author ## Bug: bug URL Index: openmpi-1.5.4/configure =================================================================== --- openmpi-1.5.4.orig/configure 2011-08-18 16:49:03.000000000 +0300 +++ openmpi-1.5.4/configure 2012-01-20 18:12:48.959184193 +0200 @@ -26943,7 +26943,7 @@ OMPI_GCC_INLINE_ASSIGN='"bis $31,$31,%0" : "=&r"(ret)' ;; - armv7*) + arm*) ompi_cv_asm_arch="ARM" OPAL_ASM_SUPPORT_64BIT=1 OMPI_GCC_INLINE_ASSIGN='"mov %0, #0" : "=&r"(ret)' debian/patches/openmpi-link-fix0000644000000000000000000000725311755462247013752 0ustar --- openmpi-1.4.3.old/ompi/tools/ompi-server/Makefile.am 2009-12-08 20:36:19.000000000 +0000 +++ openmpi-1.4.3/ompi/tools/ompi-server/Makefile.am 2011-04-10 16:14:45.000000000 +0000 @@ -41,7 +41,7 @@ endif # OMPI_INSTALL_BINARIES ompi_server_SOURCES = ompi-server.c -ompi_server_LDADD = $(top_builddir)/ompi/libmpi.la +ompi_server_LDADD = $(top_builddir)/ompi/libmpi.la $(top_builddir)/orte/libopen-rte.la $(top_builddir)/opal/libopen-pal.la distclean-local: rm -f $(man_pages) --- openmpi-1.4.3.old/ompi/tools/ompi_info/Makefile.am 2009-12-08 20:36:19.000000000 +0000 +++ openmpi-1.4.3/ompi/tools/ompi_info/Makefile.am 2011-04-10 16:13:22.000000000 +0000 @@ -66,7 +66,7 @@ output.cc \ param.cc \ version.cc -ompi_info_LDADD = $(top_builddir)/ompi/libmpi.la +ompi_info_LDADD = $(top_builddir)/ompi/libmpi.la $(top_builddir)/orte/libopen-rte.la $(top_builddir)/opal/libopen-pal.la clean-local: test -z "$(OMPI_CXX_TEMPLATE_REPOSITORY)" || $(RM) -rf $(OMPI_CXX_TEMPLATE_REPOSITORY) --- openmpi-1.4.3.old/orte/tools/orte-ps/Makefile.am 2009-12-08 20:36:41.000000000 +0000 +++ openmpi-1.4.3/orte/tools/orte-ps/Makefile.am 2011-04-10 15:59:01.000000000 +0000 @@ -40,7 +40,7 @@ endif # OMPI_INSTALL_BINARIES orte_ps_SOURCES = orte-ps.c -orte_ps_LDADD = $(top_builddir)/orte/libopen-rte.la +orte_ps_LDADD = $(top_builddir)/orte/libopen-rte.la $(top_builddir)/opal/libopen-pal.la endif # !ORTE_DISABLE_FULL_SUPPORT --- openmpi-1.4.3.old/orte/tools/orte-clean/Makefile.am 2009-12-08 20:36:41.000000000 +0000 +++ openmpi-1.4.3/orte/tools/orte-clean/Makefile.am 2011-04-10 15:57:09.000000000 +0000 @@ -40,7 +40,7 @@ endif # OMPI_INSTALL_BINARIES orte_clean_SOURCES = orte-clean.c -orte_clean_LDADD = $(top_builddir)/orte/libopen-rte.la +orte_clean_LDADD = $(top_builddir)/orte/libopen-rte.la $(top_builddir)/opal/libopen-pal.la endif # !ORTE_DISABLE_FULL_SUPPORT --- openmpi-1.4.3.old/orte/tools/orte-iof/Makefile.am 2009-12-08 20:36:41.000000000 +0000 +++ openmpi-1.4.3/orte/tools/orte-iof/Makefile.am 2011-04-10 15:57:54.000000000 +0000 @@ -40,7 +40,7 @@ endif # OMPI_INSTALL_BINARIES orte_iof_SOURCES = orte-iof.c -orte_iof_LDADD = $(top_builddir)/orte/libopen-rte.la +orte_iof_LDADD = $(top_builddir)/orte/libopen-rte.la $(top_builddir)/opal/libopen-pal.la endif # !ORTE_DISABLE_FULL_SUPPORT --- openmpi-1.4.3.old/orte/tools/orte-checkpoint/Makefile.am 2009-12-08 20:36:41.000000000 +0000 +++ openmpi-1.4.3/orte/tools/orte-checkpoint/Makefile.am 2011-04-10 15:51:13.000000000 +0000 @@ -47,7 +47,7 @@ endif # OMPI_INSTALL_BINARIES orte_checkpoint_SOURCES = orte-checkpoint.c -orte_checkpoint_LDADD = $(top_builddir)/orte/libopen-rte.la +orte_checkpoint_LDADD = $(top_builddir)/orte/libopen-rte.la $(top_builddir)/opal/libopen-pal.la endif # WANT_FT endif # !ORTE_DISABLE_FULL_SUPPORT --- openmpi-1.4.3.old/orte/tools/orte-restart/Makefile.am 2009-12-08 20:36:41.000000000 +0000 +++ openmpi-1.4.3/orte/tools/orte-restart/Makefile.am 2011-04-10 15:59:43.000000000 +0000 @@ -47,7 +47,7 @@ endif # OMPI_INSTALL_BINARIES orte_restart_SOURCES = orte-restart.c -orte_restart_LDADD = $(top_builddir)/orte/libopen-rte.la +orte_restart_LDADD = $(top_builddir)/orte/libopen-rte.la $(top_builddir)/opal/libopen-pal.la endif # WANT_FT endif # ORTE_DISABLE_FULL_SUPPORT --- openmpi-1.4.3.old/orte/tools/orterun/Makefile.am 2009-12-08 20:36:44.000000000 +0000 +++ openmpi-1.4.3/orte/tools/orterun/Makefile.am 2011-04-10 16:00:25.000000000 +0000 @@ -55,7 +55,7 @@ debuggers.h \ debuggers.c -orterun_LDADD = $(top_builddir)/orte/libopen-rte.la +orterun_LDADD = $(top_builddir)/orte/libopen-rte.la $(top_builddir)/opal/libopen-pal.la endif # !ORTE_DISABLE_FULL_SUPPORT debian/patches/build_hurd0000644000000000000000000002325312247661261012675 0ustar Description: Fix build problems on hurd-i386 This patch allows Open MPI to build on Debian GNU/HURD. . Also, the memory:linux MCA component is disabled, since its use of POSIX API in malloc hooks called very early at startup causes troubles. Author: Pino Toscano Forwarded: partially Last-Update: 2013-08-21 --- a/ompi/runtime/ompi_mpi_abort.c +++ b/ompi/runtime/ompi_mpi_abort.c @@ -53,10 +53,11 @@ bool kill_remote_of_intercomm) { int count = 0, i; - char *msg, *host, hostname[MAXHOSTNAMELEN]; + char *msg, *host = NULL; pid_t pid = 0; orte_process_name_t *abort_procs; orte_std_cntr_t nabort_procs; + bool free_host = false; /* Protection for recursive invocation */ if (have_been_invoked) { @@ -70,8 +71,12 @@ if (orte_initialized) { host = orte_process_info.nodename; } else { - gethostname(hostname, sizeof(hostname)); - host = hostname; + size_t host_length = 128; + do { + host_length *= 2; + host = realloc(host, host_length); + } while ((gethostname(host, host_length) == -1) && (errno == ENAMETOOLONG)); + free_host = true; } pid = getpid(); --- a/ompi/runtime/ompi_mpi_finalize.c +++ b/ompi/runtime/ompi_mpi_finalize.c @@ -101,13 +101,18 @@ /* Note that if we're already finalized, we cannot raise an MPI exception. The best that we can do is write something to stderr. */ - char hostname[MAXHOSTNAMELEN]; + char *hostname = NULL; + size_t hostname_length = 128; pid_t pid = getpid(); - gethostname(hostname, sizeof(hostname)); + do { + hostname_length *= 2; + hostname = realloc(hostname, hostname_length); + } while ((gethostname(hostname, hostname_length) == -1) && (errno == ENAMETOOLONG)); orte_show_help("help-mpi-runtime.txt", "mpi_finalize:invoked_multiple_times", true, hostname, pid); + free(hostname); return MPI_ERR_OTHER; } --- a/opal/mca/base/mca_base_component_find.c +++ b/opal/mca/base/mca_base_component_find.c @@ -208,11 +208,16 @@ } if (opal_list_get_end(found_components) == item) { - char h[MAXHOSTNAMELEN]; - gethostname(h, sizeof(h)); + char *h = NULL; + size_t h_length = 128; + do { + h_length *= 2; + h = realloc(h, h_length); + } while ((gethostname(h, h_length) == -1) && (errno == ENAMETOOLONG)); opal_show_help("help-mca-base.txt", "find-available:not-valid", true, h, type, requested_component_names[i]); + free(h); return OPAL_ERR_NOT_FOUND; } } --- a/opal/mca/base/mca_base_param.c +++ b/opal/mca/base/mca_base_param.c @@ -186,8 +186,14 @@ home = (char*)opal_home_directory(); if(NULL == cwd) { +#if !defined(MAXPATHLEN) && defined(__GLIBC__) + cwd = get_current_dir_name(); + if( NULL == cwd) +#else cwd = (char *) malloc(sizeof(char) * MAXPATHLEN); - if( NULL == (cwd = getcwd(cwd, MAXPATHLEN) )) { + if( NULL == (cwd = getcwd(cwd, MAXPATHLEN) )) +#endif + { opal_output(0, "Error: Unable to get the current working directory\n"); cwd = strdup("."); } --- a/opal/util/stacktrace.c +++ b/opal/util/stacktrace.c @@ -437,8 +437,12 @@ mca_base_param_lookup_string (param, &string_value); memset(&act, 0, sizeof(act)); +#ifdef SA_SIGINFO act.sa_sigaction = show_stackframe; act.sa_flags = SA_SIGINFO; +#else + act.sa_handler = show_stackframe_handler; +#endif #ifdef SA_ONESHOT act.sa_flags |= SA_ONESHOT; #else --- a/orte/mca/odls/base/odls_base_default_fns.c +++ b/orte/mca/odls/base/odls_base_default_fns.c @@ -1370,8 +1370,13 @@ orte_local_rank_t local_rank; orte_node_rank_t node_rank; char *pathenv = NULL, *mpiexec_pathenv = NULL; +#if !defined(MAXPATHLEN) && defined(__GLIBC__) + char *basedir=NULL; + char *dir=NULL; +#else char basedir[MAXPATHLEN]; char dir[MAXPATHLEN]; +#endif char **argvptr; char *full_search; char **argvsav=NULL; @@ -1388,7 +1393,11 @@ * bouncing around as we execute various apps, but we will always return * to this place as our default directory */ +#if !defined(MAXPATHLEN) && defined(__GLIBC__) + basedir = get_current_dir_name(); +#else getcwd(basedir, sizeof(basedir)); +#endif /* find the jobdat for this job */ jobdat = NULL; @@ -1621,7 +1630,11 @@ * again not match getcwd! This is beyond our control - we are only * ensuring they start out matching. */ +#if !defined(MAXPATHLEN) && defined(__GLIBC__) + dir = get_current_dir_name(); +#else getcwd(dir, sizeof(dir)); +#endif opal_setenv("PWD", dir, true, &app->env); /* Search for the OMPI_exec_path and PATH settings in the environment. */ @@ -2118,6 +2131,10 @@ GETOUT: opal_condition_signal(&orte_odls_globals.cond); OPAL_THREAD_UNLOCK(&orte_odls_globals.mutex); +#if !defined(MAXPATHLEN) && defined(__GLIBC__) + free(basedir); + free(dir); +#endif return rc; } --- a/orte/orted/orted_main.c +++ b/orte/orted/orted_main.c @@ -228,7 +228,8 @@ int ret = 0; int fd; opal_cmd_line_t *cmd_line = NULL; - char log_file[PATH_MAX]; + char *log_file = NULL; + size_t log_file_len; char *jobidstring; char *rml_uri; int i; @@ -482,13 +483,16 @@ } /* define a log file name in the session directory */ - snprintf(log_file, PATH_MAX, "output-orted-%s-%s.log", + log_file_len = 13 + strlen(jobidstring) + 1 + strlen(orte_process_info.nodename) + 4 + 1; + log_file = malloc(log_file_len); + snprintf(log_file, log_file_len, "output-orted-%s-%s.log", jobidstring, orte_process_info.nodename); log_path = opal_os_path(false, orte_process_info.tmpdir_base, orte_process_info.top_session_dir, log_file, NULL); + free(log_file); fd = open(log_path, O_RDWR|O_CREAT|O_TRUNC, 0640); if (fd < 0) { --- a/orte/util/context_fns.c +++ b/orte/util/context_fns.c @@ -55,10 +55,12 @@ { bool good = true; const char *tmp; +#if 0 /* 'hostname' looks unused... */ char hostname[MAXHOSTNAMELEN]; /* Use hostname in a few messages below */ gethostname(hostname, sizeof(hostname)); +#endif /* If we want to chdir and the chdir fails (for any reason -- such as if the dir doesn't exist, it isn't a dir, we don't have --- a/opal/mca/pstat/darwin/configure.m4 +++ b/opal/mca/pstat/darwin/configure.m4 @@ -23,9 +23,9 @@ # ----------------------------------------------------------- AC_DEFUN([MCA_pstat_darwin_CONFIG],[ OMPI_VAR_SCOPE_PUSH([paff_darwin_happy]) - # check to see if we have + # check to see if we have # as this is a Darwin-specific thing - AC_CHECK_HEADER([mach/mach_host.h], [paff_darwin_happy=yes], [paff_darwin_happy=no]) + AC_CHECK_HEADER([mach/clock.h], [paff_darwin_happy=yes], [paff_darwin_happy=no]) AS_IF([test "$paff_darwin_happy" = "yes"], [$1], [$2]) OMPI_VAR_SCOPE_POP --- a/opal/mca/sysinfo/darwin/configure.m4 +++ b/opal/mca/sysinfo/darwin/configure.m4 @@ -12,9 +12,9 @@ # ----------------------------------------------------------- AC_DEFUN([MCA_sysinfo_darwin_CONFIG],[ OMPI_VAR_SCOPE_PUSH([sysinfo_darwin_happy]) - # check to see if we have + # check to see if we have # as this is a Darwin-specific thing - AC_CHECK_HEADER([mach/mach_host.h], [sysinfo_darwin_happy=yes], [sysinfo_darwin_happy=no]) + AC_CHECK_HEADER([mach/clock.h], [sysinfo_darwin_happy=yes], [sysinfo_darwin_happy=no]) AS_IF([test "$sysinfo_darwin_happy" = "yes"], [$1], [$2]) OMPI_VAR_SCOPE_POP --- a/opal/mca/shmem/mmap/shmem_mmap_module.c +++ b/opal/mca/shmem/mmap/shmem_mmap_module.c @@ -61,6 +61,10 @@ /* for tons of debug output: -mca shmem_base_verbose 70 */ +#ifndef MAXHOSTNAMELEN +# define MAXHOSTNAMELEN 256 +#endif + /* ////////////////////////////////////////////////////////////////////////// */ /*local functions */ /* local functions */ --- a/opal/mca/shmem/posix/shmem_posix_common_utils.h +++ b/opal/mca/shmem/posix/shmem_posix_common_utils.h @@ -45,6 +45,10 @@ OPAL_DECLSPEC extern int shmem_posix_shm_open(char *posix_file_name_buff, size_t size); +#ifndef MAXHOSTNAMELEN +# define MAXHOSTNAMELEN 256 +#endif + END_C_DECLS #endif /* OPAL_SHMEM_POSIX_COMMON_UTILS_H */ --- a/opal/mca/shmem/sysv/shmem_sysv_module.c +++ b/opal/mca/shmem/sysv/shmem_sysv_module.c @@ -65,6 +65,10 @@ /* for tons of debug output: -mca shmem_base_verbose 70 */ +#ifndef MAXHOSTNAMELEN +# define MAXHOSTNAMELEN 256 +#endif + /* ////////////////////////////////////////////////////////////////////////// */ /* local functions */ static int --- a/opal/mca/memory/linux/configure.m4 +++ b/opal/mca/memory/linux/configure.m4 @@ -58,6 +58,10 @@ [memory_linux_ptmalloc2_happy=yes memory_linux_ummu_happy=no])]) + AS_IF([echo "$host_os" | grep '^gnu' >/dev/null 2>/dev/null], + [memory_linux_ptmalloc2_happy=no + memory_linux_ummu_happy=no]) + ###################################################################### # ptmalloc2 ###################################################################### debian/patches/arm_detection.diff0000644000000000000000000000333312203075446014271 0ustar Index: openmpi-1.6.5/opal/config/opal_config_asm.m4 =================================================================== --- openmpi-1.6.5.orig/opal/config/opal_config_asm.m4 2013-07-01 09:47:08.000000000 +0200 +++ openmpi-1.6.5/opal/config/opal_config_asm.m4 2013-07-01 09:47:07.000000000 +0200 @@ -900,7 +900,7 @@ OMPI_GCC_INLINE_ASSIGN='"bis [$]31,[$]31,%0" : "=&r"(ret)' ;; - armv7*) + armv7*|arm-*-linux-gnueabihf) ompi_cv_asm_arch="ARM" OPAL_ASM_SUPPORT_64BIT=1 OPAL_ASM_ARM_VERSION=7 @@ -919,7 +919,7 @@ OMPI_GCC_INLINE_ASSIGN='"mov %0, #0" : "=&r"(ret)' ;; - armv5*linux*|armv4*linux*) + armv5*linux*|armv4*linux*|arm-*-linux-gnueabi) # uses Linux kernel helpers for some atomic operations ompi_cv_asm_arch="ARM" OPAL_ASM_SUPPORT_64BIT=0 Index: openmpi-1.6.5/configure =================================================================== --- openmpi-1.6.5.orig/configure 2013-07-01 09:47:08.000000000 +0200 +++ openmpi-1.6.5/configure 2013-07-01 09:47:08.000000000 +0200 @@ -27192,7 +27192,7 @@ OMPI_GCC_INLINE_ASSIGN='"bis $31,$31,%0" : "=&r"(ret)' ;; - armv7*) + armv7*|arm-*-linux-gnueabihf) ompi_cv_asm_arch="ARM" OPAL_ASM_SUPPORT_64BIT=1 OPAL_ASM_ARM_VERSION=7 @@ -27217,7 +27217,7 @@ OMPI_GCC_INLINE_ASSIGN='"mov %0, #0" : "=&r"(ret)' ;; - armv5*linux*|armv4*linux*) + armv5*linux*|armv4*linux*|arm-*-linux-gnueabi) # uses Linux kernel helpers for some atomic operations ompi_cv_asm_arch="ARM" OPAL_ASM_SUPPORT_64BIT=0 debian/patches/ppc64el-support.patch0000644000000000000000000000103112257027411014621 0ustar Description: Attempt ppc64el build. Author: Dimitri John Ledkov --- openmpi-1.6.5.orig/opal/config/opal_config_asm.m4 +++ openmpi-1.6.5/opal/config/opal_config_asm.m4 @@ -949,7 +949,7 @@ AC_DEFUN([OMPI_CONFIG_ASM],[ OMPI_GCC_INLINE_ASSIGN='"or %0,[$]0,[$]0" : "=&r"(ret)' ;; - powerpc-*|powerpc64-*) + powerpc-*|powerpc64-*|powerpc64le-*) OMPI_CHECK_POWERPC_REG if test "$ac_cv_sizeof_long" = "4" ; then ompi_cv_asm_arch="POWERPC32" debian/patches/fix-bashims.diff0000644000000000000000000000270512046472333013671 0ustar Index: openmpi1.6-1.6.3/orte/tools/orte-bootproxy/orte-bootproxy.sh =================================================================== --- openmpi1.6-1.6.3.orig/orte/tools/orte-bootproxy/orte-bootproxy.sh 2012-04-03 16:30:31.000000000 +0200 +++ openmpi1.6-1.6.3/orte/tools/orte-bootproxy/orte-bootproxy.sh 2012-11-07 15:44:16.847838743 +0100 @@ -4,7 +4,7 @@ # Copyright (c) 2009 Cisco Systems, Inc. All rights reserved. # -if (( $# < 1 )) ; then +if test $# -lt 1; then echo "orte-bootproxy.sh: for OMPI internal use only" exit 1 fi @@ -69,12 +69,13 @@ fi # push all MCA params to the environment -while [ "${var:0:5}" = "OMPI_" ]; do - if [ "${var:5:6}" = "PREFIX" ]; then - export LD_LIBRARY_PATH="${var:12}"/lib:$LD_LIBRARY_PATH - export PATH="${var:12}"/bin:$PATH - elif [ "${var:5:4}" = "WDIR" ]; then - cd "${var:10}" +while [ "$(echo $var | awk '{ string=substr($0, 1, 5); print string; }' )" = "OMPI_" ]; do + if [ "$(echo $var | awk '{ string=substr($0, 6, 6); print string; }' )" = "PREFIX" ]; then + TMP_PATH=$(echo $var | awk '{ string=substr($0, 1, 12); print string; }' ) + export LD_LIBRARY_PATH="$TMP_PATH"/lib:$LD_LIBRARY_PATH + export PATH="$TMP_PATH"/bin:$PATH + elif [ "$(echo $var | awk '{ string=substr($0, 5, 4); print string; }' )" = "WDIR" ]; then + cd "$(echo $var | awk '{ string=substr($0, 1, 10); print string; }' )" else export $var fi debian/patches/manpage_macros0000644000000000000000000000141212203075446013515 0ustar Description: Fix problems in manpages In some man page headers, a macro (-*-) is used which makes lintian choke and probably should not be there anyway. Author: Manuel Prinz Forwarded: yes Last-Update: 2011-09-13 Index: openmpi-1.6.5/orte/tools/orterun/orterun.1in =================================================================== --- openmpi-1.6.5.orig/orte/tools/orterun/orterun.1in 2013-07-01 09:46:41.000000000 +0200 +++ openmpi-1.6.5/orte/tools/orterun/orterun.1in 2013-07-01 09:47:02.000000000 +0200 @@ -1,4 +1,3 @@ -.\" -*- nroff -*- .\" Copyright (c) 2009 Cisco Systems, Inc. All rights reserved. .\" Copyright (c) 2008-2009 Sun Microsystems, Inc. All rights reserved. .\" Copyright (c) 2010 Cisco Systems, Inc. All rights reserved. debian/patches/ompi_autogen_sh.patch0000644000000000000000000000053011755462247015031 0ustar --- a/autogen.sh +++ b/autogen.sh @@ -664,6 +664,9 @@ touch -r aclocal.m4 config/libtool.m4 fi + # Ensure libtool.m4 is very old so that make does not rebuild aclocal.m4 + touch -t 197001010000.00 config/libtool.m4 + run_and_check $ompi_autoconf run_and_check $ompi_automake --foreign -a --copy --include-deps debian/patches/mips-support-upstream-1.7.3.diff0000644000000000000000000001203012252365205016431 0ustar Description: Patches MIPS.asm and mips/atomic.h files to a 1.7.3 version of source Author: Jurica Stanojkovic --- openmpi-1.6.5.orig/opal/asm/base/MIPS.asm +++ openmpi-1.6.5/opal/asm/base/MIPS.asm @@ -1,26 +1,48 @@ START_FILE +#ifdef __linux__ #include +#else +#include +#endif #include TEXT ALIGN(8) LEAF(opal_atomic_mb) - sync +#ifdef __linux__ + .set mips2 +#endif + sync +#ifdef __linux__ + .set mips0 +#endif j ra END(opal_atomic_mb) ALIGN(8) LEAF(opal_atomic_rmb) - sync +#ifdef __linux__ + .set mips2 +#endif + sync +#ifdef __linux__ + .set mips0 +#endif j ra END(opal_atomic_rmb) LEAF(opal_atomic_wmb) - sync +#ifdef __linux__ + .set mips2 +#endif + sync +#ifdef __linux__ + .set mips0 +#endif j ra END(opal_atomic_wmb) @@ -28,10 +50,22 @@ END(opal_atomic_wmb) LEAF(opal_atomic_cmpset_32) .set noreorder retry1: +#ifdef __linux__ + .set mips2 +#endif ll $3, 0($4) +#ifdef __linux__ + .set mips0 +#endif bne $3, $5, done1 or $2, $6, 0 +#ifdef __linux__ + .set mips2 +#endif sc $2, 0($4) +#ifdef __linux__ + .set mips0 +#endif beqz $2, retry1 done1: .set reorder @@ -45,13 +79,31 @@ END(opal_atomic_cmpset_32) LEAF(opal_atomic_cmpset_acq_32) .set noreorder retry2: +#ifdef __linux__ + .set mips2 +#endif ll $3, 0($4) +#ifdef __linux__ + .set mips0 +#endif bne $3, $5, done2 or $2, $6, 0 +#ifdef __linux__ + .set mips2 +#endif sc $2, 0($4) +#ifdef __linux__ + .set mips0 +#endif beqz $2, retry2 done2: - sync +#ifdef __linux__ + .set mips2 +#endif + sync +#ifdef __linux__ + .set mips0 +#endif .set reorder xor $3,$3,$5 @@ -62,12 +114,30 @@ END(opal_atomic_cmpset_acq_32) LEAF(opal_atomic_cmpset_rel_32) .set noreorder - sync +#ifdef __linux__ + .set mips2 +#endif + sync +#ifdef __linux__ + .set mips0 +#endif retry3: +#ifdef __linux__ + .set mips2 +#endif ll $3, 0($4) +#ifdef __linux__ + .set mips0 +#endif bne $3, $5, done3 or $2, $6, 0 +#ifdef __linux__ + .set mips2 +#endif sc $2, 0($4) +#ifdef __linux__ + .set mips0 +#endif beqz $2, retry3 done3: .set reorder @@ -77,7 +147,7 @@ done3: sltu $2,$3,1 END(opal_atomic_cmpset_rel_32) - +#ifdef __mips64 LEAF(opal_atomic_cmpset_64) .set noreorder retry4: @@ -128,3 +198,4 @@ done6: j ra sltu $3,$4,1 END(opal_atomic_cmpset_rel_64) +#endif /* __mips64 */ --- openmpi-1.6.5.orig/opal/include/opal/sys/mips/atomic.h +++ openmpi-1.6.5/opal/include/opal/sys/mips/atomic.h @@ -23,10 +23,17 @@ #if OPAL_WANT_SMP_LOCKS /* BWB - FIX ME! */ +#ifdef __linux__ +#define MB() __asm__ __volatile__(".set mips2; sync; .set mips0": : :"memory") +#define RMB() __asm__ __volatile__(".set mips2; sync; .set mips0": : :"memory") +#define WMB() __asm__ __volatile__(".set mips2; sync; .set mips0": : :"memory") +#define SMP_SYNC ".set mips2; sync; .set mips0" +#else #define MB() __asm__ __volatile__("sync": : :"memory") #define RMB() __asm__ __volatile__("sync": : :"memory") #define WMB() __asm__ __volatile__("sync": : :"memory") #define SMP_SYNC "sync" +#endif #else @@ -46,8 +53,10 @@ #define OPAL_HAVE_ATOMIC_MEM_BARRIER 1 #define OPAL_HAVE_ATOMIC_CMPSET_32 1 -#define OPAL_HAVE_ATOMIC_CMPSET_64 1 +#ifdef __mips64 +#define OPAL_HAVE_ATOMIC_CMPSET_64 1 +#endif /********************************************************************** * @@ -93,10 +102,16 @@ static inline int opal_atomic_cmpset_32( __asm__ __volatile__ (".set noreorder \n" ".set noat \n" "1: \n" +#ifdef __linux__ + ".set mips2 \n\t" +#endif "ll %0, %2 \n" /* load *addr into ret */ "bne %0, %z3, 2f \n" /* done if oldval != ret */ "or $1, %z4, 0 \n" /* tmp = newval (delay slot) */ "sc $1, %2 \n" /* store tmp in *addr */ +#ifdef __linux__ + ".set mips0 \n\t" +#endif /* note: ret will be 0 if failed, 1 if succeeded */ "beqz $1, 1b \n" /* if 0 jump back to 1b */ "nop \n" /* fill delay slots */ @@ -133,7 +148,7 @@ static inline int opal_atomic_cmpset_rel return opal_atomic_cmpset_32(addr, oldval, newval); } - +#ifdef OPAL_HAVE_ATOMIC_CMPSET_64 static inline int opal_atomic_cmpset_64(volatile int64_t *addr, int64_t oldval, int64_t newval) { @@ -182,6 +197,7 @@ static inline int opal_atomic_cmpset_rel opal_atomic_wmb(); return opal_atomic_cmpset_64(addr, oldval, newval); } +#endif /* OPAL_HAVE_ATOMIC_CMPSET_64 */ #endif /* OMPI_GCC_INLINE_ASSEMBLY */ debian/patches/mips-support0000644000000000000000000001400711755462247013241 0ustar Description: Fix build issues on MIPS This patch should add build support for MIPS. Unfortunately, there where build issues related to libtool. With libtool 2.2 being available, those issues should be gone. The patch needs to be updated and tested, so it's currently not applied. Forwarded: https://svn.open-mpi.org/trac/ompi/ticket/2494 Debian-Bug: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=489173 Author: George Bosilca Last-Update: 2011-03-10 --- a/opal/asm/asm-data.txt +++ b/opal/asm/asm-data.txt @@ -127,3 +127,7 @@ MIPS default-.text-.globl-:--L--1-1-1-1-0 mips-irix MIPS default-.text-.globl-:--L--1-1-1-1-0 mips64el +MIPS default-.text-.globl-:--L-@-1-1-1-1-1 mips64-linux + +# However, this doesn't hold true for 32-bit MIPS as used on Linux. +MIPS default-.text-.globl-:--L-@-1-1-1-0-1 mips-linux --- a/opal/asm/base/MIPS.asm +++ b/opal/asm/base/MIPS.asm @@ -1,26 +1,48 @@ START_FILE +#ifdef __linux__ #include +#else +#include +#endif #include TEXT ALIGN(8) LEAF(opal_atomic_mb) - sync +#ifdef __linux__ + .set mips2 +#endif + sync +#ifdef __linux__ + .set mips0 +#endif j ra END(opal_atomic_mb) ALIGN(8) LEAF(opal_atomic_rmb) - sync +#ifdef __linux__ + .set mips2 +#endif + sync +#ifdef __linux__ + .set mips0 +#endif j ra END(opal_atomic_rmb) LEAF(opal_atomic_wmb) - sync +#ifdef __linux__ + .set mips2 +#endif + sync +#ifdef __linux__ + .set mips0 +#endif j ra END(opal_atomic_wmb) @@ -28,11 +50,23 @@ LEAF(opal_atomic_cmpset_32) .set noreorder retry1: +#ifdef __linux__ + .set mips2 +#endif ll $3, 0($4) +#ifdef __linux__ + .set mips0 +#endif bne $3, $5, done1 or $2, $6, 0 +#ifdef __linux__ + .set mips2 +#endif sc $2, 0($4) - bne $2, 1, retry1 +#ifdef __linux__ + .set mips0 +#endif + beqz $2, retry1 done1: .set reorder @@ -45,13 +79,31 @@ LEAF(opal_atomic_cmpset_acq_32) .set noreorder retry2: +#ifdef __linux__ + .set mips2 +#endif ll $3, 0($4) +#ifdef __linux__ + .set mips0 +#endif bne $3, $5, done2 or $2, $6, 0 +#ifdef __linux__ + .set mips2 +#endif sc $2, 0($4) - bne $2, 1, retry2 +#ifdef __linux__ + .set mips0 +#endif + beqz $2, retry2 done2: - sync +#ifdef __linux__ + .set mips2 +#endif + sync +#ifdef __linux__ + .set mips0 +#endif .set reorder xor $3,$3,$5 @@ -62,13 +114,31 @@ LEAF(opal_atomic_cmpset_rel_32) .set noreorder - sync +#ifdef __linux__ + .set mips2 +#endif + sync +#ifdef __linux__ + .set mips0 +#endif retry3: +#ifdef __linux__ + .set mips2 +#endif ll $3, 0($4) +#ifdef __linux__ + .set mips0 +#endif bne $3, $5, done3 or $2, $6, 0 +#ifdef __linux__ + .set mips2 +#endif sc $2, 0($4) - bne $2, 1, retry3 +#ifdef __linux__ + .set mips0 +#endif + beqz $2, retry3 done3: .set reorder @@ -77,7 +147,7 @@ sltu $2,$3,1 END(opal_atomic_cmpset_rel_32) - +#ifdef __mips64 LEAF(opal_atomic_cmpset_64) .set noreorder retry4: @@ -85,7 +155,7 @@ bne $3, $5, done4 or $2, $6, 0 scd $2, 0($4) - bne $2, 1, retry4 + beqz $2, retry4 done4: .set reorder @@ -102,7 +172,7 @@ bne $3, $5, done5 or $2, $6, 0 scd $2, 0($4) - bne $2, 1, retry5 + beqz $2, retry5 done5: .set reorder sync @@ -120,7 +190,7 @@ bne $3, $5, done6 or $2, $6, 0 scd $2, 0($4) - bne $2, 1, retry6 + beqz $2, retry6 done6: .set reorder @@ -128,3 +198,4 @@ j ra sltu $3,$4,1 END(opal_atomic_cmpset_rel_64) +#endif /* __mips64 */ --- a/opal/include/opal/sys/mips/atomic.h +++ b/opal/include/opal/sys/mips/atomic.h @@ -23,10 +23,17 @@ #if OMPI_WANT_SMP_LOCKS /* BWB - FIX ME! */ +#ifdef __linux__ +#define MB() __asm__ __volatile__(".set mips2; sync; .set mips0": : :"memory") +#define RMB() __asm__ __volatile__(".set mips2; sync; .set mips0": : :"memory") +#define WMB() __asm__ __volatile__(".set mips2; sync; .set mips0": : :"memory") +#define SMP_SYNC ".set mips2; sync; .set mips0" +#else #define MB() __asm__ __volatile__("sync": : :"memory") #define RMB() __asm__ __volatile__("sync": : :"memory") #define WMB() __asm__ __volatile__("sync": : :"memory") #define SMP_SYNC "sync" +#endif #else @@ -46,8 +53,10 @@ #define OPAL_HAVE_ATOMIC_MEM_BARRIER 1 #define OPAL_HAVE_ATOMIC_CMPSET_32 1 -#define OPAL_HAVE_ATOMIC_CMPSET_64 1 +#ifdef __mips64 +#define OPAL_HAVE_ATOMIC_CMPSET_64 1 +#endif /********************************************************************** * @@ -94,10 +103,16 @@ __asm__ __volatile__ ("\t" ".set noreorder \n" "1: \n\t" +#ifdef __linux__ + ".set mips2 \n\t" +#endif "ll %0, %2 \n\t" /* load *addr into ret */ "bne %0, %3, 2f \n\t" /* done if oldval != ret */ "or %5, %4, 0 \n\t" /* ret = newval */ "sc %5, %2 \n\t" /* store ret in *addr */ +#ifdef __linux__ + ".set mips0 \n\t" +#endif /* note: ret will be 0 if failed, 1 if succeeded */ "bne %5, 1, 1b \n\t" "2: \n\t" @@ -133,7 +148,7 @@ return opal_atomic_cmpset_32(addr, oldval, newval); } - +#ifdef OPAL_HAVE_ATOMIC_CMPSET_64 static inline int opal_atomic_cmpset_64(volatile int64_t *addr, int64_t oldval, int64_t newval) { @@ -183,6 +198,7 @@ opal_atomic_wmb(); return opal_atomic_cmpset_64(addr, oldval, newval); } +#endif /* OPAL_HAVE_ATOMIC_CMPSET_64 */ #endif /* OMPI_GCC_INLINE_ASSEMBLY */ debian/patches/arm_support0000644000000000000000000002514111755462247013133 0ustar ## Description: Support building for arm ## Origin/Author: jani.monoses@canonical.com ## Bug: bug URL Index: openmpi-1.4.3/config/ompi_config_asm.m4 =================================================================== --- openmpi-1.4.3.orig/config/ompi_config_asm.m4 2011-01-06 14:07:27.000000000 +0200 +++ openmpi-1.4.3/config/ompi_config_asm.m4 2011-01-06 14:49:30.000000000 +0200 @@ -875,6 +875,12 @@ OMPI_GCC_INLINE_ASSIGN='"movl [$]0, %0" : "=&r"(ret)' ;; + arm*) + ompi_cv_asm_arch="ARM" + OMPI_ASM_SUPPORT_64BIT=1 + OMPI_GCC_INLINE_ASSIGN='"mov r0, 0" : "=&r"(ret)' + ;; + ia64-*) ompi_cv_asm_arch="IA64" OMPI_ASM_SUPPORT_64BIT=1 Index: openmpi-1.4.3/opal/include/opal/sys/Makefile.am =================================================================== --- openmpi-1.4.3.orig/opal/include/opal/sys/Makefile.am 2011-01-06 14:07:27.000000000 +0200 +++ openmpi-1.4.3/opal/include/opal/sys/Makefile.am 2011-01-06 14:49:30.000000000 +0200 @@ -27,6 +27,7 @@ include opal/sys/alpha/Makefile.am include opal/sys/amd64/Makefile.am +include opal/sys/arm/Makefile.am include opal/sys/ia32/Makefile.am include opal/sys/ia64/Makefile.am include opal/sys/mips/Makefile.am Index: openmpi-1.4.3/opal/include/opal/sys/architecture.h =================================================================== --- openmpi-1.4.3.orig/opal/include/opal/sys/architecture.h 2011-01-06 14:07:27.000000000 +0200 +++ openmpi-1.4.3/opal/include/opal/sys/architecture.h 2011-01-06 14:49:30.000000000 +0200 @@ -36,6 +36,7 @@ #define OMPI_SPARCV9_32 0061 #define OMPI_SPARCV9_64 0062 #define OMPI_MIPS 0070 +#define OMPI_ARM 0100 /* Formats */ #define OMPI_DEFAULT 1000 /* standard for given architecture */ Index: openmpi-1.4.3/opal/include/opal/sys/arm/Makefile.am =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 +++ openmpi-1.4.3/opal/include/opal/sys/arm/Makefile.am 2011-01-06 14:49:30.000000000 +0200 @@ -0,0 +1,23 @@ +# +# Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana +# University Research and Technology +# Corporation. All rights reserved. +# Copyright (c) 2004-2005 The University of Tennessee and The University +# of Tennessee Research Foundation. All rights +# reserved. +# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, +# University of Stuttgart. All rights reserved. +# Copyright (c) 2004-2005 The Regents of the University of California. +# All rights reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# + +# This makefile.am does not stand on its own - it is included from opal/include/Makefile.am + +headers += \ + opal/sys/arm/atomic.h \ + opal/sys/arm/timer.h Index: openmpi-1.4.3/opal/include/opal/sys/arm/atomic.h =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 +++ openmpi-1.4.3/opal/include/opal/sys/arm/atomic.h 2011-01-06 14:49:30.000000000 +0200 @@ -0,0 +1,163 @@ +/* + * Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana + * University Research and Technology + * Corporation. All rights reserved. + * Copyright (c) 2004-2005 The University of Tennessee and The University + * of Tennessee Research Foundation. All rights + * reserved. + * Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, + * University of Stuttgart. All rights reserved. + * Copyright (c) 2004-2005 The Regents of the University of California. + * All rights reserved. + * $COPYRIGHT$ + * + * Additional copyrights may follow + * + * $HEADER$ + */ + +#ifndef OMPI_SYS_ARCH_ATOMIC_H +#define OMPI_SYS_ARCH_ATOMIC_H 1 + +/* + * On armv7, everything is load-locked, store-conditional... + */ + +#if OMPI_WANT_SMP_LOCKS +#define MB() __sync_synchronize(); +#define RMB() MB() +#define WMB() MB(); + +#else + +#define MB() +#define RMB() +#define WMB() + +#endif + + +/********************************************************************** + * + * Define constants for ARM + * + *********************************************************************/ +#define OPAL_HAVE_ATOMIC_MEM_BARRIER 1 + +#define OPAL_HAVE_ATOMIC_CMPSET_32 1 +#define OPAL_HAVE_ATOMIC_MATH_32 1 +#define OPAL_HAVE_ATOMIC_ADD_32 1 +#define OPAL_HAVE_ATOMIC_SUB_32 1 + +#define OPAL_HAVE_ATOMIC_CMPSET_64 0 +#define OPAL_HAVE_ATOMIC_MATH_64 0 +#define OPAL_HAVE_ATOMIC_ADD_64 0 +#define OPAL_HAVE_ATOMIC_SUB_64 0 + +/********************************************************************** + * + * Memory Barriers + * + *********************************************************************/ + +static inline void opal_atomic_mb(void) +{ + MB(); +} + + +static inline void opal_atomic_rmb(void) +{ + RMB(); +} + + +static inline void opal_atomic_wmb(void) +{ + WMB(); +} + + +/********************************************************************** + * + * Atomic math operations + * + *********************************************************************/ + +static inline int opal_atomic_cmpset_32( volatile int32_t *addr, + int32_t oldval, int32_t newval) +{ + return __sync_bool_compare_and_swap(addr, oldval, newval); +} + +static inline int opal_atomic_cmpset_acq_32(volatile int32_t *addr, + int32_t oldval, + int32_t newval) +{ + int rc; + + rc = opal_atomic_cmpset_32(addr, oldval, newval); + opal_atomic_rmb(); + + return rc; +} + + +static inline int opal_atomic_cmpset_rel_32(volatile int32_t *addr, + int32_t oldval, + int32_t newval) +{ + opal_atomic_wmb(); + return opal_atomic_cmpset_32(addr, oldval, newval); +} + + +static inline int opal_atomic_cmpset_64( volatile int64_t *addr, + int64_t oldval, int64_t newval) +{ + return __sync_bool_compare_and_swap(addr, oldval, newval); +} + + +static inline int opal_atomic_cmpset_acq_64(volatile int64_t *addr, + int64_t oldval, + int64_t newval) +{ + int rc; + + rc = opal_atomic_cmpset_64(addr, oldval, newval); + opal_atomic_rmb(); + + return rc; +} + + +static inline int opal_atomic_cmpset_rel_64(volatile int64_t *addr, + int64_t oldval, + int64_t newval) +{ + opal_atomic_wmb(); + return opal_atomic_cmpset_64(addr, oldval, newval); +} + +static inline int32_t opal_atomic_add_32(volatile int32_t* v, int inc) +{ + return __sync_add_and_fetch(v, inc); +} + +static inline int64_t opal_atomic_sub_64(volatile int64_t* v, int64_t dec) +{ + return __sync_sub_and_fetch(v, dec); +} + +static inline int64_t opal_atomic_add_64(volatile int64_t* v, int64_t inc) +{ + return __sync_add_and_fetch(v, inc); +} + + +static inline int32_t opal_atomic_sub_32(volatile int32_t* v, int dec) +{ + return __sync_sub_and_fetch(v, dec); +} +#endif /* ! OMPI_SYS_ARCH_ATOMIC_H */ Index: openmpi-1.4.3/opal/include/opal/sys/atomic.h =================================================================== --- openmpi-1.4.3.orig/opal/include/opal/sys/atomic.h 2011-01-06 14:07:27.000000000 +0200 +++ openmpi-1.4.3/opal/include/opal/sys/atomic.h 2011-01-06 14:49:30.000000000 +0200 @@ -148,6 +148,8 @@ #include "opal/sys/alpha/atomic.h" #elif OMPI_ASSEMBLY_ARCH == OMPI_AMD64 #include "opal/sys/amd64/atomic.h" +#elif OMPI_ASSEMBLY_ARCH == OMPI_ARM +#include "opal/sys/arm/atomic.h" #elif OMPI_ASSEMBLY_ARCH == OMPI_IA32 #include "opal/sys/ia32/atomic.h" #elif OMPI_ASSEMBLY_ARCH == OMPI_IA64 Index: openmpi-1.4.3/opal/include/opal/sys/arm/timer.h =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 +++ openmpi-1.4.3/opal/include/opal/sys/arm/timer.h 2011-01-06 14:49:50.000000000 +0200 @@ -0,0 +1,32 @@ +/* + * Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana + * University Research and Technology + * Corporation. All rights reserved. + * Copyright (c) 2004-2005 The University of Tennessee and The University + * of Tennessee Research Foundation. All rights + * reserved. + * Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, + * University of Stuttgart. All rights reserved. + * Copyright (c) 2004-2005 The Regents of the University of California. + * All rights reserved. + * $COPYRIGHT$ + * + * Additional copyrights may follow + * + * $HEADER$ + */ + +#ifndef OMPI_SYS_ARCH_TIMER_H +#define OMPI_SYS_ARCH_TIMER_H 1 + +#define OPAL_HAVE_SYS_TIMER_GET_CYCLES 1 + +typedef uint64_t opal_timer_t; + +static inline opal_timer_t +opal_sys_timer_get_cycles(void) +{ + return 0; +} + +#endif /* ! OMPI_SYS_ARCH_TIMER_H */ Index: openmpi-1.4.3/opal/include/opal/sys/timer.h =================================================================== --- openmpi-1.4.3.orig/opal/include/opal/sys/timer.h 2011-01-06 14:07:27.000000000 +0200 +++ openmpi-1.4.3/opal/include/opal/sys/timer.h 2011-01-06 14:49:30.000000000 +0200 @@ -81,6 +81,8 @@ /* don't include system-level gorp when generating doxygen files */ #elif OMPI_ASSEMBLY_ARCH == OMPI_AMD64 #include "opal/sys/amd64/timer.h" +#elif OMPI_ASSEMBLY_ARCH == OMPI_ARM +#include "opal/sys/arm/timer.h" #elif OMPI_ASSEMBLY_ARCH == OMPI_IA32 #include "opal/sys/ia32/timer.h" #elif OMPI_ASSEMBLY_ARCH == OMPI_IA64 Index: openmpi-1.4.3/opal/mca/timer/linux/configure.m4 =================================================================== --- openmpi-1.4.3.orig/opal/mca/timer/linux/configure.m4 2011-01-06 14:07:26.000000000 +0200 +++ openmpi-1.4.3/opal/mca/timer/linux/configure.m4 2011-01-06 14:49:30.000000000 +0200 @@ -42,7 +42,7 @@ [timer_linux_happy="no"])]) case "${host}" in - i?86-*linux*|x86_64*linux*|ia64-*linux*|powerpc-*linux*|powerpc64-*linux*|sparc*-*linux*) + i?86-*linux*|x86_64*linux*|ia64-*linux*|powerpc-*linux*|powerpc64-*linux*|sparc*-*linux*|arm*-*linux*) AS_IF([test "$timer_linux_happy" = "yes"], [AS_IF([test -r "/proc/cpuinfo"], [timer_linux_happy="yes"], debian/patches/basic-arm64-support.diff0000644000000000000000000002336312257026617015210 0ustar From 2070e8d9dd894da7d5f188c752212d2b2ac6c3c4 Mon Sep 17 00:00:00 2001 From: Leif Lindholm Date: Wed, 16 Oct 2013 14:16:00 +0100 Subject: [PATCH] Basic arm64 support. --- opal/config/opal_config_asm.m4 | 6 ++ opal/include/opal/sys/Makefile.am | 1 + opal/include/opal/sys/arm64/Makefile.am | 24 +++++ opal/include/opal/sys/arm64/atomic.h | 169 +++++++++++++++++++++++++++++++ opal/include/opal/sys/arm64/timer.h | 33 ++++++ opal/include/opal/sys/atomic.h | 2 + 6 files changed, 235 insertions(+) create mode 100644 opal/include/opal/sys/arm64/Makefile.am create mode 100644 opal/include/opal/sys/arm64/atomic.h create mode 100644 opal/include/opal/sys/arm64/timer.h Index: b/opal/config/opal_config_asm.m4 =================================================================== --- a/opal/config/opal_config_asm.m4 +++ b/opal/config/opal_config_asm.m4 @@ -900,6 +900,12 @@ OMPI_GCC_INLINE_ASSIGN='"bis [$]31,[$]31,%0" : "=&r"(ret)' ;; + aarch64*) + ompi_cv_asm_arch="ARM64" + OPAL_ASM_SUPPORT_64BIT=1 + OMPI_GCC_INLINE_ASSIGN='"mov %0, #0" : "=&r"(ret)' + ;; + armv7*|arm-*-linux-gnueabihf) ompi_cv_asm_arch="ARM" OPAL_ASM_SUPPORT_64BIT=1 Index: b/opal/include/opal/sys/Makefile.am =================================================================== --- a/opal/include/opal/sys/Makefile.am +++ b/opal/include/opal/sys/Makefile.am @@ -28,6 +28,7 @@ include opal/sys/alpha/Makefile.am include opal/sys/amd64/Makefile.am include opal/sys/arm/Makefile.am +include opal/sys/arm64/Makefile.am include opal/sys/ia32/Makefile.am include opal/sys/ia64/Makefile.am include opal/sys/mips/Makefile.am Index: b/opal/include/opal/sys/arm64/Makefile.am =================================================================== --- /dev/null +++ b/opal/include/opal/sys/arm64/Makefile.am @@ -0,0 +1,24 @@ +# +# Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana +# University Research and Technology +# Corporation. All rights reserved. +# Copyright (c) 2004-2008 The University of Tennessee and The University +# of Tennessee Research Foundation. All rights +# reserved. +# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, +# University of Stuttgart. All rights reserved. +# Copyright (c) 2004-2005 The Regents of the University of California. +# All rights reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# + +# This makefile.am does not stand on its own - it is included from opal/include/Makefile.am + +headers += \ + opal/sys/arm64/atomic.h \ + opal/sys/arm64/timer.h + Index: b/opal/include/opal/sys/arm64/atomic.h =================================================================== --- /dev/null +++ b/opal/include/opal/sys/arm64/atomic.h @@ -0,0 +1,169 @@ +/* + * Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana + * University Research and Technology + * Corporation. All rights reserved. + * Copyright (c) 2004-2005 The University of Tennessee and The University + * of Tennessee Research Foundation. All rights + * reserved. + * Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, + * University of Stuttgart. All rights reserved. + * Copyright (c) 2004-2005 The Regents of the University of California. + * All rights reserved. + * Copyright (c) 2010 IBM Corporation. All rights reserved. + * Copyright (c) 2010 ARM ltd. All rights reserved. + * Copyright (c) 2013 Linaro ltd. All rights reserved. + * $COPYRIGHT$ + * + * Additional copyrights may follow + * + * $HEADER$ + */ + +#ifndef OMPI_SYS_ARCH_ATOMIC_H +#define OMPI_SYS_ARCH_ATOMIC_H 1 + +#if OPAL_WANT_SMP_LOCKS + +#define OPAL_HAVE_ATOMIC_MEM_BARRIER 1 + +#define MB() __asm__ __volatile__ ("dmb ish" : : : "memory") +#define RMB() __asm__ __volatile__ ("dmb ish" : : : "memory") +#define WMB() __asm__ __volatile__ ("dmb ish" : : : "memory") + +#else + +#define MB() +#define RMB() +#define WMB() + +#endif /* OPAL_WANT_SMP_LOCKS */ + + + +/********************************************************************** + * + * Memory Barriers + * + *********************************************************************/ + +#if (OPAL_HAVE_ATOMIC_MEM_BARRIER == 1) + +static inline +void opal_atomic_mb(void) +{ + MB(); +} + + +static inline +void opal_atomic_rmb(void) +{ + RMB(); +} + + +static inline +void opal_atomic_wmb(void) +{ + WMB(); +} + +#endif + + +/********************************************************************** + * + * Atomic math operations + * + *********************************************************************/ + +#define OPAL_HAVE_ATOMIC_CMPSET_32 1 +static inline int opal_atomic_cmpset_32(volatile int32_t *addr, + int32_t oldval, int32_t newval) +{ + int32_t ret; + int32_t tmp; + + __asm__ __volatile__ ( + "1: ldxr %w0, [%2] \n" + " cmp %w0, %w3 \n" + " bne 2f \n" + " stxr %w1, %w4, [%2] \n" + " cmp %w1, #0 \n" + " bne 1b \n" + "2: \n" + + : "=&r" (ret), "=&r" (tmp) + : "r" (addr), "r" (oldval), "r" (newval) + : "cc", "memory"); + + return (ret == oldval); +} + +static inline int opal_atomic_cmpset_acq_32(volatile int32_t *addr, + int32_t oldval, int32_t newval) +{ + int rc; + + rc = opal_atomic_cmpset_32(addr, oldval, newval); + opal_atomic_rmb(); + + return rc; +} + + +static inline int opal_atomic_cmpset_rel_32(volatile int32_t *addr, + int32_t oldval, int32_t newval) +{ + opal_atomic_wmb(); + return opal_atomic_cmpset_32(addr, oldval, newval); +} + +#define OPAL_HAVE_ATOMIC_CMPSET_64 1 +static inline int opal_atomic_cmpset_64(volatile int64_t *addr, + int64_t oldval, int64_t newval) +{ + int64_t ret; + int32_t tmp; + + __asm__ __volatile__ ( + "1: ldxr %0, [%2] \n" + " cmp %0, %3 \n" + " bne 2f \n" + " stxr %w1, %4, [%2] \n" + " cmp %w1, #0 \n" + " bne 1b \n" + "2: \n" + + : "=&r" (ret), "=&r" (tmp) + : "r" (addr), "r" (oldval), "r" (newval) + : "cc", "memory"); + + return (ret == oldval); +} + +/* these two functions aren't inlined in the non-gcc case because then + there would be two function calls (since neither cmpset_64 nor + atomic_?mb can be inlined). Instead, we "inline" them by hand in + the assembly, meaning there is one function call overhead instead + of two */ +static inline int opal_atomic_cmpset_acq_64(volatile int64_t *addr, + int64_t oldval, int64_t newval) +{ + int rc; + + rc = opal_atomic_cmpset_64(addr, oldval, newval); + opal_atomic_rmb(); + + return rc; +} + + +static inline int opal_atomic_cmpset_rel_64(volatile int64_t *addr, + int64_t oldval, int64_t newval) +{ + opal_atomic_wmb(); + return opal_atomic_cmpset_64(addr, oldval, newval); +} + +#endif /* ! OMPI_SYS_ARCH_ATOMIC_H */ Index: b/opal/include/opal/sys/arm64/timer.h =================================================================== --- /dev/null +++ b/opal/include/opal/sys/arm64/timer.h @@ -0,0 +1,33 @@ +/* + * Copyright (c) 2008 The University of Tennessee and The University + * of Tennessee Research Foundation. All rights + * reserved. + * $COPYRIGHT$ + * + * Additional copyrights may follow + * + * $HEADER$ + */ + +#ifndef OMPI_SYS_ARCH_TIMER_H +#define OMPI_SYS_ARCH_TIMER_H 1 + +#include + +typedef uint64_t opal_timer_t; + +static inline opal_timer_t +opal_sys_timer_get_cycles(void) +{ + opal_timer_t ret; + struct tms accurate_clock; + + times(&accurate_clock); + ret = accurate_clock.tms_utime + accurate_clock.tms_stime; + + return ret; +} + +#define OPAL_HAVE_SYS_TIMER_GET_CYCLES 1 + +#endif /* ! OMPI_SYS_ARCH_TIMER_H */ Index: b/opal/include/opal/sys/atomic.h =================================================================== --- a/opal/include/opal/sys/atomic.h +++ b/opal/include/opal/sys/atomic.h @@ -148,6 +148,8 @@ #include "opal/sys/amd64/atomic.h" #elif OPAL_ASSEMBLY_ARCH == OMPI_ARM #include "opal/sys/arm/atomic.h" +#elif OPAL_ASSEMBLY_ARCH == OMPI_ARM64 +#include "opal/sys/arm64/atomic.h" #elif OPAL_ASSEMBLY_ARCH == OMPI_IA32 #include "opal/sys/ia32/atomic.h" #elif OPAL_ASSEMBLY_ARCH == OMPI_IA64 Index: b/opal/include/opal/sys/timer.h =================================================================== --- a/opal/include/opal/sys/timer.h +++ b/opal/include/opal/sys/timer.h @@ -81,6 +81,8 @@ #include "opal/sys/amd64/timer.h" #elif OPAL_ASSEMBLY_ARCH == OMPI_ARM #include "opal/sys/arm/timer.h" +#elif OPAL_ASSEMBLY_ARCH == OMPI_ARM64 +#include "opal/sys/arm64/timer.h" #elif OPAL_ASSEMBLY_ARCH == OMPI_IA32 #include "opal/sys/ia32/timer.h" #elif OPAL_ASSEMBLY_ARCH == OMPI_IA64 debian/patches/mips-support-fix.diff0000644000000000000000000000341312252365206014721 0ustar Description: Patch resolve issue of misinterpretation of assembler code from MIPS.asm and fix mips64(el) assembler code. Author: Jurica Stanojkovic --- openmpi-1.6.5.orig/opal/asm/base/MIPS.asm +++ openmpi-1.6.5/opal/asm/base/MIPS.asm @@ -68,11 +68,11 @@ retry1: #endif beqz $2, retry1 done1: - .set reorder xor $3,$3,$5 j ra sltu $2,$3,1 + .set reorder END(opal_atomic_cmpset_32) @@ -104,11 +104,11 @@ done2: #ifdef __linux__ .set mips0 #endif - .set reorder xor $3,$3,$5 j ra sltu $2,$3,1 + .set reorder END(opal_atomic_cmpset_acq_32) @@ -140,16 +140,16 @@ retry3: #endif beqz $2, retry3 done3: - .set reorder xor $3,$3,$5 j ra sltu $2,$3,1 + .set reorder END(opal_atomic_cmpset_rel_32) #ifdef __mips64 LEAF(opal_atomic_cmpset_64) - .set noreorder + .set noreorder retry4: lld $3, 0($4) bne $3, $5, done4 @@ -157,11 +157,11 @@ retry4: scd $2, 0($4) beqz $2, retry4 done4: - .set reorder - xor $4,$3,$5 + xor $3,$3,$5 j ra - sltu $3,$4,1 + sltu $2,$3,1 + .set reorder END(opal_atomic_cmpset_64) @@ -174,11 +174,11 @@ retry5: scd $2, 0($4) beqz $2, retry5 done5: - .set reorder sync - xor $4,$3,$5 + xor $3,$3,$5 j ra - sltu $3,$4,1 + sltu $2,$3,1 + .set reorder END(opal_atomic_cmpset_acq_64) @@ -192,10 +192,10 @@ retry6: scd $2, 0($4) beqz $2, retry6 done6: - .set reorder - xor $4,$3,$5 + xor $3,$3,$5 j ra - sltu $3,$4,1 + sltu $2,$3,1 + .set reorder END(opal_atomic_cmpset_rel_64) #endif /* __mips64 */ debian/patches/fix-testsuite-compile0000644000000000000000000000051512203733726015011 0ustar --- ./ompi/debuggers/Makefile.am.orig 2013-08-17 14:22:15.400508429 +0200 +++ ./ompi/debuggers/Makefile.am 2013-08-17 14:22:23.472550111 +0200 @@ -21,9 +21,6 @@ pkglib_LTLIBRARIES = libompi_dbg_msgq.la check_PROGRAMS = predefined_gap_test -if OPAL_HAVE_DLOPEN -check_PROGRAMS += dlopen_test -endif TESTS = $(check_PROGRAMS) debian/patches/fix-fakeroot-execution.patch0000644000000000000000000000350711755462247016257 0ustar Description: If running under Debian fakeroot then its important that this hook is disabled; a new stat check was introduced in 1.5.x which preceeds the FAKEROOT check resulting in a SEGFAULT. Author: James Page Origin: https://svn.open-mpi.org/trac/ompi/changeset/21489 Index: openmpi-1.5.4/opal/mca/memory/linux/hooks.c =================================================================== --- openmpi-1.5.4.orig/opal/mca/memory/linux/hooks.c 2012-02-15 12:59:39.986314651 +0000 +++ openmpi-1.5.4/opal/mca/memory/linux/hooks.c 2012-02-15 13:14:57.744722517 +0000 @@ -738,15 +738,6 @@ check_result_t r1, r2, lp, lpp; bool want_rcache = false, found_driver = false; - /* First, check if ummunotify is present on the system. If it is, - then we don't need to do the following ptmalloc2 hacks. - open/mmap on the device may fail during init, but if /dev/ummunotify - exists, we assume that the user/administrator *wants* to use - ummunotify. */ - if (stat("/dev/ummunotify", &st) == 0) { - return; - } - /* Yes, checking for an MPI MCA parameter here is an abstraction violation. Cope. Yes, even checking for *any* MCA parameter here (without going through the MCA param API) is an @@ -769,6 +760,15 @@ return; } + /* Next, check if ummunotify is present on the system. If it is, + then we don't need to do the following ptmalloc2 hacks. + open/mmap on the device may fail during init, but if /dev/ummunotify + exists, we assume that the user/administrator *wants* to use + ummunotify. */ + if (stat("/dev/ummunotify", &st) == 0) { + return; + } + /* Look for sentinel files (directories) to see if various network drivers are loaded (yes, I know, further abstraction violations...). debian/patches/mips-detection.diff0000644000000000000000000000260712252365206014403 0ustar Description: Support detection of mips, mipsel, mips64, mips64el architectures Author: Jurica Stanojkovic --- openmpi-1.6.5.orig/configure +++ openmpi-1.6.5/configure @@ -27231,8 +27231,13 @@ _ACEOF OMPI_GCC_INLINE_ASSIGN='"mov %0, #0" : "=&r"(ret)' ;; - mips-*|mips64*) - # Should really find some way to make sure that we are on + mips-*|mipsel-*) + ompi_cv_asm_arch="MIPS" + OPAL_ASM_SUPPORT_64BIT=0 + OMPI_GCC_INLINE_ASSIGN='"or %0,$0,$0" : "=&r"(ret)' + ;; + + mips64-*|mips64el-*) # a MIPS III machine (r4000 and later) ompi_cv_asm_arch="MIPS" OPAL_ASM_SUPPORT_64BIT=1 --- openmpi-1.6.5.orig/opal/config/opal_config_asm.m4 +++ openmpi-1.6.5/opal/config/opal_config_asm.m4 @@ -930,8 +930,13 @@ AC_DEFUN([OMPI_CONFIG_ASM],[ OMPI_GCC_INLINE_ASSIGN='"mov %0, #0" : "=&r"(ret)' ;; - mips-*|mips64*) - # Should really find some way to make sure that we are on + mips-*|mipsel-*) + ompi_cv_asm_arch="MIPS" + OPAL_ASM_SUPPORT_64BIT=0 + OMPI_GCC_INLINE_ASSIGN='"or %0,[$]0,[$]0" : "=&r"(ret)' + ;; + + mips64-*|mips64el-*) # a MIPS III machine (r4000 and later) ompi_cv_asm_arch="MIPS" OPAL_ASM_SUPPORT_64BIT=1 debian/openmpi-common.install0000644000000000000000000000017512153611177013522 0ustar ## Aggregate MCA (AMCA) Parameter Sets usr/share/openmpi/amca-param-sets/* ## Help files and other stuff usr/share/openmpi/* debian/watch0000644000000000000000000000012511755462726010234 0ustar version=3 http://www.open-mpi.org/software/ompi/v1.6/ .*/openmpi-([\d+\.]+)\.tar\.gz debian/libopenmpi1.6.links0000644000000000000000000000231212257027053012614 0ustar # Compatibility links to /usr/bin usr/lib/openmpi/lib/libmca_common_sm.so.3.0.1 usr/lib/libmca_common_sm.so.3.0.1 usr/lib/openmpi/lib/libmpi_cxx.so.1.0.2 usr/lib/libmpi_cxx.so.1.0.2 usr/lib/openmpi/lib/libmpi_f77.so.1.0.7 usr/lib/libmpi_f77.so.1.0.7 usr/lib/openmpi/lib/libmpi_f90.so.1.3.0 usr/lib/libmpi_f90.so.1.3.0 usr/lib/openmpi/lib/libmpi.so.1.0.8 usr/lib/libmpi.so.1.0.8 usr/lib/openmpi/lib/libompitrace.so.0.0.0 usr/lib/libompitrace.so.0.0.0 usr/lib/openmpi/lib/libopen-pal.so.4.0.5 usr/lib/libopen-pal.so.4.0.5 usr/lib/openmpi/lib/libopen-rte.so.4.0.3 usr/lib/libopen-rte.so.4.0.3 # SONAME symlinks usr/lib/libmca_common_sm.so.3.0.0 usr/lib/libmca_common_sm.so.3 usr/lib/libmpi_cxx.so.1.0.2 usr/lib/libmpi_cxx.so.1 usr/lib/libmpi_f77.so.1.0.7 usr/lib/libmpi_f77.so.1 usr/lib/libmpi_f90.so.1.3.0 usr/lib/libmpi_f90.so.1 usr/lib/libmpi.so.1.0.8 usr/lib/libmpi.so.1 usr/lib/libompitrace.so.0.0.0 usr/lib/libompitrace.so.0 usr/lib/libopen-pal.so.4.0.5 usr/lib/libopen-pal.so.5 usr/lib/libopen-rte.so.4.0.3 usr/lib/libopen-rte.so.4 debian/libopenmpi-dev.links0000644000000000000000000000166212247661261013156 0ustar ## Man pages (link provided by upstream, needs recreation because of renaming): usr/share/man/man1/mpic++.openmpi.1 usr/share/man/man1/mpiCC.openmpi.1 # Missing links usr/share/man/man1/opal_wrapper.1 usr/share/man/man1/opalCC.1 usr/share/man/man1/opal_wrapper.1 usr/share/man/man1/opalc++.1 usr/share/man/man1/opal_wrapper.1 usr/share/man/man1/orteCC.1 usr/share/man/man1/opal_wrapper.1 usr/share/man/man1/ortec++.1 usr/share/man/man1/opal_wrapper.1 usr/share/man/man1/ortecc.1 ## SONAME symlinks usr/lib/libmca_common_sm.so.3 usr/lib/libmca_common_sm.so usr/lib/libmpi_cxx.so.1 usr/lib/libmpi_cxx.so usr/lib/libmpi_f77.so.1 usr/lib/libmpi_f77.so usr/lib/libmpi_f90.so.1 usr/lib/libmpi_f90.so usr/lib/libompitrace.so.0 usr/lib/libompitrace.so usr/lib/libopen-pal.so.4 usr/lib/libopen-pal.so usr/lib/libopen-rte.so.4 usr/lib/libopen-rte.so ## Convenience link for header files, see bug #493875 usr/lib/openmpi/include/ usr/include/openmpi debian/rules0000755000000000000000000000623412257026617010263 0ustar #!/usr/bin/make -f # export DH_VERBOSE=1 DPKG_EXPORT_BUILDFLAGS = 1 include /usr/share/dpkg/buildflags.mk ifeq (sparc,$(DEB_HOST_GNU_CPU)) CFLAGS += -mcpu=v9 endif # BLCR checkpointing support BLCR_ARCH := "amd64 armel armhf i386 powerpc" ifneq (,$(findstring $(DEB_HOST_ARCH),$(BLCR_ARCH))) CHKPT = --enable-ft-thread --with-ft=cr --with-blcr=/usr --with-blcr-libdir=/usr/lib endif # Memory affinity support NUMA_ARCH := "amd64 i386 ia64 mips mipsel powerpc" ifneq (,$(findstring $(DEB_HOST_ARCH),$(NUMA_ARCH))) NUMA = --with-libnuma=/usr --with-libnuma-libdir=/usr/lib endif # Flags for the static build: see bug #502232 #STATIC_CONFIG_PARAMS = --enable-static # Enable MPI thread support (user request, see #602132). Progress threads are known # to not work, so we do not enable them until they are supported. MPI_THREADS := --with-threads=posix --enable-opal-multi-threads %: dh $@ --parallel #--with autotools_dev override_dh_auto_configure: ./autogen.sh dh_auto_configure -- \ $(CHKPT) $(NUMA) $(TORQUE) \ $(MPI_THREADS) \ --disable-silent-rules \ --with-hwloc=/usr/ \ --with-libltdl=external \ --with-devel-headers \ --with-slurm \ --with-sge \ --enable-heterogeneous \ --disable-vt \ --sysconfdir=/etc/openmpi \ --libdir=\$${prefix}/lib/openmpi/lib \ --includedir=\$${prefix}/lib/openmpi/include override_dh_install: # Strip rpath info from all executables and libraries. find debian/tmp/ -type f -perm -+x -a ! -name '*.la' -a ! -name '*.mod' -exec chrpath -d '{}' \; # Rename the compiler and startup wrappers. ## for f in mpic++ mpicc mpiCC mpicxx mpiexec mpif77 mpif90 mpirun opalc++ opalcc ortec++ ortecc orteCC ; do \ ## for f in mpic++ mpicc mpiCC mpicxx mpiexec mpif77 mpif90 mpirun ; do \ if test -f debian/tmp/usr/bin/$${f}; then \ mv debian/tmp/usr/bin/$${f} debian/tmp/usr/bin/$${f}.openmpi ; \ fi; \ done # Rename the compiler wrapper man pages. for f in mpic++ mpicc mpicxx mpiexec mpif77 mpif90 mpirun ; do \ if test -f debian/tmp/usr/share/man/man1/$${f}.1; then \ mv debian/tmp/usr/share/man/man1/$${f}.1 debian/tmp/usr/share/man/man1/$${f}.openmpi.1 ; \ fi; \ if test -f debian/tmp/usr/share/man/man1/$${f}.3; then \ mv debian/tmp/usr/share/man/man3/$${f}.3 debian/tmp/usr/share/man/man1/$${f}.openmpi.3 ; \ fi; \ done cd debian/tmp/usr/share/man/man3; \ for f in *.3; do \ mv $$f $$(echo $$f|sed -e "s|\.3|.openmpi.3|g"); \ done; \ # Rename orte-bootproxy.sh to orte-bootproxy if test -f debian/tmp/usr/bin/orte-bootproxy.sh; then \ mv debian/tmp/usr/bin/orte-bootproxy.sh debian/tmp/usr/bin/orte-bootproxy; \ fi # Remove dangling symlink(s) rm -f debian/tmp/usr/share/man/man1/mpiCC.1 rm -f debian/tmp/usr/share/man/man1/orteCC.1 # Remove COPYRIGHT file of ptmalloc2. It's reproduced in debian/copyright. rm -f -r debian/tmp/usr/share/openmpi/doc/ # Continue as usual dh_install override_dh_fixperms: chmod 0644 debian/tmp/usr/lib/openmpi/lib/mpi.mod dh_fixperms override_dh_installdocs: dh_installdocs --all AUTHORS NEWS README override_dh_shlibdeps: dh_shlibdeps -l$(CURDIR)/debian/tmp/usr/lib/openmpi/lib -- --ignore-missing-info override_dh_strip: dh_strip --dbg-package=libopenmpi1.6-dbg debian/openmpi-bin.manpages0000644000000000000000000000133112153611177013122 0ustar debian/tmp/usr/share/man/man1/ompi-clean.1 debian/tmp/usr/share/man/man1/ompi_info.1 debian/tmp/usr/share/man/man1/ompi-iof.1 debian/tmp/usr/share/man/man1/ompi-probe.1 debian/tmp/usr/share/man/man1/ompi-profiler.1 debian/tmp/usr/share/man/man1/ompi-ps.1 debian/tmp/usr/share/man/man1/ompi-server.1 debian/tmp/usr/share/man/man1/ompi-top.1 debian/tmp/usr/share/man/man1/orte-clean.1 debian/tmp/usr/share/man/man1/orted.1 debian/tmp/usr/share/man/man1/orte-iof.1 debian/tmp/usr/share/man/man1/orte-ps.1 debian/tmp/usr/share/man/man1/orte-top.1 # Note: Those are identical and could by symlinked debian/tmp/usr/share/man/man1/orterun.1 debian/tmp/usr/share/man/man1/mpiexec.openmpi.1 debian/tmp/usr/share/man/man1/mpirun.openmpi.1 debian/openmpi-bin.README.Debian0000644000000000000000000000415112153611177013450 0ustar Open MPI for Debian ------------------- InfiniBand support ------------------ This section provides information about warning messages when OpenFabrics hardware isn't present. This is fixed since version 1.2.6-3. The information provided here is only for historical reasons. InfiniBand support is build into the package and enabled by default. On systems that don't have InfiniBand, a warning like this will be issued: libibverbs: Fatal: couldn't read uverbs ABI version. -------------------------------------------------------------------------- [0,1,2]: OpenIB on host xyz was unable to find any HCAs. Another transport will be used instead, although this may result in lower performance. -------------------------------------------------------------------------- To get rid of the warning, you can either disable the use of the "openib" BTL in /etc/openmpi/openmpi-mca-params.conf by adding a line that reads btl = ^openib or pass "--mca btl ^openib" to mpirun or mpiexec. Please see http://bugs.debian.org/439730 for a discussion on that topic. Thread support -------------- Thread support was enabled until package version 1.2.3-3. It is known to be broken in upstream and led to segfaults on several architectures. We disabled threading for this reason in 1.2.3-4 and will re-enable it as soon as it is known to be working, probably in the 1.3 branch of Open MPI. Please see http://bugs.debian.org/435581 for a discussion of this issue. MPI Alternatives ---------------- The current Open MPI version of Debian uses the Debian Alternatives system. Open MPI is considered the default MPI implementation in Debian. MPICH2 is also available. You can check which MPI is the default on your system with update-alternatives --list mpirun and list all installed implementations with update-alternatives --display mpirun If you have several implementations installed and Open MPI is not the default on your system, you can enable it explicitly with update-alternatives --set mpirun /usr/bin/mpirun.openmpi -- Debian Open MPI Team , Tue, 05 Jan 2010 14:17:49 +0100 debian/copyright0000644000000000000000000001641512046447372011141 0ustar This package was debianized by Florian Ragwitz on Fri, 6 Jan 2006 15:13:31 +0100. It was downloaded from http://open-mpi.org/ Copyright Holder: Copyright (c) 2004-2010 The Trustees of Indiana University and Indiana University Research and Technology Corporation. All rights reserved. Copyright (c) 2004-2010 The University of Tennessee and The University of Tennessee Research Foundation. All rights reserved. Copyright (c) 2004-2010 High Performance Computing Center Stuttgart, University of Stuttgart. All rights reserved. Copyright (c) 2004-2008 The Regents of the University of California. All rights reserved. Copyright (c) 2006-2010 Los Alamos National Security, LLC. All rights reserved. Copyright (c) 2006-2010 Cisco Systems, Inc. All rights reserved. Copyright (c) 2006-2010 Voltaire, Inc. All rights reserved. Copyright (c) 2006-2010 Sandia National Laboratories. All rights reserved. Copyright (c) 2006-2010 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Copyright (c) 2006-2010 The University of Houston. All rights reserved. Copyright (c) 2006-2009 Myricom, Inc. All rights reserved. Copyright (c) 2007-2008 UT-Battelle, LLC. All rights reserved. Copyright (c) 2007-2008 IBM Corporation. All rights reserved. Copyright (c) 1998-2005 Forschungszentrum Juelich, Juelich Supercomputing Centre, Federal Republic of Germany Copyright (c) 2005-2008 ZIH, TU Dresden, Federal Republic of Germany Copyright (c) 2007 Evergrid, Inc. All rights reserved. Copyright (c) 2008 Institut National de Recherche en Informatique. All rights reserved. Copyright (c) 2007 Lawrence Livermore National Security, LLC. All rights reserved. Copyright (c) 2007-2009 Mellanox Technologies. All rights reserved. Copyright (c) 2006-2010 QLogic Corporation. All rights reserved. Copyright (c) 2008-2010 Oak Ridge National Labs. All rights reserved. Copyright (c) 2006-2010 Oracle and/or its affiliates. All rights reserved. Copyright (c) 2009 Bull SAS. All rights reserved. Copyright (c) 2010 ARM ltd. All rights reserved. License: Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. - Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer listed in this license in the documentation and/or other materials provided with the distribution. - Neither the name of the copyright holders nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. The copyright holders provide no reassurances that the source code provided does not infringe any patent, copyright, or any other intellectual property rights of third parties. The copyright holders disclaim any liability to any recipient for claims brought against recipient by any third party for infringement of that parties intellectual property rights. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ROMIO (Files under ./ompi/mca/io/romio/romio/) ===== COPYRIGHT The following is a notice of limited availability of the code and disclaimer, which must be included in the prologue of the code and in all source listings of the code. Copyright (C) 1997 University of Chicago Permission is hereby granted to use, reproduce, prepare derivative works, and to redistribute to others. The University of Chicago makes no representations as to the suitability, operability, accuracy, or correctness of this software for any purpose. It is provided "as is" without express or implied warranty. This software was authored by: Rajeev Thakur: (630) 252-1682; thakur@mcs.anl.gov Mathematics and Computer Science Division Argonne National Laboratory, Argonne IL 60439, USA GOVERNMENT LICENSE Portions of this material resulted from work developed under a U.S. Government Contract and are subject to the following license: the Government is granted for itself and others acting on its behalf a paid-up, nonexclusive, irrevocable worldwide license in this computer software to reproduce, prepare derivative works, and perform publicly and display publicly. ptmalloc2 (Files under ./opal/mca/memory/ptmalloc2/) ========= Copyright (C) 2001 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Wolfram Gloger , 2001. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. The GNU C Library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. On Debian systems, the complete text of the GNU Library General Public License can be found in /usr/share/common-licenses/LGPL-2. GNU Libltdl =========== Copyright Holder: Copyright (C) 1998-2007 Free Software Foundation, Inc. License: GNU Libltdl is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. As a special exception to the GNU Lesser General Public License, if you distribute this file as part of a program or library that is built using GNU Libtool, you may include this file under the same distribution terms that you use for the rest of that program. GNU Libltdl is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with GNU Libltdl; see the file COPYING.LIB. If not, a copy can be downloaded from http://www.gnu.org/licenses/lgpl.html, or obtained by writing to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. debian/openmpi-doc.install0000644000000000000000000000014312153611177012772 0ustar #usr/share/man/man7/orte_filem.7 #usr/share/man/man7/orte_hosts.7 #usr/share/man/man7/orte_snapc.7