summaryrefslogtreecommitdiff
path: root/var
diff options
context:
space:
mode:
authorDenis Davydov <davydden@gmail.com>2019-05-19 06:01:44 +0200
committerAdam J. Stewart <ajstewart426@gmail.com>2019-05-18 23:01:44 -0500
commita66cc59bb044d7195571d60ca8efcb77efde4ce0 (patch)
treefd7c810606df75859859fa84f0716968f576d0ab /var
parente1bb6821aacf43376b628189b4002bad69ad6ba6 (diff)
downloadspack-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.py4
-rw-r--r--var/spack/repos/builtin/packages/trilinos/package.py21
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