Cannot install rawpy from AUR

Hey there. I’m making a python app to convert DNG files to JPG files. For that, I need the python-rawpy package. But, I’m having trouble installing it with yay:

[n3rdium@n3rdium-ms7d22 AstroPi]$ yay -S python-rawpy
AUR Explicit (1): python-rawpy-0.18.1-1
AUR Check Dependency (1): python-scikit-image-0.21.0-1
AUR Dependency (1): python-pywavelets-1.4.1-1
:: PKGBUILD up to date, skipping download: python-rawpy
:: PKGBUILD up to date, skipping download: python-scikit-image
:: PKGBUILD up to date, skipping download: python-pywavelets
  3 python-rawpy                     (Build Files Exist)
  2 python-scikit-image              (Build Files Exist)
  1 python-pywavelets                (Build Files Exist)
==> Packages to cleanBuild?
==> [N]one [A]ll [Ab]ort [I]nstalled [No]tInstalled or (1 2 3, 1-3, ^4)
==> A
:: Deleting (1/3): /home/n3rdium/.cache/yay/python-rawpy
HEAD is now at cf0888e update .SRCINFO
Removing python-rawpy-0.18.1.tar.gz
Removing src/
:: Deleting (2/3): /home/n3rdium/.cache/yay/python-scikit-image
HEAD is now at 84d247a Update to SRCINFO
Removing scikit_image-0.21.0.tar.gz
Removing src/
:: Deleting (3/3): /home/n3rdium/.cache/yay/python-pywavelets
HEAD is now at fb45730 Bump version to 1.4.1
warning: could not open directory 'pkg/': Permission denied
Removing pkg/
Removing pywt-1.4.1.tar.gz
Removing src/
  3 python-rawpy                     (Build Files Exist)
  2 python-scikit-image              (Build Files Exist)
  1 python-pywavelets                (Build Files Exist)
==> Diffs to show?
==> [N]one [A]ll [Ab]ort [I]nstalled [No]tInstalled or (1 2 3, 1-3, ^4)
==> 
==> Making package: python-rawpy 0.18.1-1 (Tuesday 20 June 2023 07:08:21 PM)
==> Making package: python-pywavelets 1.4.1-1 (Tuesday 20 June 2023 07:08:21 PM)
==> Retrieving sources...
==> Retrieving sources...
  -> Downloading python-rawpy-0.18.1.tar.gz...
  -> Downloading pywt-1.4.1.tar.gz...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0==> Making package: python-scikit-image 0.21.0-1 (Tuesday 20 June 2023 07:08:22 PM)
==> Retrieving sources...
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
  -> Downloading scikit_image-0.21.0.tar.gz...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100 3849k    0 3849k    0     0  1623k      0 --:--:--  0:00:02 --:--:-- 1888k
==> Validating source files with sha512sums...
    pywt-1.4.1.tar.gz ... Passed
100 21.6M  100 21.6M    0     0  1608k      0  0:00:13  0:00:13 --:--:-- 1347k
==> Validating source files with sha256sums...
    scikit_image-0.21.0.tar.gz ... Passed
100 64.1M    0 64.1M    0     0  4104k      0 --:--:--  0:00:15 --:--:-- 5002k
==> Validating source files with sha256sums...
    python-rawpy-0.18.1.tar.gz ... Passed
:: (1/3) Parsing SRCINFO: python-pywavelets
:: (2/3) Parsing SRCINFO: python-rawpy
:: (3/3) Parsing SRCINFO: python-scikit-image
==> Making package: python-pywavelets 1.4.1-1 (Tuesday 20 June 2023 07:08:38 PM)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
  -> Found pywt-1.4.1.tar.gz
==> Validating source files with sha512sums...
    pywt-1.4.1.tar.gz ... Passed
==> Removing existing $srcdir/ directory...
==> Extracting sources...
  -> Extracting pywt-1.4.1.tar.gz with bsdtar
