diff options
author | Denis Davydov <davydden@gmail.com> | 2019-05-19 06:01:44 +0200 |
---|---|---|
committer | Adam J. Stewart <ajstewart426@gmail.com> | 2019-05-18 23:01:44 -0500 |
commit | a66cc59bb044d7195571d60ca8efcb77efde4ce0 (patch) | |
tree | fd7c810606df75859859fa84f0716968f576d0ab /var | |
parent | e1bb6821aacf43376b628189b4002bad69ad6ba6 (diff) | |
download | spack-a66cc59bb044d7195571d60ca8efcb77efde4ce0.tar.gz spack-a66cc59bb044d7195571d60ca8efcb77efde4ce0.tar.bz2 spack-a66cc59bb044d7195571d60ca8efcb77efde4ce0.tar.xz spack-a66cc59bb044d7195571d60ca8efcb77efde4ce0.zip |
trilinos: add variant to disable chaco from seacas (#11482)
* trilinos: add variant to disable chaco from seacas
keep it OFF by default due to the presence of the global symbol "divide"
that can lead to symbol clash with other libraries, for example see
https://github.com/dealii/dealii/issues/8170#issuecomment-492700787
* dealii: add conflict statement for adol-c and Trilinos SEACAS Chaco
Diffstat (limited to 'var')
-rw-r--r-- | var/spack/repos/builtin/packages/dealii/package.py | 4 | ||||
-rw-r--r-- | var/spack/repos/builtin/packages/trilinos/package.py | 21 |
2 files changed, 23 insertions, 2 deletions
diff --git a/var/spack/repos/builtin/packages/dealii/package.py b/var/spack/repos/builtin/packages/dealii/package.py index 1c72fbc7a8..43c4fc4296 100644 --- a/var/spack/repos/builtin/packages/dealii/package.py +++ b/var/spack/repos/builtin/packages/dealii/package.py @@ -200,6 +200,10 @@ class Dealii(CMakePackage, CudaPackage): msg='It is not possible to enable slepc interfaces ' 'without petsc.') + conflicts('+adol-c', when='^trilinos+chaco', + msg='symbol clash between the ADOL-C library and ' + 'Trilinos SEACAS Chaco.') + # interfaces added in 8.5.0: for p in ['gsl', 'python']: conflicts('+{0}'.format(p), when='@:8.4.2', diff --git a/var/spack/repos/builtin/packages/trilinos/package.py b/var/spack/repos/builtin/packages/trilinos/package.py index bc85b314f3..23c05cb054 100644 --- a/var/spack/repos/builtin/packages/trilinos/package.py +++ b/var/spack/repos/builtin/packages/trilinos/package.py @@ -81,8 +81,6 @@ class Trilinos(CMakePackage): description='Compile with Boost') variant('cgns', default=False, description='Enable CGNS') - variant('exodus', default=True, - description='Compile with Exodus from SEACAS') variant('gtest', default=True, description='Compile with Gtest') variant('hdf5', default=True, @@ -119,10 +117,17 @@ class Trilinos(CMakePackage): description='Compile with Aztec') variant('belos', default=True, description='Compile with Belos') + # chaco is disabled by default. As of 12.14.1 libchaco.so + # has the global symbol divide (and maybe others) that can + # lead to symbol clash. + variant('chaco', default=False, + description='Compile with Chaco from SEACAS') variant('epetra', default=True, description='Compile with Epetra') variant('epetraext', default=True, description='Compile with EpetraExt') + variant('exodus', default=True, + description='Compile with Exodus from SEACAS') variant('ifpack', default=True, description='Compile with Ifpack') variant('ifpack2', default=True, @@ -480,6 +485,18 @@ class Trilinos(CMakePackage): '-DTrilinos_ENABLE_SEACASExodus:BOOL=OFF' ]) + if '+chaco' in spec: + options.extend([ + '-DTrilinos_ENABLE_SEACAS:BOOL=ON' + '-DTrilinos_ENABLE_SEACASChaco:BOOL=ON' + ]) + else: + # don't disable SEACAS, could be needed elsewhere + options.extend([ + '-DTrilinos_ENABLE_SEACASChaco:BOOL=OFF', + '-DTrilinos_ENABLE_SEACASNemslice=OFF' + ]) + # ######################### TPLs ############################# blas = spec['blas'].libs |