Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

pywt/_extensions/_pywt.c:32529:5: error: lvalue required as decrement operand #602

Closed
Hubbitus opened this issue Oct 21, 2021 · 6 comments
Closed
Labels
Milestone

Comments

@Hubbitus
Copy link

pip3 install PyWavelets==1.1.1

Failed to build PyWavelets
Installing collected packages: PyWavelets
    Running setup.py install for PyWavelets ... error
    ERROR: Command errored out with exit status 1:
     command: /home/pasha/@Projects/@Experiments/linux-video/ms-teams-replace-background/venv/bin/python -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-lh15fhus/pywavelets_4834748b890745fd99446cfc861f7025/setup.py'"'"'; __file__='"'"'/tmp/pip-install-lh15fhus/pywavelets_4834748b890745fd99446cfc861f7025/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-k7zv2_oe/install-record.txt --single-version-externally-managed --compile --install-headers /home/pasha/@Projects/@Experiments/linux-video/ms-teams-replace-background/venv/include/site/python3.10/PyWavelets
         cwd: /tmp/pip-install-lh15fhus/pywavelets_4834748b890745fd99446cfc861f7025/
    Complete output (183 lines):
    /tmp/pip-install-lh15fhus/pywavelets_4834748b890745fd99446cfc861f7025/setup.py:62: DeprecationWarning: the imp module is deprecated in favour of importlib and slated for removal in Python 3.12; see the module's documentation for alternative uses
      import imp
    
    Note: if you need reliable uninstall behavior, then install
    with pip instead of using `setup.py install`:
    
      - `pip install .`       (from a git repo or downloaded source
                               release)
      - `pip install PyWavelets`   (last PyWavelets release on PyPI)
    
    
    running install
    running build
    running build_py
    copying pywt/version.py -> build/lib.linux-x86_64-3.10/pywt
    copying pywt/_c99_config.py -> build/lib.linux-x86_64-3.10/pywt
    running build_clib
    building 'c_wt' library
    running build_ext
    building 'pywt._extensions._pywt' extension
    gcc -Wno-unused-result -Wsign-compare -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DNDEBUG -O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -D_GNU_SOURCE -fPIC -fwrapv -O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -D_GNU_SOURCE -fPIC -fwrapv -O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -D_GNU_SOURCE -fPIC -fwrapv -fPIC -DPY_EXTENSION -DHAVE_C99_COMPLEX -DCYTHON_CCOMPLEX=1 -Ipywt/_extensions/c -I/home/pasha/@Projects/@Experiments/linux-video/ms-teams-replace-background/venv/lib64/python3.10/site-packages/numpy/core/include -I/home/pasha/@Projects/@Experiments/linux-video/ms-teams-replace-background/venv/include -I/usr/include/python3.10 -c pywt/_extensions/_pywt.c -o build/temp.linux-x86_64-3.10/pywt/_extensions/_pywt.o
    In file included from /home/pasha/@Projects/@Experiments/linux-video/ms-teams-replace-background/venv/lib64/python3.10/site-packages/numpy/core/include/numpy/ndarraytypes.h:1969,
                     from /home/pasha/@Projects/@Experiments/linux-video/ms-teams-replace-background/venv/lib64/python3.10/site-packages/numpy/core/include/numpy/ndarrayobject.h:12,
                     from /home/pasha/@Projects/@Experiments/linux-video/ms-teams-replace-background/venv/lib64/python3.10/site-packages/numpy/core/include/numpy/arrayobject.h:4,
                     from pywt/_extensions/_pywt.c:657:
    /home/pasha/@Projects/@Experiments/linux-video/ms-teams-replace-background/venv/lib64/python3.10/site-packages/numpy/core/include/numpy/npy_1_7_deprecated_api.h:17:2: warning: #warning "Using deprecated NumPy API, disable it with " "#define NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION" [-Wcpp]
       17 | #warning "Using deprecated NumPy API, disable it with " \
          |  ^~~~~~~
    pywt/_extensions/_pywt.c: In function ‘__pyx_tp_dealloc_4pywt_11_extensions_5_pywt_Wavelet’:
    pywt/_extensions/_pywt.c:32259:5: error: lvalue required as increment operand
    32259 |     ++Py_REFCNT(o);
          |     ^~
    pywt/_extensions/_pywt.c:32261:5: error: lvalue required as decrement operand
    32261 |     --Py_REFCNT(o);
          |     ^~
    pywt/_extensions/_pywt.c: In function ‘__pyx_tp_dealloc_4pywt_11_extensions_5_pywt_ContinuousWavelet’:
    pywt/_extensions/_pywt.c:32527:5: error: lvalue required as increment operand
    32527 |     ++Py_REFCNT(o);
          |     ^~
    pywt/_extensions/_pywt.c:32529:5: error: lvalue required as decrement operand
    32529 |     --Py_REFCNT(o);
          |     ^~
    pywt/_extensions/_pywt.c: In function ‘__pyx_tp_dealloc_array’:
    pywt/_extensions/_pywt.c:32826:5: error: lvalue required as increment operand
    32826 |     ++Py_REFCNT(o);
          |     ^~
    pywt/_extensions/_pywt.c:32828:5: error: lvalue required as decrement operand
    32828 |     --Py_REFCNT(o);
          |     ^~
    pywt/_extensions/_pywt.c: In function ‘__pyx_tp_dealloc_memoryview’:
    pywt/_extensions/_pywt.c:33121:5: error: lvalue required as increment operand
    33121 |     ++Py_REFCNT(o);
          |     ^~
    pywt/_extensions/_pywt.c:33123:5: error: lvalue required as decrement operand
    33123 |     --Py_REFCNT(o);
          |     ^~
    pywt/_extensions/_pywt.c: In function ‘__pyx_tp_dealloc__memoryviewslice’:
    pywt/_extensions/_pywt.c:33363:5: error: lvalue required as increment operand
    33363 |     ++Py_REFCNT(o);
          |     ^~
    pywt/_extensions/_pywt.c:33365:5: error: lvalue required as decrement operand
    33365 |     --Py_REFCNT(o);
          |     ^~
    pywt/_extensions/_pywt.c: In function ‘__Pyx_ParseOptionalKeywords’:
    pywt/_extensions/_pywt.c:38876:21: warning: ‘_PyUnicode_get_wstr_length’ is deprecated [-Wdeprecated-declarations]
    38876 |                     (PyUnicode_GET_SIZE(**name) != PyUnicode_GET_SIZE(key)) ? 1 :
          |                     ^
    In file included from /usr/include/python3.10/unicodeobject.h:1046,
                     from /usr/include/python3.10/Python.h:96,
                     from pywt/_extensions/_pywt.c:61:
$ gcc --version
gcc (GCC) 11.2.1 20210728 (Red Hat 11.2.1-1)
Copyright (C) 2021 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Fedora 35

@rgommers
Copy link
Member

Wheels for Python 3.10 are on their way, likely will be available this week. Unfortunately you are using Fedora, which upgraded to Python 3.10 too early. It looks like PyWavelets 1.1.1 does not work with Python 3.10; maybe the master branch in this repo does so try that, or otherwise wait until wheels are available.

@rgommers
Copy link
Member

rgommers commented Nov 6, 2021

The problem here is that the latest Cython 0.29.x doesn't yet have Python 3.10 wheels up it looks like. I see the same issue on other projects (e.g., yaml/pyyaml#416).

@rgommers rgommers added the build label Nov 6, 2021
@rgommers rgommers added this to the v1.2 milestone Nov 6, 2021
@rgommers
Copy link
Member

rgommers commented Nov 6, 2021

The 1.2.0 release will have Python 3.10 wheels, which closes this issue.

@Hubbitus
Copy link
Author

Thank you. 1.2.0 version installed correctly.

@rgommers
Copy link
Member

thanks for confirming

@zhang405744522
Copy link

update the new version pywavelet, this issue is caused the mis-version.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants