summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--var/spack/packages/openmpi/configure.patch31
-rw-r--r--var/spack/packages/openmpi/package.py9
2 files changed, 40 insertions, 0 deletions
diff --git a/var/spack/packages/openmpi/configure.patch b/var/spack/packages/openmpi/configure.patch
new file mode 100644
index 0000000000..18fb42c1d1
--- /dev/null
+++ b/var/spack/packages/openmpi/configure.patch
@@ -0,0 +1,31 @@
+This patch addresses <https://github.com/open-mpi/ompi/issues/576>.
+--- a/configure
++++ b/configure
+@@ -301130,10 +301130,11 @@
+ case ${prev}${p} in
+
+ -L* | -R* | -l*)
+- # Some compilers place space between "-{L,R}" and the path.
++ # Some compilers place space between "-{L,R,l}" and the path.
+ # Remove the space.
+ if test $p = "-L" ||
+- test $p = "-R"; then
++ test $p = "-R" ||
++ test $p = "-l"; then
+ prev=$p
+ continue
+ fi
+@@ -303036,10 +303037,11 @@
+ case ${prev}${p} in
+
+ -L* | -R* | -l*)
+- # Some compilers place space between "-{L,R}" and the path.
++ # Some compilers place space between "-{L,R,l}" and the path.
+ # Remove the space.
+ if test $p = "-L" ||
+- test $p = "-R"; then
++ test $p = "-R" ||
++ test $p = "-l"; then
+ prev=$p
+ continue
+ fi
diff --git a/var/spack/packages/openmpi/package.py b/var/spack/packages/openmpi/package.py
index 5e429dedf5..be2202fbbd 100644
--- a/var/spack/packages/openmpi/package.py
+++ b/var/spack/packages/openmpi/package.py
@@ -14,6 +14,8 @@ class Openmpi(Package):
homepage = "http://www.open-mpi.org"
+ version('1.10.1', 'f0fcd77ed345b7eafb431968124ba16e',
+ url = "http://www.open-mpi.org/software/ompi/v1.10/downloads/openmpi-1.10.1.tar.bz2")
version('1.10.0', '280cf952de68369cebaca886c5ce0304',
url = "http://www.open-mpi.org/software/ompi/v1.10/downloads/openmpi-1.10.0.tar.bz2")
version('1.8.8', '0dab8e602372da1425e9242ae37faf8c',
@@ -23,10 +25,15 @@ class Openmpi(Package):
patch('ad_lustre_rwcontig_open_source.patch', when="@1.6.5")
patch('llnl-platforms.patch', when="@1.6.5")
+ patch('configure.patch', when="@1.10.0:")
provides('mpi@:2.2', when='@1.6.5') # Open MPI 1.6.5 supports MPI-2.2
provides('mpi@:3.0', when='@1.8.8') # Open MPI 1.8.8 supports MPI-3.0
provides('mpi@:3.0', when='@1.10.0') # Open MPI 1.10.0 supports MPI-3.0
+ provides('mpi@:3.0', when='@1.10.1') # Open MPI 1.10.1 supports MPI-3.0
+
+
+ depends_on('hwloc')
def setup_dependent_environment(self, module, spec, dep_spec):
@@ -40,6 +47,8 @@ class Openmpi(Package):
def install(self, spec, prefix):
config_args = ["--prefix=%s" % prefix]
+ config_args.append("--with-hwloc=%s" % spec['hwloc'].prefix)
+
# TODO: use variants for this, e.g. +lanl, +llnl, etc.
# use this for LANL builds, but for LLNL builds, we need:
# "--with-platform=contrib/platform/llnl/optimized"