==> Sources are ready.
==> Making package: python-pywavelets 1.4.1-1 (Tuesday 20 June 2023 07:08:41 PM)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> WARNING: Using existing $srcdir/ tree
==> Starting build()...
Compiling pywt/_extensions/_pywt.pyx because it changed.
Compiling pywt/_extensions/_dwt.pyx because it changed.
Compiling pywt/_extensions/_swt.pyx because it changed.
Compiling pywt/_extensions/_cwt.pyx because it changed.
[1/4] Cythonizing pywt/_extensions/_cwt.pyx
warning: pywt/_extensions/config.pxi:3:0: The 'DEF' statement is deprecated and will be removed in a future Cython version. Consider using global variables, constants, and in-place literals instead. See https://github.com/cython/cython/issues/4310
warning: pywt/_extensions/_pywt.pxd:15:0: The 'IF' statement is deprecated and will be removed in a future Cython version. Consider using runtime conditions or C macros instead. See https://github.com/cython/cython/issues/4310
warning: pywt/_extensions/config.pxi:3:0: The 'DEF' statement is deprecated and will be removed in a future Cython version. Consider using global variables, constants, and in-place literals instead. See https://github.com/cython/cython/issues/4310
warning: pywt/_extensions/c_wt.pxd:89:4: The 'IF' statement is deprecated and will be removed in a future Cython version. Consider using runtime conditions or C macros instead. See https://github.com/cython/cython/issues/4310
[2/4] Cythonizing pywt/_extensions/_dwt.pyx
warning: pywt/_extensions/config.pxi:3:0: The 'DEF' statement is deprecated and will be removed in a future Cython version. Consider using global variables, constants, and in-place literals instead. See https://github.com/cython/cython/issues/4310
warning: pywt/_extensions/_pywt.pxd:15:0: The 'IF' statement is deprecated and will be removed in a future Cython version. Consider using runtime conditions or C macros instead. See https://github.com/cython/cython/issues/4310
warning: pywt/_extensions/config.pxi:3:0: The 'DEF' statement is deprecated and will be removed in a future Cython version. Consider using global variables, constants, and in-place literals instead. See https://github.com/cython/cython/issues/4310
warning: pywt/_extensions/_dwt.pyx:60:4: The 'IF' statement is deprecated and will be removed in a future Cython version. Consider using runtime conditions or C macros instead. See https://github.com/cython/cython/issues/4310
warning: pywt/_extensions/_dwt.pyx:144:4: The 'IF' statement is deprecated and will be removed in a future Cython version. Consider using runtime conditions or C macros instead. See https://github.com/cython/cython/issues/4310
warning: pywt/_extensions/_dwt.pyx:223:4: The 'IF' statement is deprecated and will be removed in a future Cython version. Consider using runtime conditions or C macros instead. See https://github.com/cython/cython/issues/4310
warning: pywt/_extensions/_dwt.pyx:314:4: The 'IF' statement is deprecated and will be removed in a future Cython version. Consider using runtime conditions or C macros instead. See https://github.com/cython/cython/issues/4310
warning: pywt/_extensions/_dwt.pyx:389:8: The 'IF' statement is deprecated and will be removed in a future Cython version. Consider using runtime conditions or C macros instead. See https://github.com/cython/cython/issues/4310
warning: pywt/_extensions/_dwt.pyx:479:8: The 'IF' statement is deprecated and will be removed in a future Cython version. Consider using runtime conditions or C macros instead. See https://github.com/cython/cython/issues/4310
warning: pywt/_extensions/config.pxi:3:0: The 'DEF' statement is deprecated and will be removed in a future Cython version. Consider using global variables, constants, and in-place literals instead. See https://github.com/cython/cython/issues/4310
warning: pywt/_extensions/c_wt.pxd:89:4: The 'IF' statement is deprecated and will be removed in a future Cython version. Consider using runtime conditions or C macros instead. See https://github.com/cython/cython/issues/4310
[3/4] Cythonizing pywt/_extensions/_pywt.pyx
warning: pywt/_extensions/config.pxi:3:0: The 'DEF' statement is deprecated and will be removed in a future Cython version. Consider using global variables, constants, and in-place literals instead. See https://github.com/cython/cython/issues/4310
warning: pywt/_extensions/_pywt.pxd:15:0: The 'IF' statement is deprecated and will be removed in a future Cython version. Consider using runtime conditions or C macros instead. See https://github.com/cython/cython/issues/4310
warning: pywt/_extensions/config.pxi:3:0: The 'DEF' statement is deprecated and will be removed in a future Cython version. Consider using global variables, constants, and in-place literals instead. See https://github.com/cython/cython/issues/4310
warning: pywt/_extensions/c_wt.pxd:89:4: The 'IF' statement is deprecated and will be removed in a future Cython version. Consider using runtime conditions or C macros instead. See https://github.com/cython/cython/issues/4310

Error compiling Cython file:
------------------------------------------------------------
...
                rec_lo = np.asarray(filters[2], dtype=np.float64)
                rec_hi = np.asarray(filters[3], dtype=np.float64)
            except TypeError:
                raise ValueError("Filter bank with numeric values required.")

            if not (1 == dec_lo.ndim == dec_hi.ndim ==
                                     ^
------------------------------------------------------------

pywt/_extensions/_pywt.pyx:400:37: Compiler crash in AnalyseExpressionsTransform

ModuleNode.body = StatListNode(_pywt.pyx:6:0)
StatListNode.stats[23] = StatListNode(_pywt.pyx:331:5)
StatListNode.stats[0] = CClassDefNode(_pywt.pyx:331:5,
    as_name = 'Wavelet',
    class_name = 'Wavelet',
    doc = '\n    Wavelet(name, filter_bank=None) object describe properties of\n    a wavelet identified by name.\n\n    In order to use a built-in wavelet the parameter name must be\n    a valid name from the wavelist() list.\n    To create a custom wavelet object, filter_bank parameter must\n    be specified. It can be either a list of four filters or an object\n    that a `filter_bank` attribute which returns a list of four\n    filters - just like the Wavelet instance itself.\n\n    ',
    module_name = '',
    objstruct_name = 'WaveletObject',
    punycode_class_name = 'Wavelet',
    typeobj_name = 'WaveletType',
    visibility = 'public')
CClassDefNode.body = StatListNode(_pywt.pyx:332:4)
StatListNode.stats[0] = DefNode(_pywt.pyx:345:4,
    modifiers = [...]/0,
    name = '__cinit__',
    np_args_idx = [...]/0,
    num_required_args = 1,
    outer_attrs = [...]/2,
    py_wrapper_required = True,
    reqd_kw_flags_cname = '0',
    used = True)
File 'Nodes.py', line 397, in analyse_expressions: StatListNode(_pywt.pyx:346:8)
File 'Nodes.py', line 7025, in analyse_expressions: IfStatNode(_pywt.pyx:354:8)
File 'Nodes.py', line 397, in analyse_expressions: StatListNode(_pywt.pyx:369:12)
File 'Nodes.py', line 7023, in analyse_expressions: IfStatNode(_pywt.pyx:400:12)
File 'Nodes.py', line 7069, in analyse_expressions: IfClauseNode(_pywt.pyx:400:15,
    is_terminator = True)
File 'ExprNodes.py', line 657, in analyse_temp_boolean_expression: NotNode(_pywt.pyx:400:15,
    infix = True,
    operator = '!',
    result_is_used = True,
    use_managed_ref = True)
File 'ExprNodes.py', line 10703, in analyse_types: NotNode(_pywt.pyx:400:15,
    infix = True,
    operator = '!',
    result_is_used = True,
    use_managed_ref = True)
File 'ExprNodes.py', line 13404, in coerce_to_boolean: PrimaryCmpNode(_pywt.pyx:400:22,
    is_temp = 1,
    operator = '==',
    result_is_used = True,
    special_bool_cmp_function = '__Pyx_PyInt_BoolEqCObj',
    use_managed_ref = True)
File 'ExprNodes.py', line 13544, in optimise_comparison: CascadedCmpNode(_pywt.pyx:400:37,
    operator = '==')
File 'ExprNodes.py', line 13096, in find_special_bool_compare_function: CascadedCmpNode(_pywt.pyx:400:37,
    operator = '==')

Compiler crash traceback from this point on:
  File "/home/n3rdium/.local/lib/python3.11/site-packages/Cython/Compiler/ExprNodes.py", line 13096, in find_special_bool_compare_function
    self.operand1,
    ^^^^^^^^^^^^^
AttributeError: 'CascadedCmpNode' object has no attribute 'operand1'
Traceback (most recent call last):
  File "/home/n3rdium/.cache/yay/python-pywavelets/src/pywt-1.4.1/setup.py", line 478, in <module>
    setup_package()
  File "/home/n3rdium/.cache/yay/python-pywavelets/src/pywt-1.4.1/setup.py", line 470, in setup_package
    ext_modules = cythonize(ext_modules, compiler_directives=cythonize_opts)
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/n3rdium/.local/lib/python3.11/site-packages/Cython/Build/Dependencies.py", line 1134, in cythonize
    cythonize_one(*args)
  File "/home/n3rdium/.local/lib/python3.11/site-packages/Cython/Build/Dependencies.py", line 1301, in cythonize_one
    raise CompileError(None, pyx_file)
Cython.Compiler.Errors.CompileError: pywt/_extensions/_pywt.pyx
==> ERROR: A failure occurred in build().
    Aborting...
 -> Failed to install layer, rolling up to next layer.error:error making: python-pywavelets - exit status 4
==> Making package: python-pywavelets 1.4.1-1 (Tuesday 20 June 2023 07:08:44 PM)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
  -> Found pywt-1.4.1.tar.gz
==> Validating source files with sha512sums...
    pywt-1.4.1.tar.gz ... Passed
==> Removing existing $srcdir/ directory...
==> Extracting sources...
  -> Extracting pywt-1.4.1.tar.gz with bsdtar
==> Sources are ready.
==> Making package: python-pywavelets 1.4.1-1 (Tuesday 20 June 2023 07:08:46 PM)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> WARNING: Using existing $srcdir/ tree
==> Removing existing $pkgdir/ directory...
==> Starting build()...
Compiling pywt/_extensions/_pywt.pyx because it changed.
Compiling pywt/_extensions/_dwt.pyx because it changed.
Compiling pywt/_extensions/_swt.pyx because it changed.
Compiling pywt/_extensions/_cwt.pyx because it changed.
[1/4] Cythonizing pywt/_extensions/_cwt.pyx
warning: pywt/_extensions/config.pxi:3:0: The 'DEF' statement is deprecated and will be removed in a future Cython version. Consider using global variables, constants, and in-place literals instead. See https://github.com/cython/cython/issues/4310
warning: pywt/_extensions/_pywt.pxd:15:0: The 'IF' statement is deprecated and will be removed in a future Cython version. Consider using runtime conditions or C macros instead. See https://github.com/cython/cython/issues/4310
warning: pywt/_extensions/config.pxi:3:0: The 'DEF' statement is deprecated and will be removed in a future Cython version. Consider using global variables, constants, and in-place literals instead. See https://github.com/cython/cython/issues/4310
warning: pywt/_extensions/c_wt.pxd:89:4: The 'IF' statement is deprecated and will be removed in a future Cython version. Consider using runtime conditions or C macros instead. See https://github.com/cython/cython/issues/4310
[2/4] Cythonizing pywt/_extensions/_dwt.pyx
warning: pywt/_extensions/config.pxi:3:0: The 'DEF' statement is deprecated and will be removed in a future Cython version. Consider using global variables, constants, and in-place literals instead. See https://github.com/cython/cython/issues/4310
warning: pywt/_extensions/_pywt.pxd:15:0: The 'IF' statement is deprecated and will be removed in a future Cython version. Consider using runtime conditions or C macros instead. See https://github.com/cython/cython/issues/4310
warning: pywt/_extensions/config.pxi:3:0: The 'DEF' statement is deprecated and will be removed in a future Cython version. Consider using global variables, constants, and in-place literals instead. See https://github.com/cython/cython/issues/4310
warning: pywt/_extensions/_dwt.pyx:60:4: The 'IF' statement is deprecated and will be removed in a future Cython version. Consider using runtime conditions or C macros instead. See https://github.com/cython/cython/issues/4310
warning: pywt/_extensions/_dwt.pyx:144:4: The 'IF' statement is deprecated and will be removed in a future Cython version. Consider using runtime conditions or C macros instead. See https://github.com/cython/cython/issues/4310
warning: pywt/_extensions/_dwt.pyx:223:4: The 'IF' statement is deprecated and will be removed in a future Cython version. Consider using runtime conditions or C macros instead. See https://github.com/cython/cython/issues/4310
warning: pywt/_extensions/_dwt.pyx:314:4: The 'IF' statement is deprecated and will be removed in a future Cython version. Consider using runtime conditions or C macros instead. See https://github.com/cython/cython/issues/4310
warning: pywt/_extensions/_dwt.pyx:389:8: The 'IF' statement is deprecated and will be removed in a future Cython version. Consider using runtime conditions or C macros instead. See https://github.com/cython/cython/issues/4310
warning: pywt/_extensions/_dwt.pyx:479:8: The 'IF' statement is deprecated and will be removed in a future Cython version. Consider using runtime conditions or C macros instead. See https://github.com/cython/cython/issues/4310
warning: pywt/_extensions/config.pxi:3:0: The 'DEF' statement is deprecated and will be removed in a future Cython version. Consider using global variables, constants, and in-place literals instead. See https://github.com/cython/cython/issues/4310
warning: pywt/_extensions/c_wt.pxd:89:4: The 'IF' statement is deprecated and will be removed in a future Cython version. Consider using runtime conditions or C macros instead. See https://github.com/cython/cython/issues/4310
[3/4] Cythonizing pywt/_extensions/_pywt.pyx
warning: pywt/_extensions/config.pxi:3:0: The 'DEF' statement is deprecated and will be removed in a future Cython version. Consider using global variables, constants, and in-place literals instead. See https://github.com/cython/cython/issues/4310
warning: pywt/_extensions/_pywt.pxd:15:0: The 'IF' statement is deprecated and will be removed in a future Cython version. Consider using runtime conditions or C macros instead. See https://github.com/cython/cython/issues/4310
warning: pywt/_extensions/config.pxi:3:0: The 'DEF' statement is deprecated and will be removed in a future Cython version. Consider using global variables, constants, and in-place literals instead. See https://github.com/cython/cython/issues/4310
warning: pywt/_extensions/c_wt.pxd:89:4: The 'IF' statement is deprecated and will be removed in a future Cython version. Consider using runtime conditions or C macros instead. See https://github.com/cython/cython/issues/4310

Error compiling Cython file:
------------------------------------------------------------
...
                rec_lo = np.asarray(filters[2], dtype=np.float64)
                rec_hi = np.asarray(filters[3], dtype=np.float64)
            except TypeError:
                raise ValueError("Filter bank with numeric values required.")

            if not (1 == dec_lo.ndim == dec_hi.ndim ==
                                     ^
------------------------------------------------------------

pywt/_extensions/_pywt.pyx:400:37: Compiler crash in AnalyseExpressionsTransform

ModuleNode.body = StatListNode(_pywt.pyx:6:0)
StatListNode.stats[23] = StatListNode(_pywt.pyx:331:5)
StatListNode.stats[0] = CClassDefNode(_pywt.pyx:331:5,
    as_name = 'Wavelet',
    class_name = 'Wavelet',
    doc = '\n    Wavelet(name, filter_bank=None) object describe properties of\n    a wavelet identified by name.\n\n    In order to use a built-in wavelet the parameter name must be\n    a valid name from the wavelist() list.\n    To create a custom wavelet object, filter_bank parameter must\n    be specified. It can be either a list of four filters or an object\n    that a `filter_bank` attribute which returns a list of four\n    filters - just like the Wavelet instance itself.\n\n    ',
    module_name = '',
    objstruct_name = 'WaveletObject',
    punycode_class_name = 'Wavelet',
    typeobj_name = 'WaveletType',
    visibility = 'public')
CClassDefNode.body = StatListNode(_pywt.pyx:332:4)
StatListNode.stats[0] = DefNode(_pywt.pyx:345:4,
    modifiers = [...]/0,
    name = '__cinit__',
    np_args_idx = [...]/0,
    num_required_args = 1,
    outer_attrs = [...]/2,
    py_wrapper_required = True,
    reqd_kw_flags_cname = '0',
    used = True)
File 'Nodes.py', line 397, in analyse_expressions: StatListNode(_pywt.pyx:346:8)
File 'Nodes.py', line 7025, in analyse_expressions: IfStatNode(_pywt.pyx:354:8)
File 'Nodes.py', line 397, in analyse_expressions: StatListNode(_pywt.pyx:369:12)
File 'Nodes.py', line 7023, in analyse_expressions: IfStatNode(_pywt.pyx:400:12)
File 'Nodes.py', line 7069, in analyse_expressions: IfClauseNode(_pywt.pyx:400:15,
    is_terminator = True)
File 'ExprNodes.py', line 657, in analyse_temp_boolean_expression: NotNode(_pywt.pyx:400:15,
    infix = True,
    operator = '!',
    result_is_used = True,
    use_managed_ref = True)
File 'ExprNodes.py', line 10703, in analyse_types: NotNode(_pywt.pyx:400:15,
    infix = True,
    operator = '!',
    result_is_used = True,
    use_managed_ref = True)
File 'ExprNodes.py', line 13404, in coerce_to_boolean: PrimaryCmpNode(_pywt.pyx:400:22,
    is_temp = 1,
    operator = '==',
    result_is_used = True,
    special_bool_cmp_function = '__Pyx_PyInt_BoolEqCObj',
    use_managed_ref = True)
File 'ExprNodes.py', line 13544, in optimise_comparison: CascadedCmpNode(_pywt.pyx:400:37,
    operator = '==')
File 'ExprNodes.py', line 13096, in find_special_bool_compare_function: CascadedCmpNode(_pywt.pyx:400:37,
    operator = '==')

Compiler crash traceback from this point on:
  File "/home/n3rdium/.local/lib/python3.11/site-packages/Cython/Compiler/ExprNodes.py", line 13096, in find_special_bool_compare_function
    self.operand1,
    ^^^^^^^^^^^^^
AttributeError: 'CascadedCmpNode' object has no attribute 'operand1'
Traceback (most recent call last):
  File "/home/n3rdium/.cache/yay/python-pywavelets/src/pywt-1.4.1/setup.py", line 478, in <module>
    setup_package()
  File "/home/n3rdium/.cache/yay/python-pywavelets/src/pywt-1.4.1/setup.py", line 470, in setup_package
    ext_modules = cythonize(ext_modules, compiler_directives=cythonize_opts)
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/n3rdium/.local/lib/python3.11/site-packages/Cython/Build/Dependencies.py", line 1134, in cythonize
    cythonize_one(*args)
  File "/home/n3rdium/.local/lib/python3.11/site-packages/Cython/Build/Dependencies.py", line 1301, in cythonize_one
    raise CompileError(None, pyx_file)
Cython.Compiler.Errors.CompileError: pywt/_extensions/_pywt.pyx
==> ERROR: A failure occurred in build().
    Aborting...
 -> Failed to install layer, rolling up to next layer.error:error making: python-pywavelets - exit status 4
==> Making package: python-pywavelets 1.4.1-1 (Tuesday 20 June 2023 07:08:49 PM)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
  -> Found pywt-1.4.1.tar.gz
==> Validating source files with sha512sums...
    pywt-1.4.1.tar.gz ... Passed
==> Removing existing $srcdir/ directory...
==> Extracting sources...
  -> Extracting pywt-1.4.1.tar.gz with bsdtar
==> Sources are ready.
==> Making package: python-pywavelets 1.4.1-1 (Tuesday 20 June 2023 07:08:51 PM)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> WARNING: Using existing $srcdir/ tree
==> Removing existing $pkgdir/ directory...
==> Starting build()...
Compiling pywt/_extensions/_pywt.pyx because it changed.
Compiling pywt/_extensions/_dwt.pyx because it changed.
Compiling pywt/_extensions/_swt.pyx because it changed.
Compiling pywt/_extensions/_cwt.pyx because it changed.
[1/4] Cythonizing pywt/_extensions/_cwt.pyx
warning: pywt/_extensions/config.pxi:3:0: The 'DEF' statement is deprecated and will be removed in a future Cython version. Consider using global variables, constants, and in-place literals instead. See https://github.com/cython/cython/issues/4310
warning: pywt/_extensions/_pywt.pxd:15:0: The 'IF' statement is deprecated and will be removed in a future Cython version. Consider using runtime conditions or C macros instead. See https://github.com/cython/cython/issues/4310
warning: pywt/_extensions/config.pxi:3:0: The 'DEF' statement is deprecated and will be removed in a future Cython version. Consider using global variables, constants, and in-place literals instead. See https://github.com/cython/cython/issues/4310
warning: pywt/_extensions/c_wt.pxd:89:4: The 'IF' statement is deprecated and will be removed in a future Cython version. Consider using runtime conditions or C macros instead. See https://github.com/cython/cython/issues/4310
[2/4] Cythonizing pywt/_extensions/_dwt.pyx
warning: pywt/_extensions/config.pxi:3:0: The 'DEF' statement is deprecated and will be removed in a future Cython version. Consider using global variables, constants, and in-place literals instead. See https://github.com/cython/cython/issues/4310
warning: pywt/_extensions/_pywt.pxd:15:0: The 'IF' statement is deprecated and will be removed in a future Cython version. Consider using runtime conditions or C macros instead. See https://github.com/cython/cython/issues/4310
warning: pywt/_extensions/config.pxi:3:0: The 'DEF' statement is deprecated and will be removed in a future Cython version. Consider using global variables, constants, and in-place literals instead. See https://github.com/cython/cython/issues/4310
warning: pywt/_extensions/_dwt.pyx:60:4: The 'IF' statement is deprecated and will be removed in a future Cython version. Consider using runtime conditions or C macros instead. See https://github.com/cython/cython/issues/4310
warning: pywt/_extensions/_dwt.pyx:144:4: The 'IF' statement is deprecated and will be removed in a future Cython version. Consider using runtime conditions or C macros instead. See https://github.com/cython/cython/issues/4310
warning: pywt/_extensions/_dwt.pyx:223:4: The 'IF' statement is deprecated and will be removed in a future Cython version. Consider using runtime conditions or C macros instead. See https://github.com/cython/cython/issues/4310
warning: pywt/_extensions/_dwt.pyx:314:4: The 'IF' statement is deprecated and will be removed in a future Cython version. Consider using runtime conditions or C macros instead. See https://github.com/cython/cython/issues/4310
warning: pywt/_extensions/_dwt.pyx:389:8: The 'IF' statement is deprecated and will be removed in a future Cython version. Consider using runtime conditions or C macros instead. See https://github.com/cython/cython/issues/4310
warning: pywt/_extensions/_dwt.pyx:479:8: The 'IF' statement is deprecated and will be removed in a future Cython version. Consider using runtime conditions or C macros instead. See https://github.com/cython/cython/issues/4310
warning: pywt/_extensions/config.pxi:3:0: The 'DEF' statement is deprecated and will be removed in a future Cython version. Consider using global variables, constants, and in-place literals instead. See https://github.com/cython/cython/issues/4310
warning: pywt/_extensions/c_wt.pxd:89:4: The 'IF' statement is deprecated and will be removed in a future Cython version. Consider using runtime conditions or C macros instead. See https://github.com/cython/cython/issues/4310
[3/4] Cythonizing pywt/_extensions/_pywt.pyx
warning: pywt/_extensions/config.pxi:3:0: The 'DEF' statement is deprecated and will be removed in a future Cython version. Consider using global variables, constants, and in-place literals instead. See https://github.com/cython/cython/issues/4310
warning: pywt/_extensions/_pywt.pxd:15:0: The 'IF' statement is deprecated and will be removed in a future Cython version. Consider using runtime conditions or C macros instead. See https://github.com/cython/cython/issues/4310
warning: pywt/_extensions/config.pxi:3:0: The 'DEF' statement is deprecated and will be removed in a future Cython version. Consider using global variables, constants, and in-place literals instead. See https://github.com/cython/cython/issues/4310
warning: pywt/_extensions/c_wt.pxd:89:4: The 'IF' statement is deprecated and will be removed in a future Cython version. Consider using runtime conditions or C macros instead. See https://github.com/cython/cython/issues/4310

Error compiling Cython file:
------------------------------------------------------------
...
                rec_lo = np.asarray(filters[2], dtype=np.float64)
                rec_hi = np.asarray(filters[3], dtype=np.float64)
            except TypeError:
                raise ValueError("Filter bank with numeric values required.")

            if not (1 == dec_lo.ndim == dec_hi.ndim ==
                                     ^
------------------------------------------------------------

pywt/_extensions/_pywt.pyx:400:37: Compiler crash in AnalyseExpressionsTransform

ModuleNode.body = StatListNode(_pywt.pyx:6:0)
StatListNode.stats[23] = StatListNode(_pywt.pyx:331:5)
StatListNode.stats[0] = CClassDefNode(_pywt.pyx:331:5,
    as_name = 'Wavelet',
    class_name = 'Wavelet',
    doc = '\n    Wavelet(name, filter_bank=None) object describe properties of\n    a wavelet identified by name.\n\n    In order to use a built-in wavelet the parameter name must be\n    a valid name from the wavelist() list.\n    To create a custom wavelet object, filter_bank parameter must\n    be specified. It can be either a list of four filters or an object\n    that a `filter_bank` attribute which returns a list of four\n    filters - just like the Wavelet instance itself.\n\n    ',
    module_name = '',
    objstruct_name = 'WaveletObject',
    punycode_class_name = 'Wavelet',
    typeobj_name = 'WaveletType',
    visibility = 'public')
CClassDefNode.body = StatListNode(_pywt.pyx:332:4)
StatListNode.stats[0] = DefNode(_pywt.pyx:345:4,
    modifiers = [...]/0,
    name = '__cinit__',
    np_args_idx = [...]/0,
    num_required_args = 1,
    outer_attrs = [...]/2,
    py_wrapper_required = True,
    reqd_kw_flags_cname = '0',
    used = True)
File 'Nodes.py', line 397, in analyse_expressions: StatListNode(_pywt.pyx:346:8)
File 'Nodes.py', line 7025, in analyse_expressions: IfStatNode(_pywt.pyx:354:8)
File 'Nodes.py', line 397, in analyse_expressions: StatListNode(_pywt.pyx:369:12)
File 'Nodes.py', line 7023, in analyse_expressions: IfStatNode(_pywt.pyx:400:12)
File 'Nodes.py', line 7069, in analyse_expressions: IfClauseNode(_pywt.pyx:400:15,
    is_terminator = True)
File 'ExprNodes.py', line 657, in analyse_temp_boolean_expression: NotNode(_pywt.pyx:400:15,
    infix = True,
    operator = '!',
    result_is_used = True,
    use_managed_ref = True)
File 'ExprNodes.py', line 10703, in analyse_types: NotNode(_pywt.pyx:400:15,
    infix = True,
    operator = '!',
    result_is_used = True,
    use_managed_ref = True)
File 'ExprNodes.py', line 13404, in coerce_to_boolean: PrimaryCmpNode(_pywt.pyx:400:22,
    is_temp = 1,
    operator = '==',
    result_is_used = True,
    special_bool_cmp_function = '__Pyx_PyInt_BoolEqCObj',
    use_managed_ref = True)
File 'ExprNodes.py', line 13544, in optimise_comparison: CascadedCmpNode(_pywt.pyx:400:37,
    operator = '==')
File 'ExprNodes.py', line 13096, in find_special_bool_compare_function: CascadedCmpNode(_pywt.pyx:400:37,
    operator = '==')

Compiler crash traceback from this point on:
  File "/home/n3rdium/.local/lib/python3.11/site-packages/Cython/Compiler/ExprNodes.py", line 13096, in find_special_bool_compare_function
    self.operand1,
    ^^^^^^^^^^^^^
AttributeError: 'CascadedCmpNode' object has no attribute 'operand1'
Traceback (most recent call last):
  File "/home/n3rdium/.cache/yay/python-pywavelets/src/pywt-1.4.1/setup.py", line 478, in <module>
    setup_package()
  File "/home/n3rdium/.cache/yay/python-pywavelets/src/pywt-1.4.1/setup.py", line 470, in setup_package
    ext_modules = cythonize(ext_modules, compiler_directives=cythonize_opts)
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/n3rdium/.local/lib/python3.11/site-packages/Cython/Build/Dependencies.py", line 1134, in cythonize
    cythonize_one(*args)
  File "/home/n3rdium/.local/lib/python3.11/site-packages/Cython/Build/Dependencies.py", line 1301, in cythonize_one
    raise CompileError(None, pyx_file)
Cython.Compiler.Errors.CompileError: pywt/_extensions/_pywt.pyx
==> ERROR: A failure occurred in build().
    Aborting...
 -> error making: python-pywavelets-exit status 4
==> Making package: python-scikit-image 0.21.0-1 (Tuesday 20 June 2023 07:08:56 PM)
==> Checking runtime dependencies...
==> Missing dependencies:
  -> python-pywavelets>=1.1.1
==> Checking buildtime dependencies...
==> ERROR: Could not resolve all dependencies.
 -> error making: python-scikit-image-exit status 8
==> Making package: python-rawpy 0.18.1-1 (Tuesday 20 June 2023 07:08:57 PM)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Missing dependencies:
  -> python-scikit-image
==> ERROR: Could not resolve all dependencies.
 -> error making: python-rawpy-exit status 8
 -> Failed to install the following packages. Manual intervention is required:
python-pywavelets - exit status 4
python-scikit-image - exit status 8
python-rawpy - exit status 8

Try clean building python-pywavelets and python-scikit-image. The builds of those packages is failing.

1 Like

I’m quite new to this. Anyway, if clean building means putting ‘A’ where it asks to cleanbuild, I’ve already tried that with no luck : (

Can you share the output of which cython and cython --version

which cython:
/usr/bin/cython

cython --version:
Cython version 3.0.0b2

1 Like

Can you share the output of pacman -Qo cython

1 Like
/usr/bin/cython is owned by cython 0.29.35-2
[n3rdium@n3rdium-ms7d22 ~]$ 

You appear to have done something which overwrote you version of cython. It should be at 0.29.35 but your is at 3.0.0b2.

Did you do some manual installs or use sudo pip ?

With an Arch based distro, you should never manually install software to system locations, it will break things.

Nope. When I do pip install, it shows that it’s an “externally managed environment”, so I have to install packages with yay. Any way to override that?

Well…“something” overwrote /usr/bin/cython and it wasn’t a package.

I can’t say what you did exactly but the results show that it happened.

Should I remove cython? Pip install still doesn’t work, tho!

You can reinstall it with sudo pacman -Syu cython.

Are you using pip install with sudo or as root? Because, if so, you shouldn’t.

I’m not using pip as root, as you can see here:

[n3rdium@n3rdium-ms7d22 ~]$ pip install cython
error: externally-managed-environment

× This environment is externally managed
╰─> To install Python packages system-wide, try 'pacman -S
    python-xyz', where xyz is the package you are trying to
    install.
    
    If you wish to install a non-Arch-packaged Python package,
    create a virtual environment using 'python -m venv path/to/venv'.
    Then use path/to/venv/bin/python and path/to/venv/bin/pip.
    
    If you wish to install a non-Arch packaged Python application,
    it may be easiest to use 'pipx install xyz', which will manage a
    virtual environment for you. Make sure you have python-pipx
    installed via pacman.

note: If you believe this is a mistake, please contact your Python installation or OS distribution provider. You can override this, at the risk of breaking your Python installation or OS, by passing --break-system-packages.
hint: See PEP 668 for the detailed specification.

Either way, you need to fix your python environment.

Start by trying to reinstall cython.

How do I fix my python env?

Since you don’t know how you broke it in the first place, it is hard to answer that question.

You might consider reinstalling since you don’t know what has been done to your system. cython getting overwritten like that won’t happen through any normal means. You would have had to run a process as root to do it and it wasn’t done via the package manager.

One mistake a lot of new users make is that they think they are supposed to download and install software manually like is done in some other OSes. However, on an Arch-based distro, you should always use the package manager to install software. If you must install something manually, install it to your home directory.

When I try uninstalling python to install it again, it says that there are many depending packages. What do I do? I’m confused.

Well…yeah, don’t uninstall it, reinstall it. Just run the command I gave you above.

Did that, still getting that annoying error:

[n3rdium@n3rdium-ms7d22 ~]$ pip install example
error: externally-managed-environment

× This environment is externally managed
╰─> To install Python packages system-wide, try 'pacman -S
    python-xyz', where xyz is the package you are trying to
    install.
    
    If you wish to install a non-Arch-packaged Python package,
    create a virtual environment using 'python -m venv path/to/venv'.
    Then use path/to/venv/bin/python and path/to/venv/bin/pip.
    
    If you wish to install a non-Arch packaged Python application,
    it may be easiest to use 'pipx install xyz', which will manage a
    virtual environment for you. Make sure you have python-pipx
    installed via pacman.

note: If you believe this is a mistake, please contact your Python installation or OS distribution provider. You can override this, at the risk of breaking your Python installation or OS, by passing --break-system-packages.
hint: See PEP 668 for the detailed specification.

What does cython --version show now?

1 Like