summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--var/spack/repos/builtin/packages/suite-sparse/package.py14
1 files changed, 13 insertions, 1 deletions
diff --git a/var/spack/repos/builtin/packages/suite-sparse/package.py b/var/spack/repos/builtin/packages/suite-sparse/package.py
index b03f901ad3..7dbd8f3d0d 100644
--- a/var/spack/repos/builtin/packages/suite-sparse/package.py
+++ b/var/spack/repos/builtin/packages/suite-sparse/package.py
@@ -70,6 +70,18 @@ class SuiteSparse(Package):
conflicts('%gcc@:4.8', when='@5.2.0:', msg='gcc version must be at least 4.9 for suite-sparse@5.2.0:')
+ # The @2021.x versions of tbb dropped the task_scheduler_init.h header and
+ # related stuff (which have long been deprecated). This appears to be
+ # rather problematic for suite-sparse (see e.g.
+ # https://github.com/DrTimothyAldenDavis/SuiteSparse/blob/master/SPQR/Source/spqr_parallel.cpp)
+ # Have Spack complain if +tbb and trying to use a 2021.x version of tbb
+ conflicts('+tbb', when='^intel-oneapi-tbb@2021:',
+ msg='suite-sparse needs task_scheduler_init.h dropped in '
+ 'recent tbb libs')
+ conflicts('+tbb', when='^intel-tbb@2021:',
+ msg='suite-sparse needs task_scheduler_init.h dropped in '
+ 'recent tbb libs')
+
def symbol_suffix_blas(self, spec, args):
"""When using BLAS with a special symbol suffix we use defines to
replace blas symbols, e.g. dgemm_ becomes dgemm_64_ when
@@ -165,7 +177,7 @@ class SuiteSparse(Package):
make_args += ['CFLAGS+=-DBLAS_NO_UNDERSCORE']
# Intel TBB in SuiteSparseQR
- if 'tbb' in spec:
+ if '+tbb' in spec:
make_args += [
'SPQR_CONFIG=-DHAVE_TBB',
'TBB=%s' % spec['tbb'].libs.ld_flags,