Bug 2365873 - openmeeg fails to build with Python 3.14: openmeeg/tests/test_python.py: ValueError: operands could not be broadcast together with shapes (20124196,) (0,)
Summary: openmeeg fails to build with Python 3.14: openmeeg/tests/test_python.py: Valu...
Keywords:
Status: NEW
Alias: None
Product: Fedora
Classification: Fedora
Component: openmeeg
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Antonio T. sagitter
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: PYTHON3.14
TreeView+ depends on / blocked
 
Reported: 2025-05-13 10:25 UTC by Karolina Surma
Modified: 2025-05-13 10:25 UTC (History)
4 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed:
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Karolina Surma 2025-05-13 10:25:12 UTC
openmeeg fails to build with Python 3.14.0b1.

______________________ test_python[True-mne_sample_ico3] _______________________
/usr/lib64/python3.14/site-packages/numpy/testing/_private/utils.py:1710: in compare
    return np._core.numeric.isclose(x, y, rtol=rtol, atol=atol,
/usr/lib64/python3.14/site-packages/numpy/_core/numeric.py:2447: in isclose
    result = (less_equal(abs(x-y), atol + rtol * abs(y))
E   ValueError: operands could not be broadcast together with shapes (20124196,) (0,)

During handling of the above exception, another exception occurred:
openmeeg/tests/test_python.py:182: in test_python
    assert_allclose(om.Matrix(hminv).array(), om.Matrix(hminv_inplace).array())
E   ValueError: 
E   error during assertion:
E   
E   Traceback (most recent call last):
E     File "/usr/lib64/python3.14/site-packages/numpy/testing/_private/utils.py", line 851, in assert_array_compare
E       val = comparison(x, y)
E     File "/usr/lib64/python3.14/site-packages/numpy/testing/_private/utils.py", line 1710, in compare
E       return np._core.numeric.isclose(x, y, rtol=rtol, atol=atol,
E              ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^
E                                      equal_nan=equal_nan)
E                                      ^^^^^^^^^^^^^^^^^^^^
E     File "/usr/lib64/python3.14/site-packages/numpy/_core/numeric.py", line 2447, in isclose
E       result = (less_equal(abs(x-y), atol + rtol * abs(y))
E                                ~^~
E   ValueError: operands could not be broadcast together with shapes (20124196,) (0,) 
E   
E   
E   Not equal to tolerance rtol=1e-07, atol=0
E    ACTUAL: array([-3.876467e+02, -8.125914e+01, -8.085192e+01, ...,  1.887874e+03,
E          -3.667017e+04,  1.457378e+05], shape=(20124196,))
E    DESIRED: array([], dtype=float64)
----------------------------- Captured stdout call -----------------------------
Nb mesh files : 3
Could not find mesh : outer_skull.tri
Could not find mesh : inner_skull.tri
Could not find mesh : outer_skin.tri
Found : ['/builddir/build/BUILD/openmeeg-2.5.8-build/openmeeg-2.5.8/data/mne_sample_ico3/outer_skull.tri', '/builddir/build/BUILD/openmeeg-2.5.8-build/openmeeg-2.5.8/data/mne_sample_ico3/inner_skull.tri', '/builddir/build/BUILD/openmeeg-2.5.8-build/openmeeg-2.5.8/data/mne_sample_ico3/outer_skin.tri']
59 points have been mapped to mesh Head

********************************************************************************
HeadMat instantiation:
Assembling Head Matrix
Assembling Cortex x Cortex (self) setting blocks
OPERATOR S ... (arg : mesh Cortex , mesh Cortex )
OPERATOR N ... (arg : mesh Cortex , mesh Cortex )
OPERATOR D ... (arg : mesh Cortex , mesh Cortex )
Assembling Skull x Cortex setting blocks
OPERATOR S ... (arg : mesh Skull , mesh Cortex )
OPERATOR N ... (arg : mesh Skull , mesh Cortex )
OPERATOR D ... (arg : mesh Skull , mesh Cortex )
OPERATOR D*... (arg : mesh Skull , mesh Cortex )
Assembling Skull x Skull (self) setting blocks
OPERATOR S ... (arg : mesh Skull , mesh Skull )
OPERATOR N ... (arg : mesh Skull , mesh Skull )
OPERATOR D ... (arg : mesh Skull , mesh Skull )
Assembling Head x Skull setting blocks
OPERATOR S ... (arg : mesh Head , mesh Skull )
OPERATOR N ... (arg : mesh Head , mesh Skull )
OPERATOR D*... (arg : mesh Head , mesh Skull )
Assembling Head x Head (self) setting blocks
OPERATOR S ... (arg : mesh Head , mesh Head )
OPERATOR N ... (arg : mesh Head , mesh Head )
Deflating current barriers
done
Assembling Head Matrix
Assembling Cortex x Cortex (self) setting blocks
OPERATOR S ... (arg : mesh Cortex , mesh Cortex )
OPERATOR N ... (arg : mesh Cortex , mesh Cortex )
OPERATOR D ... (arg : mesh Cortex , mesh Cortex )
Assembling Skull x Cortex setting blocks
OPERATOR S ... (arg : mesh Skull , mesh Cortex )
OPERATOR N ... (arg : mesh Skull , mesh Cortex )
OPERATOR D ... (arg : mesh Skull , mesh Cortex )
OPERATOR D*... (arg : mesh Skull , mesh Cortex )
Assembling Skull x Skull (self) setting blocks
OPERATOR S ... (arg : mesh Skull , mesh Skull )
OPERATOR N ... (arg : mesh Skull , mesh Skull )
OPERATOR D ... (arg : mesh Skull , mesh Skull )
Assembling Head x Skull setting blocks
OPERATOR S ... (arg : mesh Head , mesh Skull )
OPERATOR N ... (arg : mesh Head , mesh Skull )
OPERATOR D*... (arg : mesh Head , mesh Skull )
Assembling Head x Head (self) setting blocks
OPERATOR S ... (arg : mesh Head , mesh Head )
OPERATOR N ... (arg : mesh Head , mesh Head )
Deflating current barriers
done
______________________ test_python[False-mne_sample_ico3] ______________________
/usr/lib64/python3.14/site-packages/numpy/testing/_private/utils.py:1710: in compare
    return np._core.numeric.isclose(x, y, rtol=rtol, atol=atol,
/usr/lib64/python3.14/site-packages/numpy/_core/numeric.py:2447: in isclose
    result = (less_equal(abs(x-y), atol + rtol * abs(y))
E   ValueError: operands could not be broadcast together with shapes (20124196,) (0,)

During handling of the above exception, another exception occurred:
openmeeg/tests/test_python.py:182: in test_python
    assert_allclose(om.Matrix(hminv).array(), om.Matrix(hminv_inplace).array())
E   ValueError: 
E   error during assertion:
E   
E   Traceback (most recent call last):
E     File "/usr/lib64/python3.14/site-packages/numpy/testing/_private/utils.py", line 851, in assert_array_compare
E       val = comparison(x, y)
E     File "/usr/lib64/python3.14/site-packages/numpy/testing/_private/utils.py", line 1710, in compare
E       return np._core.numeric.isclose(x, y, rtol=rtol, atol=atol,
E              ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^
E                                      equal_nan=equal_nan)
E                                      ^^^^^^^^^^^^^^^^^^^^
E     File "/usr/lib64/python3.14/site-packages/numpy/_core/numeric.py", line 2447, in isclose
E       result = (less_equal(abs(x-y), atol + rtol * abs(y))
E                                ~^~
E   ValueError: operands could not be broadcast together with shapes (20124196,) (0,) 
E   
E   
E   Not equal to tolerance rtol=1e-07, atol=0
E    ACTUAL: array([ -1338.078202,   -177.503851,   -175.947739, ...,    859.361539,
E          -17519.134535,  69338.851141], shape=(20124196,))
E    DESIRED: array([], dtype=float64)
----------------------------- Captured stdout call -----------------------------

********************************************************************************
HeadMat instantiation:
Assembling Head Matrix
Assembling Skull x Skull (self) setting blocks
OPERATOR S ... (arg : mesh Skull , mesh Skull )
OPERATOR N ... (arg : mesh Skull , mesh Skull )
OPERATOR D ... (arg : mesh Skull , mesh Skull )
Assembling Cortex x Skull setting blocks
OPERATOR S ... (arg : mesh Cortex , mesh Skull )
OPERATOR N ... (arg : mesh Cortex , mesh Skull )
OPERATOR D ... (arg : mesh Cortex , mesh Skull )
OPERATOR D*... (arg : mesh Cortex , mesh Skull )
Assembling Cortex x Cortex (self) setting blocks
OPERATOR S ... (arg : mesh Cortex , mesh Cortex )
OPERATOR N ... (arg : mesh Cortex , mesh Cortex )
OPERATOR D ... (arg : mesh Cortex , mesh Cortex )
Assembling Head x Skull setting blocks
OPERATOR S ... (arg : mesh Head , mesh Skull )
OPERATOR N ... (arg : mesh Head , mesh Skull )
OPERATOR D*... (arg : mesh Head , mesh Skull )
Assembling Head x Head (self) setting blocks
OPERATOR S ... (arg : mesh Head , mesh Head )
OPERATOR N ... (arg : mesh Head , mesh Head )
Deflating current barriers
done
Assembling Head Matrix
Assembling Skull x Skull (self) setting blocks
OPERATOR S ... (arg : mesh Skull , mesh Skull )
OPERATOR N ... (arg : mesh Skull , mesh Skull )
OPERATOR D ... (arg : mesh Skull , mesh Skull )
Assembling Cortex x Skull setting blocks
OPERATOR S ... (arg : mesh Cortex , mesh Skull )
OPERATOR N ... (arg : mesh Cortex , mesh Skull )
OPERATOR D ... (arg : mesh Cortex , mesh Skull )
OPERATOR D*... (arg : mesh Cortex , mesh Skull )
Assembling Cortex x Cortex (self) setting blocks
OPERATOR S ... (arg : mesh Cortex , mesh Cortex )
OPERATOR N ... (arg : mesh Cortex , mesh Cortex )
OPERATOR D ... (arg : mesh Cortex , mesh Cortex )
Assembling Head x Skull setting blocks
OPERATOR S ... (arg : mesh Head , mesh Skull )
OPERATOR N ... (arg : mesh Head , mesh Skull )
OPERATOR D*... (arg : mesh Head , mesh Skull )
Assembling Head x Head (self) setting blocks
OPERATOR S ... (arg : mesh Head , mesh Head )
OPERATOR N ... (arg : mesh Head , mesh Head )
Deflating current barriers
done
=============================== warnings summary ===============================
<frozen importlib._bootstrap>:491
  <frozen importlib._bootstrap>:491: DeprecationWarning: builtin type SwigPyPacked has no __module__ attribute

<frozen importlib._bootstrap>:491
  <frozen importlib._bootstrap>:491: DeprecationWarning: builtin type SwigPyObject has no __module__ attribute

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
=========================== short test summary info ============================
FAILED openmeeg/tests/test_python.py::test_python[True-mne_sample_ico3] - ValueError: 
error during assertion:

Traceback (most recent call last):
  File "/usr/lib64/python3.14/site-packages/numpy/testing/_private/utils.py", line 851, in assert_array_compare
    val = comparison(x, y)
  File "/usr/lib64/python3.14/site-packages/numpy/testing/_private/utils.py", line 1710, in compare
    return np._core.numeric.isclose(x, y, rtol=rtol, atol=atol,
           ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^
                                   equal_nan=equal_nan)
                                   ^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/python3.14/site-packages/numpy/_core/numeric.py", line 2447, in isclose
    result = (less_equal(abs(x-y), atol + rtol * abs(y))
                             ~^~
ValueError: operands could not be broadcast together with shapes (20124196,) (0,) 


Not equal to tolerance rtol=1e-07, atol=0
 ACTUAL: array([-3.876467e+02, -8.125914e+01, -8.085192e+01, ...,  1.887874e+03,
       -3.667017e+04,  1.457378e+05], shape=(20124196,))
 DESIRED: array([], dtype=float64)
FAILED openmeeg/tests/test_python.py::test_python[False-mne_sample_ico3] - ValueError: 
error during assertion:

Traceback (most recent call last):
  File "/usr/lib64/python3.14/site-packages/numpy/testing/_private/utils.py", line 851, in assert_array_compare
    val = comparison(x, y)
  File "/usr/lib64/python3.14/site-packages/numpy/testing/_private/utils.py", line 1710, in compare
    return np._core.numeric.isclose(x, y, rtol=rtol, atol=atol,
           ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^
                                   equal_nan=equal_nan)
                                   ^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/python3.14/site-packages/numpy/_core/numeric.py", line 2447, in isclose
    result = (less_equal(abs(x-y), atol + rtol * abs(y))
                             ~^~
ValueError: operands could not be broadcast together with shapes (20124196,) (0,) 


Not equal to tolerance rtol=1e-07, atol=0
 ACTUAL: array([ -1338.078202,   -177.503851,   -175.947739, ...,    859.361539,
       -17519.134535,  69338.851141], shape=(20124196,))
 DESIRED: array([], dtype=float64)
============= 2 failed, 3 passed, 2 warnings in 159.72s (0:02:39) ==============

https://docs.python.org/3.14/whatsnew/3.14.html

For the build logs, see:
https://copr-be.cloud.fedoraproject.org/results/@python/python3.14-b1/fedora-rawhide-x86_64/09027262-openmeeg/

For all our attempts to build openmeeg with Python 3.14, see:
https://copr.fedorainfracloud.org/coprs/g/python/python3.14-b1/package/openmeeg/

Testing and mass rebuild of packages is happening in copr.
You can follow these instructions to test locally in mock if your package builds with Python 3.14:
https://copr.fedorainfracloud.org/coprs/g/python/python3.14-b1/

Let us know here if you have any questions.

Python 3.14 is planned to be included in Fedora 43.
To make that update smoother, we're building Fedora packages with all pre-releases of Python 3.14.
A build failure prevents us from testing all dependent packages (transitive [Build]Requires),
so if this package is required a lot, it's important for us to get it fixed soon.

We'd appreciate help from the people who know this package best,
but if you don't want to work on this now, let us know so we can try to work around it on our side.


Note You need to log in before you can comment on or make changes to this bug.