-
-
Notifications
You must be signed in to change notification settings - Fork 5.5k
Open
Labels
Build issuesIssues with building from source, including different choices of architecture, compilers and OSIssues with building from source, including different choices of architecture, compilers and OS
Description
I'm setting up a new build env and I'm reliably generating test failures for 4 tests.
I've running the build an a macbook air running an M4 and I've built scipy using accelerate via the --with-accelerate flag to the spin build command.
Is anyone else seeing this or have any idea if it's a known issue or something obvious in my build setup that I've missed?
Here is the stdout of the failures:
==================================================================== FAILURES ====================================================================
__________________________________________________________________ test_cython ___________________________________________________________________
tmp_path = PosixPath('/private/var/folders/v_/_vnl45js4pv4t9ls9xhjbk540000gn/T/pytest-of-rlucas7/pytest-4/test_cython0')
@pytest.mark.parallel_threads(4) # 0.35 GiB per thread RAM usage
@pytest.mark.fail_slow(120)
# essential per https://github.com/scipy/scipy/pull/20487#discussion_r1567057247
@pytest.mark.skipif(IS_EDITABLE,
reason='Editable install cannot find .pxd headers.')
@pytest.mark.skipif((platform.system() == 'Windows' and
sysconfig.get_config_var('Py_GIL_DISABLED')),
reason='gh-22039')
@pytest.mark.skipif(platform.machine() in ["wasm32", "wasm64"],
reason="Can't start subprocess")
@pytest.mark.skipif(cython is None, reason="requires cython")
def test_cython(tmp_path):
srcdir = os.path.dirname(os.path.dirname(__file__))
> extensions, extensions_cpp = _test_cython_extension(tmp_path, srcdir)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
srcdir = '/Users/rlucas7/workspace/scipy-dev/scipy/build-install/usr/lib/python3.13/site-packages/scipy/linalg'
tmp_path = PosixPath('/private/var/folders/v_/_vnl45js4pv4t9ls9xhjbk540000gn/T/pytest-of-rlucas7/pytest-4/test_cython0')
scipy/linalg/tests/test_extending.py:26:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
scipy/_lib/_testutils.py:316: in _test_cython_extension
subprocess.check_call(["meson", "setup",
build_dir = PosixPath('/private/var/folders/v_/_vnl45js4pv4t9ls9xhjbk540000gn/T/pytest-of-rlucas7/pytest-4/test_cython0/8677236928/linalg/tests/_cython_examples')
f = <_io.TextIOWrapper name='/private/var/folders/v_/_vnl45js4pv4t9ls9xhjbk540000gn/T/pytest-of-rlucas7/pytest-4/test_cython0/8677236928/linalg/tests/_cython_examples/interpreter-native-file.ini' mode='w' encoding='UTF-8'>
mod_name = 'linalg'
native_file = '/private/var/folders/v_/_vnl45js4pv4t9ls9xhjbk540000gn/T/pytest-of-rlucas7/pytest-4/test_cython0/8677236928/linalg/tests/_cython_examples/interpreter-native-file.ini'
pytest = <module 'pytest' from '/Users/rlucas7/workspace/scipy-dev/env/lib/python3.13/site-packages/pytest/__init__.py'>
srcdir = '/Users/rlucas7/workspace/scipy-dev/scipy/build-install/usr/lib/python3.13/site-packages/scipy/linalg'
target_dir = PosixPath('/private/var/folders/v_/_vnl45js4pv4t9ls9xhjbk540000gn/T/pytest-of-rlucas7/pytest-4/test_cython0/8677236928/linalg/tests/_cython_examples/build')
tmp_path = PosixPath('/private/var/folders/v_/_vnl45js4pv4t9ls9xhjbk540000gn/T/pytest-of-rlucas7/pytest-4/test_cython0/8677236928')
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
popenargs = (['meson', 'setup', '--native-file', '/private/var/folders/v_/_vnl45js4pv4t9ls9xhjbk540000gn/T/pytest-of-rlucas7/pytes..._/_vnl45js4pv4t9ls9xhjbk540000gn/T/pytest-of-rlucas7/pytest-4/test_cython0/8677236928/linalg/tests/_cython_examples'],)
kwargs = {'cwd': PosixPath('/private/var/folders/v_/_vnl45js4pv4t9ls9xhjbk540000gn/T/pytest-of-rlucas7/pytest-4/test_cython0/8677236928/linalg/tests/_cython_examples/build')}
retcode = 1
cmd = ['meson', 'setup', '--native-file', '/private/var/folders/v_/_vnl45js4pv4t9ls9xhjbk540000gn/T/pytest-of-rlucas7/pytest.../v_/_vnl45js4pv4t9ls9xhjbk540000gn/T/pytest-of-rlucas7/pytest-4/test_cython0/8677236928/linalg/tests/_cython_examples']
def check_call(*popenargs, **kwargs):
"""Run command with arguments. Wait for command to complete. If
the exit code was zero then return, otherwise raise
CalledProcessError. The CalledProcessError object will have the
return code in the returncode attribute.
The arguments are the same as for the call function. Example:
check_call(["ls", "-l"])
"""
retcode = call(*popenargs, **kwargs)
if retcode:
cmd = kwargs.get("args")
if cmd is None:
cmd = popenargs[0]
> raise CalledProcessError(retcode, cmd)
E subprocess.CalledProcessError: Command '['meson', 'setup', '--native-file', '/private/var/folders/v_/_vnl45js4pv4t9ls9xhjbk540000gn/T/pytest-of-rlucas7/pytest-4/test_cython0/8677236928/linalg/tests/_cython_examples/interpreter-native-file.ini', '/private/var/folders/v_/_vnl45js4pv4t9ls9xhjbk540000gn/T/pytest-of-rlucas7/pytest-4/test_cython0/8677236928/linalg/tests/_cython_examples']' returned non-zero exit status 1.
cmd = ['meson', 'setup', '--native-file', '/private/var/folders/v_/_vnl45js4pv4t9ls9xhjbk540000gn/T/pytest-of-rlucas7/pytest.../v_/_vnl45js4pv4t9ls9xhjbk540000gn/T/pytest-of-rlucas7/pytest-4/test_cython0/8677236928/linalg/tests/_cython_examples']
kwargs = {'cwd': PosixPath('/private/var/folders/v_/_vnl45js4pv4t9ls9xhjbk540000gn/T/pytest-of-rlucas7/pytest-4/test_cython0/8677236928/linalg/tests/_cython_examples/build')}
popenargs = (['meson', 'setup', '--native-file', '/private/var/folders/v_/_vnl45js4pv4t9ls9xhjbk540000gn/T/pytest-of-rlucas7/pytes..._/_vnl45js4pv4t9ls9xhjbk540000gn/T/pytest-of-rlucas7/pytest-4/test_cython0/8677236928/linalg/tests/_cython_examples'],)
retcode = 1
/opt/homebrew/Cellar/[email protected]/3.13.7/Frameworks/Python.framework/Versions/3.13/lib/python3.13/subprocess.py:419: CalledProcessError
-------------------------------------------------------------- Captured stdout call --------------------------------------------------------------
1.9.1
The Meson build system
Version: 1.9.1
Source dir: /private/var/folders/v_/_vnl45js4pv4t9ls9xhjbk540000gn/T/pytest-of-rlucas7/pytest-4/test_cython0/8677236928/linalg/tests/_cython_examples
Build dir: /private/var/folders/v_/_vnl45js4pv4t9ls9xhjbk540000gn/T/pytest-of-rlucas7/pytest-4/test_cython0/8677236928/linalg/tests/_cython_examples/build
Build type: native build
Project name: random-build-examples
Project version: undefined
../meson.build:1:0: ERROR: Unknown compiler(s): [['/usr/local/opt/llvm/bin/clang']]
The following exception(s) were encountered:
Running `/usr/local/opt/llvm/bin/clang --version` gave "[Errno 2] No such file or directory: '/usr/local/opt/llvm/bin/clang'"
A full log can be found at /private/var/folders/v_/_vnl45js4pv4t9ls9xhjbk540000gn/T/pytest-of-rlucas7/pytest-4/test_cython0/8677236928/linalg/tests/_cython_examples/build/meson-logs/meson-log.txt
__________________________________________________________________ test_cython ___________________________________________________________________
tmp_path = PosixPath('/private/var/folders/v_/_vnl45js4pv4t9ls9xhjbk540000gn/T/pytest-of-rlucas7/pytest-4/test_cython1')
@pytest.mark.fail_slow(40)
# essential per https://github.com/scipy/scipy/pull/20487#discussion_r1567057247
@pytest.mark.skipif(IS_EDITABLE,
reason='Editable install cannot find .pxd headers.')
@pytest.mark.skipif((platform.system() == 'Windows' and
sysconfig.get_config_var('Py_GIL_DISABLED')),
reason='gh-22039')
@pytest.mark.skipif(platform.machine() in ["wasm32", "wasm64"],
reason="Can't start subprocess")
@pytest.mark.skipif(cython is None, reason="requires cython")
def test_cython(tmp_path):
srcdir = os.path.dirname(os.path.dirname(__file__))
> extensions, extensions_cpp = _test_cython_extension(tmp_path, srcdir)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
srcdir = '/Users/rlucas7/workspace/scipy-dev/scipy/build-install/usr/lib/python3.13/site-packages/scipy/optimize'
tmp_path = PosixPath('/private/var/folders/v_/_vnl45js4pv4t9ls9xhjbk540000gn/T/pytest-of-rlucas7/pytest-4/test_cython1')
scipy/optimize/tests/test_extending.py:22:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
scipy/_lib/_testutils.py:316: in _test_cython_extension
subprocess.check_call(["meson", "setup",
build_dir = PosixPath('/private/var/folders/v_/_vnl45js4pv4t9ls9xhjbk540000gn/T/pytest-of-rlucas7/pytest-4/test_cython1/8677236928/optimize/tests/_cython_examples')
f = <_io.TextIOWrapper name='/private/var/folders/v_/_vnl45js4pv4t9ls9xhjbk540000gn/T/pytest-of-rlucas7/pytest-4/test_cython1/8677236928/optimize/tests/_cython_examples/interpreter-native-file.ini' mode='w' encoding='UTF-8'>
mod_name = 'optimize'
native_file = '/private/var/folders/v_/_vnl45js4pv4t9ls9xhjbk540000gn/T/pytest-of-rlucas7/pytest-4/test_cython1/8677236928/optimize/tests/_cython_examples/interpreter-native-file.ini'
pytest = <module 'pytest' from '/Users/rlucas7/workspace/scipy-dev/env/lib/python3.13/site-packages/pytest/__init__.py'>
srcdir = '/Users/rlucas7/workspace/scipy-dev/scipy/build-install/usr/lib/python3.13/site-packages/scipy/optimize'
target_dir = PosixPath('/private/var/folders/v_/_vnl45js4pv4t9ls9xhjbk540000gn/T/pytest-of-rlucas7/pytest-4/test_cython1/8677236928/optimize/tests/_cython_examples/build')
tmp_path = PosixPath('/private/var/folders/v_/_vnl45js4pv4t9ls9xhjbk540000gn/T/pytest-of-rlucas7/pytest-4/test_cython1/8677236928')
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
popenargs = (['meson', 'setup', '--native-file', '/private/var/folders/v_/_vnl45js4pv4t9ls9xhjbk540000gn/T/pytest-of-rlucas7/pytes..._vnl45js4pv4t9ls9xhjbk540000gn/T/pytest-of-rlucas7/pytest-4/test_cython1/8677236928/optimize/tests/_cython_examples'],)
kwargs = {'cwd': PosixPath('/private/var/folders/v_/_vnl45js4pv4t9ls9xhjbk540000gn/T/pytest-of-rlucas7/pytest-4/test_cython1/8677236928/optimize/tests/_cython_examples/build')}
retcode = 1
cmd = ['meson', 'setup', '--native-file', '/private/var/folders/v_/_vnl45js4pv4t9ls9xhjbk540000gn/T/pytest-of-rlucas7/pytest..._/_vnl45js4pv4t9ls9xhjbk540000gn/T/pytest-of-rlucas7/pytest-4/test_cython1/8677236928/optimize/tests/_cython_examples']
def check_call(*popenargs, **kwargs):
"""Run command with arguments. Wait for command to complete. If
the exit code was zero then return, otherwise raise
CalledProcessError. The CalledProcessError object will have the
return code in the returncode attribute.
The arguments are the same as for the call function. Example:
check_call(["ls", "-l"])
"""
retcode = call(*popenargs, **kwargs)
if retcode:
cmd = kwargs.get("args")
if cmd is None:
cmd = popenargs[0]
> raise CalledProcessError(retcode, cmd)
E subprocess.CalledProcessError: Command '['meson', 'setup', '--native-file', '/private/var/folders/v_/_vnl45js4pv4t9ls9xhjbk540000gn/T/pytest-of-rlucas7/pytest-4/test_cython1/8677236928/optimize/tests/_cython_examples/interpreter-native-file.ini', '/private/var/folders/v_/_vnl45js4pv4t9ls9xhjbk540000gn/T/pytest-of-rlucas7/pytest-4/test_cython1/8677236928/optimize/tests/_cython_examples']' returned non-zero exit status 1.
cmd = ['meson', 'setup', '--native-file', '/private/var/folders/v_/_vnl45js4pv4t9ls9xhjbk540000gn/T/pytest-of-rlucas7/pytest..._/_vnl45js4pv4t9ls9xhjbk540000gn/T/pytest-of-rlucas7/pytest-4/test_cython1/8677236928/optimize/tests/_cython_examples']
kwargs = {'cwd': PosixPath('/private/var/folders/v_/_vnl45js4pv4t9ls9xhjbk540000gn/T/pytest-of-rlucas7/pytest-4/test_cython1/8677236928/optimize/tests/_cython_examples/build')}
popenargs = (['meson', 'setup', '--native-file', '/private/var/folders/v_/_vnl45js4pv4t9ls9xhjbk540000gn/T/pytest-of-rlucas7/pytes..._vnl45js4pv4t9ls9xhjbk540000gn/T/pytest-of-rlucas7/pytest-4/test_cython1/8677236928/optimize/tests/_cython_examples'],)
retcode = 1
/opt/homebrew/Cellar/[email protected]/3.13.7/Frameworks/Python.framework/Versions/3.13/lib/python3.13/subprocess.py:419: CalledProcessError
-------------------------------------------------------------- Captured stdout call --------------------------------------------------------------
1.9.1
The Meson build system
Version: 1.9.1
Source dir: /private/var/folders/v_/_vnl45js4pv4t9ls9xhjbk540000gn/T/pytest-of-rlucas7/pytest-4/test_cython1/8677236928/optimize/tests/_cython_examples
Build dir: /private/var/folders/v_/_vnl45js4pv4t9ls9xhjbk540000gn/T/pytest-of-rlucas7/pytest-4/test_cython1/8677236928/optimize/tests/_cython_examples/build
Build type: native build
Project name: random-build-examples
Project version: undefined
../meson.build:1:0: ERROR: Unknown compiler(s): [['/usr/local/opt/llvm/bin/clang']]
The following exception(s) were encountered:
Running `/usr/local/opt/llvm/bin/clang --version` gave "[Errno 2] No such file or directory: '/usr/local/opt/llvm/bin/clang'"
A full log can be found at /private/var/folders/v_/_vnl45js4pv4t9ls9xhjbk540000gn/T/pytest-of-rlucas7/pytest-4/test_cython1/8677236928/optimize/tests/_cython_examples/build/meson-logs/meson-log.txt
__________________________________________________________________ test_cython ___________________________________________________________________
tmp_path = PosixPath('/private/var/folders/v_/_vnl45js4pv4t9ls9xhjbk540000gn/T/pytest-of-rlucas7/pytest-4/test_cython2')
@pytest.mark.fail_slow(40)
# essential per https://github.com/scipy/scipy/pull/20487#discussion_r1567057247
@pytest.mark.skipif(IS_EDITABLE,
reason='Editable install cannot find .pxd headers.')
@pytest.mark.skipif((platform.system() == 'Windows' and
sysconfig.get_config_var('Py_GIL_DISABLED')),
reason='gh-22039')
@pytest.mark.skipif(platform.machine() in ["wasm32", "wasm64"],
reason="Can't start subprocess")
@pytest.mark.skipif(cython is None, reason="requires cython")
def test_cython(tmp_path):
srcdir = os.path.dirname(os.path.dirname(__file__))
> extensions, extensions_cpp = _test_cython_extension(tmp_path, srcdir)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
srcdir = '/Users/rlucas7/workspace/scipy-dev/scipy/build-install/usr/lib/python3.13/site-packages/scipy/special'
tmp_path = PosixPath('/private/var/folders/v_/_vnl45js4pv4t9ls9xhjbk540000gn/T/pytest-of-rlucas7/pytest-4/test_cython2')
scipy/special/tests/test_extending.py:23:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
scipy/_lib/_testutils.py:316: in _test_cython_extension
subprocess.check_call(["meson", "setup",
build_dir = PosixPath('/private/var/folders/v_/_vnl45js4pv4t9ls9xhjbk540000gn/T/pytest-of-rlucas7/pytest-4/test_cython2/8677236928/special/tests/_cython_examples')
f = <_io.TextIOWrapper name='/private/var/folders/v_/_vnl45js4pv4t9ls9xhjbk540000gn/T/pytest-of-rlucas7/pytest-4/test_cython2/8677236928/special/tests/_cython_examples/interpreter-native-file.ini' mode='w' encoding='UTF-8'>
mod_name = 'special'
native_file = '/private/var/folders/v_/_vnl45js4pv4t9ls9xhjbk540000gn/T/pytest-of-rlucas7/pytest-4/test_cython2/8677236928/special/tests/_cython_examples/interpreter-native-file.ini'
pytest = <module 'pytest' from '/Users/rlucas7/workspace/scipy-dev/env/lib/python3.13/site-packages/pytest/__init__.py'>
srcdir = '/Users/rlucas7/workspace/scipy-dev/scipy/build-install/usr/lib/python3.13/site-packages/scipy/special'
target_dir = PosixPath('/private/var/folders/v_/_vnl45js4pv4t9ls9xhjbk540000gn/T/pytest-of-rlucas7/pytest-4/test_cython2/8677236928/special/tests/_cython_examples/build')
tmp_path = PosixPath('/private/var/folders/v_/_vnl45js4pv4t9ls9xhjbk540000gn/T/pytest-of-rlucas7/pytest-4/test_cython2/8677236928')
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
popenargs = (['meson', 'setup', '--native-file', '/private/var/folders/v_/_vnl45js4pv4t9ls9xhjbk540000gn/T/pytest-of-rlucas7/pytes.../_vnl45js4pv4t9ls9xhjbk540000gn/T/pytest-of-rlucas7/pytest-4/test_cython2/8677236928/special/tests/_cython_examples'],)
kwargs = {'cwd': PosixPath('/private/var/folders/v_/_vnl45js4pv4t9ls9xhjbk540000gn/T/pytest-of-rlucas7/pytest-4/test_cython2/8677236928/special/tests/_cython_examples/build')}
retcode = 1
cmd = ['meson', 'setup', '--native-file', '/private/var/folders/v_/_vnl45js4pv4t9ls9xhjbk540000gn/T/pytest-of-rlucas7/pytest...v_/_vnl45js4pv4t9ls9xhjbk540000gn/T/pytest-of-rlucas7/pytest-4/test_cython2/8677236928/special/tests/_cython_examples']
def check_call(*popenargs, **kwargs):
"""Run command with arguments. Wait for command to complete. If
the exit code was zero then return, otherwise raise
CalledProcessError. The CalledProcessError object will have the
return code in the returncode attribute.
The arguments are the same as for the call function. Example:
check_call(["ls", "-l"])
"""
retcode = call(*popenargs, **kwargs)
if retcode:
cmd = kwargs.get("args")
if cmd is None:
cmd = popenargs[0]
> raise CalledProcessError(retcode, cmd)
E subprocess.CalledProcessError: Command '['meson', 'setup', '--native-file', '/private/var/folders/v_/_vnl45js4pv4t9ls9xhjbk540000gn/T/pytest-of-rlucas7/pytest-4/test_cython2/8677236928/special/tests/_cython_examples/interpreter-native-file.ini', '/private/var/folders/v_/_vnl45js4pv4t9ls9xhjbk540000gn/T/pytest-of-rlucas7/pytest-4/test_cython2/8677236928/special/tests/_cython_examples']' returned non-zero exit status 1.
cmd = ['meson', 'setup', '--native-file', '/private/var/folders/v_/_vnl45js4pv4t9ls9xhjbk540000gn/T/pytest-of-rlucas7/pytest...v_/_vnl45js4pv4t9ls9xhjbk540000gn/T/pytest-of-rlucas7/pytest-4/test_cython2/8677236928/special/tests/_cython_examples']
kwargs = {'cwd': PosixPath('/private/var/folders/v_/_vnl45js4pv4t9ls9xhjbk540000gn/T/pytest-of-rlucas7/pytest-4/test_cython2/8677236928/special/tests/_cython_examples/build')}
popenargs = (['meson', 'setup', '--native-file', '/private/var/folders/v_/_vnl45js4pv4t9ls9xhjbk540000gn/T/pytest-of-rlucas7/pytes.../_vnl45js4pv4t9ls9xhjbk540000gn/T/pytest-of-rlucas7/pytest-4/test_cython2/8677236928/special/tests/_cython_examples'],)
retcode = 1
/opt/homebrew/Cellar/[email protected]/3.13.7/Frameworks/Python.framework/Versions/3.13/lib/python3.13/subprocess.py:419: CalledProcessError
-------------------------------------------------------------- Captured stdout call --------------------------------------------------------------
1.9.1
The Meson build system
Version: 1.9.1
Source dir: /private/var/folders/v_/_vnl45js4pv4t9ls9xhjbk540000gn/T/pytest-of-rlucas7/pytest-4/test_cython2/8677236928/special/tests/_cython_examples
Build dir: /private/var/folders/v_/_vnl45js4pv4t9ls9xhjbk540000gn/T/pytest-of-rlucas7/pytest-4/test_cython2/8677236928/special/tests/_cython_examples/build
Build type: native build
Project name: random-build-examples
Project version: undefined
../meson.build:1:0: ERROR: Unknown compiler(s): [['/usr/local/opt/llvm/bin/clang']]
The following exception(s) were encountered:
Running `/usr/local/opt/llvm/bin/clang --version` gave "[Errno 2] No such file or directory: '/usr/local/opt/llvm/bin/clang'"
A full log can be found at /private/var/folders/v_/_vnl45js4pv4t9ls9xhjbk540000gn/T/pytest-of-rlucas7/pytest-4/test_cython2/8677236928/special/tests/_cython_examples/build/meson-logs/meson-log.txt
______________________________________________ TestMultivariateNormal.test_large_pseudo_determinant ______________________________________________
self = <scipy.stats.tests.test_multivariate.TestMultivariateNormal object at 0x1205b0500>
def test_large_pseudo_determinant(self):
# Check that large pseudo-determinants are handled appropriately.
# Construct a singular diagonal covariance matrix
# whose pseudo determinant overflows double precision.
large_total_log = 1000.0
npos = 100
nzero = 2
large_entry = np.exp(large_total_log / npos)
n = npos + nzero
cov = np.zeros((n, n), dtype=float)
np.fill_diagonal(cov, large_entry)
cov[-nzero:, -nzero:] = 0
# Check some determinants.
assert_equal(scipy.linalg.det(cov), 0)
assert_equal(scipy.linalg.det(cov[:npos, :npos]), np.inf)
> assert_allclose(np.linalg.slogdet(cov[:npos, :npos]),
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
(1, large_total_log))
cov = array([[22026.46579481, 0. , 0. , ...,
0. , 0. , 0. ],
... , 0. , 0. , ...,
0. , 0. , 0. ]], shape=(102, 102))
large_entry = np.float64(22026.465794806718)
large_total_log = 1000.0
n = 102
npos = 100
nzero = 2
self = <scipy.stats.tests.test_multivariate.TestMultivariateNormal object at 0x1205b0500>
scipy/stats/tests/test_multivariate.py:707:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
a = array([[22026.46579481, 0. , 0. , ...,
0. , 0. , 0. ],
... , 0. , 0. , ...,
0. , 0. , 22026.46579481]], shape=(100, 100))
@array_function_dispatch(_unary_dispatcher)
def slogdet(a):
"""
Compute the sign and (natural) logarithm of the determinant of an array.
If an array has a very small or very large determinant, then a call to
`det` may overflow or underflow. This routine is more robust against such
issues, because it computes the logarithm of the determinant rather than
the determinant itself.
Parameters
----------
a : (..., M, M) array_like
Input array, has to be a square 2-D array.
Returns
-------
A namedtuple with the following attributes:
sign : (...) array_like
A number representing the sign of the determinant. For a real matrix,
this is 1, 0, or -1. For a complex matrix, this is a complex number
with absolute value 1 (i.e., it is on the unit circle), or else 0.
logabsdet : (...) array_like
The natural log of the absolute value of the determinant.
If the determinant is zero, then `sign` will be 0 and `logabsdet`
will be -inf. In all cases, the determinant is equal to
``sign * np.exp(logabsdet)``.
See Also
--------
det
Notes
-----
Broadcasting rules apply, see the `numpy.linalg` documentation for
details.
The determinant is computed via LU factorization using the LAPACK
routine ``z/dgetrf``.
Examples
--------
The determinant of a 2-D array ``[[a, b], [c, d]]`` is ``ad - bc``:
>>> import numpy as np
>>> a = np.array([[1, 2], [3, 4]])
>>> (sign, logabsdet) = np.linalg.slogdet(a)
>>> (sign, logabsdet)
(-1, 0.69314718055994529) # may vary
>>> sign * np.exp(logabsdet)
-2.0
Computing log-determinants for a stack of matrices:
>>> a = np.array([ [[1, 2], [3, 4]], [[1, 2], [2, 1]], [[1, 3], [3, 1]] ])
>>> a.shape
(3, 2, 2)
>>> sign, logabsdet = np.linalg.slogdet(a)
>>> (sign, logabsdet)
(array([-1., -1., -1.]), array([ 0.69314718, 1.09861229, 2.07944154]))
>>> sign * np.exp(logabsdet)
array([-2., -3., -8.])
This routine succeeds where ordinary `det` does not:
>>> np.linalg.det(np.eye(500) * 0.1)
0.0
>>> np.linalg.slogdet(np.eye(500) * 0.1)
(1, -1151.2925464970228)
"""
a = asarray(a)
_assert_stacked_square(a)
t, result_t = _commonType(a)
real_t = _realType(result_t)
signature = 'D->Dd' if isComplexType(t) else 'd->dd'
> sign, logdet = _umath_linalg.slogdet(a, signature=signature)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
E RuntimeWarning: divide by zero encountered in slogdet
a = array([[22026.46579481, 0. , 0. , ...,
0. , 0. , 0. ],
... , 0. , 0. , ...,
0. , 0. , 22026.46579481]], shape=(100, 100))
real_t = <class 'numpy.float64'>
result_t = <class 'numpy.float64'>
signature = 'd->dd'
t = <class 'numpy.float64'>
../../../../../../env/lib/python3.13/site-packages/numpy/linalg/_linalg.py:2374: RuntimeWarning
============================================================ short test summary info =============================================================
FAILED scipy/linalg/tests/test_extending.py::test_cython - subprocess.CalledProcessError: Command '['meson', 'setup', '--native-file', '/private/var/folders/v_/_vnl45js4pv4t9ls9xhjbk540000gn/T/pytest-...
FAILED scipy/optimize/tests/test_extending.py::test_cython - subprocess.CalledProcessError: Command '['meson', 'setup', '--native-file', '/private/var/folders/v_/_vnl45js4pv4t9ls9xhjbk540000gn/T/pytest-...
FAILED scipy/special/tests/test_extending.py::test_cython - subprocess.CalledProcessError: Command '['meson', 'setup', '--native-file', '/private/var/folders/v_/_vnl45js4pv4t9ls9xhjbk540000gn/T/pytest-...
FAILED scipy/stats/tests/test_multivariate.py::TestMultivariateNormal::test_large_pseudo_determinant - RuntimeWarning: divide by zero encountered in slogdet
====================== 4 failed, 67479 passed, 7301 skipped, 11661 deselected, 204 xfailed, 19 xpassed in 187.77s (0:03:07) ======================Metadata
Metadata
Assignees
Labels
Build issuesIssues with building from source, including different choices of architecture, compilers and OSIssues with building from source, including different choices of architecture, compilers and OS