diff options
author | Tim Haines <thaines.astro@gmail.com> | 2020-04-22 15:34:32 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-04-22 13:34:32 -0700 |
commit | 0d2ebbf996d0ad3fa049b8f50304cd51b8c40467 (patch) | |
tree | 30b6c5eb163280b2fdbf364666e29dfd4bd56488 /var | |
parent | 63ff1219807242bbb4bea5767fb2d5fd6c632331 (diff) | |
download | spack-0d2ebbf996d0ad3fa049b8f50304cd51b8c40467.tar.gz spack-0d2ebbf996d0ad3fa049b8f50304cd51b8c40467.tar.bz2 spack-0d2ebbf996d0ad3fa049b8f50304cd51b8c40467.tar.xz spack-0d2ebbf996d0ad3fa049b8f50304cd51b8c40467.zip |
hwloc: Add netloc variant (#16001)
hwloc depends on MPI when netloc is enabled. Note that OpenMPI depends on
netloc, so hwloc cannot use OpenMPI as the MPI provider when netloc is
enabled (this would result in a cyclic dependency).
Diffstat (limited to 'var')
-rw-r--r-- | var/spack/repos/builtin/packages/hwloc/package.py | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/var/spack/repos/builtin/packages/hwloc/package.py b/var/spack/repos/builtin/packages/hwloc/package.py index 2b7968a37a..547327e60b 100644 --- a/var/spack/repos/builtin/packages/hwloc/package.py +++ b/var/spack/repos/builtin/packages/hwloc/package.py @@ -57,6 +57,14 @@ class Hwloc(AutotoolsPackage): default=False, description='Enable the Cairo back-end of hwloc\'s lstopo command' ) + variant( + 'netloc', + default=False, + description="Enable netloc [requires MPI]" + ) + + # netloc isn't available until version 2.0.0 + conflicts('+netloc', when="@:1.99.99") depends_on('pkgconfig', type='build') depends_on('m4', type='build', when='@master') @@ -71,6 +79,10 @@ class Hwloc(AutotoolsPackage): depends_on('cairo', when='+cairo') depends_on('numactl', when='@:1.11.11 platform=linux') + # When mpi=openmpi, this introduces an unresolvable dependency. + # See https://github.com/spack/spack/issues/15836 for details + depends_on('mpi', when='+netloc') + def url_for_version(self, version): return "http://www.open-mpi.org/software/hwloc/v%s/downloads/hwloc-%s.tar.gz" % (version.up_to(2), version) @@ -81,7 +93,7 @@ class Hwloc(AutotoolsPackage): # (Alternatively, we could require OpenCL as dependency.) "--disable-opencl", ] - if '@2.0.0:' in self.spec: + if '+netloc' in self.spec: args.append('--enable-netloc') args.extend(self.enable_or_disable('cairo')) |