# Cannot install rawpy from AUR

**URL:** <https://forum.endeavouros.com/t/cannot-install-rawpy-from-aur/42243>\
**Category:** Applications\
**Created:** [June 20, 2023, 1:39pm UTC](https://forum.endeavouros.com/t/cannot-install-rawpy-from-aur/42243 "2023-06-20T13:39:19Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![N3RDIUM](https://forum.endeavouros.com/user_avatar/forum.endeavouros.com/n3rdium/32/74675_2.png) [@N3RDIUM](https://forum.endeavouros.com/u/N3RDIUM)\
**Post date:** [June 20, 2023, 1:39pm UTC](https://forum.endeavouros.com/t/cannot-install-rawpy-from-aur/42243/1 "2023-06-20T13:39:19Z")

</div>

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:

```auto
[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

```

---

<div class="post-metadata">

**Author:** ![dalto](https://forum.endeavouros.com/user_avatar/forum.endeavouros.com/dalto/32/5577_2.png) [@dalto](https://forum.endeavouros.com/u/dalto)\
**Post date:** [June 20, 2023, 1:47pm UTC](https://forum.endeavouros.com/t/cannot-install-rawpy-from-aur/42243/2 "2023-06-20T13:47:09Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![N3RDIUM](https://forum.endeavouros.com/user_avatar/forum.endeavouros.com/n3rdium/32/74675_2.png) [@N3RDIUM](https://forum.endeavouros.com/u/N3RDIUM)\
**Post date:** [June 20, 2023, 1:49pm UTC](https://forum.endeavouros.com/t/cannot-install-rawpy-from-aur/42243/3 "2023-06-20T13:49:23Z")

</div>

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 : (

---

<div class="post-metadata">

**Author:** ![dalto](https://forum.endeavouros.com/user_avatar/forum.endeavouros.com/dalto/32/5577_2.png) [@dalto](https://forum.endeavouros.com/u/dalto)\
**Post date:** [June 20, 2023, 1:51pm UTC](https://forum.endeavouros.com/t/cannot-install-rawpy-from-aur/42243/4 "2023-06-20T13:51:59Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![N3RDIUM](https://forum.endeavouros.com/user_avatar/forum.endeavouros.com/n3rdium/32/74675_2.png) [@N3RDIUM](https://forum.endeavouros.com/u/N3RDIUM)\
**Post date:** [June 20, 2023, 1:52pm UTC](https://forum.endeavouros.com/t/cannot-install-rawpy-from-aur/42243/5 "2023-06-20T13:52:54Z")

</div>

`which cython`:  
`/usr/bin/cython`

`cython --version`:  
`Cython version 3.0.0b2`

---

<div class="post-metadata">

**Author:** ![dalto](https://forum.endeavouros.com/user_avatar/forum.endeavouros.com/dalto/32/5577_2.png) [@dalto](https://forum.endeavouros.com/u/dalto)\
**Post date:** [June 20, 2023, 1:55pm UTC](https://forum.endeavouros.com/t/cannot-install-rawpy-from-aur/42243/6 "2023-06-20T13:55:00Z")

</div>

Can you share the output of `pacman -Qo cython`

---

<div class="post-metadata">

**Author:** ![N3RDIUM](https://forum.endeavouros.com/user_avatar/forum.endeavouros.com/n3rdium/32/74675_2.png) [@N3RDIUM](https://forum.endeavouros.com/u/N3RDIUM)\
**Post date:** [June 20, 2023, 1:55pm UTC](https://forum.endeavouros.com/t/cannot-install-rawpy-from-aur/42243/7 "2023-06-20T13:55:19Z")

</div>

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

```

---

<div class="post-metadata">

**Author:** ![dalto](https://forum.endeavouros.com/user_avatar/forum.endeavouros.com/dalto/32/5577_2.png) [@dalto](https://forum.endeavouros.com/u/dalto)\
**Post date:** [June 20, 2023, 1:56pm UTC](https://forum.endeavouros.com/t/cannot-install-rawpy-from-aur/42243/8 "2023-06-20T13:56:55Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![N3RDIUM](https://forum.endeavouros.com/user_avatar/forum.endeavouros.com/n3rdium/32/74675_2.png) [@N3RDIUM](https://forum.endeavouros.com/u/N3RDIUM)\
**Post date:** [June 20, 2023, 1:57pm UTC](https://forum.endeavouros.com/t/cannot-install-rawpy-from-aur/42243/9 "2023-06-20T13:57:52Z")

</div>

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?

---

<div class="post-metadata">

**Author:** ![dalto](https://forum.endeavouros.com/user_avatar/forum.endeavouros.com/dalto/32/5577_2.png) [@dalto](https://forum.endeavouros.com/u/dalto)\
**Post date:** [June 20, 2023, 1:58pm UTC](https://forum.endeavouros.com/t/cannot-install-rawpy-from-aur/42243/10 "2023-06-20T13:58:59Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![N3RDIUM](https://forum.endeavouros.com/user_avatar/forum.endeavouros.com/n3rdium/32/74675_2.png) [@N3RDIUM](https://forum.endeavouros.com/u/N3RDIUM)\
**Post date:** [June 20, 2023, 1:59pm UTC](https://forum.endeavouros.com/t/cannot-install-rawpy-from-aur/42243/11 "2023-06-20T13:59:23Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![dalto](https://forum.endeavouros.com/user_avatar/forum.endeavouros.com/dalto/32/5577_2.png) [@dalto](https://forum.endeavouros.com/u/dalto)\
**Post date:** [June 20, 2023, 2:00pm UTC](https://forum.endeavouros.com/t/cannot-install-rawpy-from-aur/42243/12 "2023-06-20T14:00:37Z")

</div>

> [@N3RDIUM](#):
>
> Should I remove cython?

You can reinstall it with `sudo pacman -Syu cython`.

> [@N3RDIUM](#):
>
> Pip install still doesn’t work, tho!

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

---

<div class="post-metadata">

**Author:** ![N3RDIUM](https://forum.endeavouros.com/user_avatar/forum.endeavouros.com/n3rdium/32/74675_2.png) [@N3RDIUM](https://forum.endeavouros.com/u/N3RDIUM)\
**Post date:** [June 20, 2023, 2:02pm UTC](https://forum.endeavouros.com/t/cannot-install-rawpy-from-aur/42243/13 "2023-06-20T14:02:01Z")

</div>

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

```auto
[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.

```

---

<div class="post-metadata">

**Author:** ![dalto](https://forum.endeavouros.com/user_avatar/forum.endeavouros.com/dalto/32/5577_2.png) [@dalto](https://forum.endeavouros.com/u/dalto)\
**Post date:** [June 20, 2023, 2:03pm UTC](https://forum.endeavouros.com/t/cannot-install-rawpy-from-aur/42243/14 "2023-06-20T14:03:20Z")

</div>

Either way, you need to fix your python environment.

Start by trying to reinstall `cython`.

---

<div class="post-metadata">

**Author:** ![N3RDIUM](https://forum.endeavouros.com/user_avatar/forum.endeavouros.com/n3rdium/32/74675_2.png) [@N3RDIUM](https://forum.endeavouros.com/u/N3RDIUM)\
**Post date:** [June 20, 2023, 2:04pm UTC](https://forum.endeavouros.com/t/cannot-install-rawpy-from-aur/42243/15 "2023-06-20T14:04:39Z")

</div>

How do I fix my python env?

---

<div class="post-metadata">

**Author:** ![dalto](https://forum.endeavouros.com/user_avatar/forum.endeavouros.com/dalto/32/5577_2.png) [@dalto](https://forum.endeavouros.com/u/dalto)\
**Post date:** [June 20, 2023, 2:06pm UTC](https://forum.endeavouros.com/t/cannot-install-rawpy-from-aur/42243/16 "2023-06-20T14:06:48Z")

</div>

> [@N3RDIUM](#):
>
> 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.

---

<div class="post-metadata">

**Author:** ![N3RDIUM](https://forum.endeavouros.com/user_avatar/forum.endeavouros.com/n3rdium/32/74675_2.png) [@N3RDIUM](https://forum.endeavouros.com/u/N3RDIUM)\
**Post date:** [June 20, 2023, 2:08pm UTC](https://forum.endeavouros.com/t/cannot-install-rawpy-from-aur/42243/17 "2023-06-20T14:08:01Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![dalto](https://forum.endeavouros.com/user_avatar/forum.endeavouros.com/dalto/32/5577_2.png) [@dalto](https://forum.endeavouros.com/u/dalto)\
**Post date:** [June 20, 2023, 2:09pm UTC](https://forum.endeavouros.com/t/cannot-install-rawpy-from-aur/42243/18 "2023-06-20T14:09:10Z")

</div>

> [@N3RDIUM](#):
>
> When I try uninstalling python to install it again, it says that there are many depending packages.

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

---

<div class="post-metadata">

**Author:** ![N3RDIUM](https://forum.endeavouros.com/user_avatar/forum.endeavouros.com/n3rdium/32/74675_2.png) [@N3RDIUM](https://forum.endeavouros.com/u/N3RDIUM)\
**Post date:** [June 20, 2023, 2:10pm UTC](https://forum.endeavouros.com/t/cannot-install-rawpy-from-aur/42243/19 "2023-06-20T14:10:59Z")

</div>

Did that, still getting that annoying error:

```auto
[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.

```

---

<div class="post-metadata">

**Author:** ![dalto](https://forum.endeavouros.com/user_avatar/forum.endeavouros.com/dalto/32/5577_2.png) [@dalto](https://forum.endeavouros.com/u/dalto)\
**Post date:** [June 20, 2023, 2:11pm UTC](https://forum.endeavouros.com/t/cannot-install-rawpy-from-aur/42243/20 "2023-06-20T14:11:47Z")

</div>

What does `cython --version` show now?

[Next page](https://forum.endeavouros.com/t/cannot-install-rawpy-from-aur/42243.md?page=2)
