summaryrefslogtreecommitdiff
path: root/var
diff options
context:
space:
mode:
authorJDBetteridge <43041811+JDBetteridge@users.noreply.github.com>2022-05-27 18:46:21 +0100
committerGitHub <noreply@github.com>2022-05-27 10:46:21 -0700
commit1485931695d18c138236448b39da9839a7eaf007 (patch)
treef3e2204f615880e43c629f689ababd8e4e13506a /var
parent78cac4d8405416eedc9533ef41c6be9872017cf2 (diff)
downloadspack-1485931695d18c138236448b39da9839a7eaf007.tar.gz
spack-1485931695d18c138236448b39da9839a7eaf007.tar.bz2
spack-1485931695d18c138236448b39da9839a7eaf007.tar.xz
spack-1485931695d18c138236448b39da9839a7eaf007.zip
Ensure same BLAS/LAPACK config from Numpy used in Scipy (#30818)
* Call Numpy package's set_blas_lapack() and setup_build_environment() in Scipy package * Remove broken link from comment * Use .package attribute of spec to avoid import
Diffstat (limited to 'var')
-rw-r--r--var/spack/repos/builtin/packages/py-scipy/package.py14
1 files changed, 12 insertions, 2 deletions
diff --git a/var/spack/repos/builtin/packages/py-scipy/package.py b/var/spack/repos/builtin/packages/py-scipy/package.py
index 6ae00b2403..63bbc4f40e 100644
--- a/var/spack/repos/builtin/packages/py-scipy/package.py
+++ b/var/spack/repos/builtin/packages/py-scipy/package.py
@@ -3,6 +3,7 @@
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
class PyScipy(PythonPackage):
"""SciPy (pronounced "Sigh Pie") is a Scientific Library for Python.
It provides many user-friendly and efficient numerical routines such
@@ -83,8 +84,9 @@ class PyScipy(PythonPackage):
depends_on('python@3.8:3.10', when='@1.8:', type=('build', 'link', 'run'))
depends_on('py-pytest', type='test')
- # NOTE: scipy picks up Blas/Lapack from numpy, see
- # http://www.scipy.org/scipylib/building/linux.html#step-4-build-numpy-1-5-0
+ # NOTE: scipy should use the same Blas/Lapack as numpy
+ # This is achieved by calling the set_blas_lapack() and setup_build_environment()
+ # from numpy in the scipy spec
depends_on('blas')
depends_on('lapack')
# https://github.com/scipy/scipy/wiki/Dropping-support-for-Accelerate
@@ -96,6 +98,11 @@ class PyScipy(PythonPackage):
patch('scipy-clang.patch', when='@1.5.0:1.6.3 %clang')
+ @run_before('install')
+ def set_blas_lapack(self):
+ # Pick up Blas/Lapack from numpy
+ self.spec['py-numpy'].package.set_blas_lapack()
+
def setup_build_environment(self, env):
# https://github.com/scipy/scipy/issues/9080
env.set('F90', spack_fc)
@@ -104,6 +111,9 @@ class PyScipy(PythonPackage):
if self.spec.satisfies('@:1.4 %gcc@10:'):
env.set('FFLAGS', '-fallow-argument-mismatch')
+ # Pick up Blas/Lapack from numpy
+ self.spec['py-numpy'].package.setup_build_environment(env)
+
def install_options(self, spec, prefix):
args = []
if spec.satisfies('%fj'):