7851 pmix aarch64 (#7852)

* Fix build issue with PMIx on aarch64

Work around a bug in PMIx that causes build issues on aarch64.  Bug was
fixed in PMIx 2.1.1, so the spack package checks both the architecture
and the PMIx version.  Workaround is to just not build the PMIx test and
example code.

* Minor code cleanups

Minor corrections to make 'spack flake8' happy.

* Add support for version 2.1.1
This commit is contained in:
Ross Miller 2018-04-23 15:09:52 -04:00 committed by Adam J. Stewart
parent 50fb9352f0
commit b5d9a44e17

View file

@ -24,6 +24,7 @@
############################################################################## ##############################################################################
from spack import * from spack import *
import spack.architecture
class Pmix(AutotoolsPackage): class Pmix(AutotoolsPackage):
@ -48,6 +49,7 @@ class Pmix(AutotoolsPackage):
homepage = "https://pmix.github.io/pmix" homepage = "https://pmix.github.io/pmix"
url = "https://github.com/pmix/pmix/releases/download/v2.0.1/pmix-2.0.1.tar.bz2" url = "https://github.com/pmix/pmix/releases/download/v2.0.1/pmix-2.0.1.tar.bz2"
version('2.1.1', 'f9f109421661b757245d5e0bd44a38b3')
version('2.1.0', 'fc97513b601d78fe7c6bb20c6a21df3c') version('2.1.0', 'fc97513b601d78fe7c6bb20c6a21df3c')
version('2.0.2', 'e3ed1deed87c84f9b43da2621c6ad689') version('2.0.2', 'e3ed1deed87c84f9b43da2621c6ad689')
version('2.0.1', 'ba3193b485843516e6b4e8641e443b1e') version('2.0.1', 'ba3193b485843516e6b4e8641e443b1e')
@ -61,6 +63,7 @@ class Pmix(AutotoolsPackage):
depends_on('libevent') depends_on('libevent')
def configure_args(self): def configure_args(self):
spec = self.spec spec = self.spec
config_args = [ config_args = [
'--enable-shared', '--enable-shared',
@ -71,4 +74,11 @@ def configure_args(self):
config_args.append( config_args.append(
'--with-libevent={0}'.format(spec['libevent'].prefix)) '--with-libevent={0}'.format(spec['libevent'].prefix))
# Versions < 2.1.1 have a bug in the test code that *sometimes*
# causes problems on strict alignment architectures such as
# aarch64. Work-around is to just not build the test code.
if 'aarch64' in spack.architecture.sys_type() and \
self.spec.version < Version('2.1.1'):
config_args.append('--without-tests-examples')
return config_args return config_args