tlecomte / friture

Real-time audio visualizations (spectrum, spectrogram, etc.)
http://friture.org
GNU General Public License v3.0
935 stars 161 forks source link

[CRITICAL] No longer builds: Numpy 1 is deprecated #280

Closed es20490446e closed 4 months ago

es20490446e commented 5 months ago

Arch Linux now only features numpy 2.0.0.

And if you run friture on it:

A module that was compiled using NumPy 1.x cannot be run in
NumPy 2.0.0 as it may crash. To support both 1.x and 2.x
versions of NumPy, modules must be compiled with NumPy 2.0.
Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.

If you are a user of the module, the easiest solution will be to
downgrade to 'numpy<2' or try to upgrade the affected module.
We expect that some modules will need time to support NumPy 2.

Traceback (most recent call last):  File "/usr/bin/friture", line 5, in <module>
    from friture.analyzer import main
  File "/usr/lib/python3.12/site-packages/friture/analyzer.py", line 43, in <module>
    from friture.dockmanager import DockManager
  File "/usr/lib/python3.12/site-packages/friture/dockmanager.py", line 25, in <module>
    from friture.dock import Dock
  File "/usr/lib/python3.12/site-packages/friture/dock.py", line 23, in <module>
    from friture.widgetdict import getWidgetById, widgetIds
  File "/usr/lib/python3.12/site-packages/friture/widgetdict.py", line 20, in <module>
    from friture.levels import Levels_Widget
  File "/usr/lib/python3.12/site-packages/friture/levels.py", line 32, in <module>
    from friture_extensions.exp_smoothing_conv import pyx_exp_smoothed_value
Unhandled exception: Traceback (most recent call last):
  File "/usr/bin/friture", line 5, in <module>
    from friture.analyzer import main
  File "/usr/lib/python3.12/site-packages/friture/analyzer.py", line 43, in <module>
    from friture.dockmanager import DockManager
  File "/usr/lib/python3.12/site-packages/friture/dockmanager.py", line 25, in <module>
    from friture.dock import Dock
  File "/usr/lib/python3.12/site-packages/friture/dock.py", line 23, in <module>
    from friture.widgetdict import getWidgetById, widgetIds
  File "/usr/lib/python3.12/site-packages/friture/widgetdict.py", line 20, in <module>
    from friture.levels import Levels_Widget
  File "/usr/lib/python3.12/site-packages/friture/levels.py", line 32, in <module>
    from friture_extensions.exp_smoothing_conv import pyx_exp_smoothed_value
  File "friture_extensions/exp_smoothing_conv.pyx", line 1, in init friture_extensions.exp_smoothing_conv
ImportError: numpy.core.multiarray failed to import (auto-generated because you didn't call 'numpy.import_array()' after cimporting numpy; use '<void>numpy._import_array' to disable if you are certain you don't need it).

kf.i18n: KLocalizedString: Using an empty domain, fix the code. msgid: "Abort" msgid_plural: "" msgctxt: "@action:button"
es20490446e commented 4 months ago

While this issue isn't solved, there is no sane way to package friture on Arch Linux.

The software simply doesn't work anymore.

tlecomte commented 4 months ago

Thanks @es20490446e for pointing the compatibility issue!