Modify MPI installs to work without fortran.
This commit is contained in:
parent
c9fbba22a2
commit
2de2d4bea7
@ -137,9 +137,9 @@
|
|||||||
# TODO: it's not clear where all the stuff that needs to be included in packages
|
# TODO: it's not clear where all the stuff that needs to be included in packages
|
||||||
# should live. This file is overloaded for spack core vs. for packages.
|
# should live. This file is overloaded for spack core vs. for packages.
|
||||||
#
|
#
|
||||||
__all__ = ['Package', 'Version', 'when']
|
__all__ = ['Package', 'Version', 'when', 'ver']
|
||||||
from spack.package import Package
|
from spack.package import Package
|
||||||
from spack.version import Version
|
from spack.version import Version, ver
|
||||||
from spack.multimethod import when
|
from spack.multimethod import when
|
||||||
|
|
||||||
import llnl.util.filesystem
|
import llnl.util.filesystem
|
||||||
|
@ -38,8 +38,18 @@ class Mpich(Package):
|
|||||||
provides('mpi@:1', when='@1:')
|
provides('mpi@:1', when='@1:')
|
||||||
|
|
||||||
def install(self, spec, prefix):
|
def install(self, spec, prefix):
|
||||||
configure(
|
config_args = ["--prefix=" + prefix,
|
||||||
"--prefix=" + prefix,
|
"--enable-shared"]
|
||||||
"--enable-shared")
|
|
||||||
|
# TODO: Spack should make it so that you can't actually find
|
||||||
|
# these compilers if they're "disabled" for the current
|
||||||
|
# compiler configuration.
|
||||||
|
if not self.compiler.f77:
|
||||||
|
config_args.append("--disable-f77")
|
||||||
|
|
||||||
|
if not self.compiler.fc:
|
||||||
|
config_args.append("--disable-fc")
|
||||||
|
|
||||||
|
configure(*config_args)
|
||||||
make()
|
make()
|
||||||
make("install")
|
make("install")
|
||||||
|
@ -10,22 +10,32 @@ class Openmpi(Package):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
homepage = "http://www.open-mpi.org"
|
homepage = "http://www.open-mpi.org"
|
||||||
url = "http://www.open-mpi.org/software/ompi/v1.6/downloads/openmpi-1.6.5.tar.bz2"
|
|
||||||
|
|
||||||
version('1.6.5', '03aed2a4aa4d0b27196962a2a65fc475')
|
version('1.8.2', 'ab538ed8e328079d566fc797792e016e',
|
||||||
|
url='http://www.open-mpi.org/software/ompi/v1.8/downloads/openmpi-1.8.2.tar.gz')
|
||||||
|
|
||||||
|
version('1.6.5', '03aed2a4aa4d0b27196962a2a65fc475',
|
||||||
|
url = "http://www.open-mpi.org/software/ompi/v1.6/downloads/openmpi-1.6.5.tar.bz2")
|
||||||
|
patch('ad_lustre_rwcontig_open_source.patch', when="@1.6.5")
|
||||||
|
patch('llnl-platforms.patch', when="@1.6.5")
|
||||||
|
|
||||||
provides('mpi@:2')
|
provides('mpi@:2')
|
||||||
|
|
||||||
patch('ad_lustre_rwcontig_open_source.patch')
|
|
||||||
patch('llnl-platforms.patch')
|
|
||||||
|
|
||||||
def install(self, spec, prefix):
|
def install(self, spec, prefix):
|
||||||
configure("--prefix=%s" % prefix,
|
config_args = ["--prefix=%s" % prefix]
|
||||||
"--with-platform=contrib/platform/lanl/tlcc2/optimized-nopanasas")
|
|
||||||
|
|
||||||
# TODO: implement variants next, so we can have LLNL and LANL options.
|
# TODO: use variants for this, e.g. +lanl, +llnl, etc.
|
||||||
# use above for LANL builds, but for LLNL builds, we need this
|
# use this for LANL builds, but for LLNL builds, we need:
|
||||||
# "--with-platform=contrib/platform/llnl/optimized")
|
# "--with-platform=contrib/platform/llnl/optimized"
|
||||||
|
if self.version == ver("1.6.5"):
|
||||||
|
confg_args.append("--with-platform=contrib/platform/lanl/tlcc2/optimized-nopanasas")
|
||||||
|
|
||||||
|
# TODO: Spack should make it so that you can't actually find
|
||||||
|
# these compilers if they're "disabled" for the current
|
||||||
|
# compiler configuration.
|
||||||
|
if not self.compiler.f77 and not self.compiler.fc:
|
||||||
|
config_args.append("--enable-mpi-fortran=no")
|
||||||
|
|
||||||
|
configure(*config_args)
|
||||||
make()
|
make()
|
||||||
make("install")
|
make("install")
|
||||||
|
Loading…
Reference in New Issue
Block a user