Package Details: python-gdbgui 0.15.2.0-2

Git Clone URL: https://aur.archlinux.org/python-gdbgui.git (read-only, click to copy)
Package Base: python-gdbgui
Description: Browser-based frontend to gdb. Debug C, C++, Go, or Rust.
Upstream URL: https://www.gdbgui.com
Keywords: debugger debugging gdb python
Licenses: GPL
Submitter: zwindl
Maintainer: Rubo
Last Packager: Rubo
Votes: 26
Popularity: 0.000000
First Submitted: 2017-03-01 14:03 (UTC)
Last Updated: 2024-03-10 08:13 (UTC)

Latest Comments

1 2 3 4 5 Next › Last »

dreieck commented on 2023-05-05 18:07 (UTC)

Thanks, @Rubo, commenting out the one line in check() makes the rest work.

Rubo commented on 2023-05-04 14:43 (UTC) (edited on 2023-05-04 14:49 (UTC) by Rubo)

@dreieck first request done, second request i have to investigate how to resolve it, because the C API changed with the latest update to Python 3.11 (for example, see here for the now unknown type 'CFrame') and it's a problem of greenlet-1.1.2, which is downloaded by pip when check() is called. In the meantime you can comment line 42 (nox -s python_tests) and it will build successfully.

dreieck commented on 2023-05-04 14:00 (UTC)

I currently get the following errors in check():

==> Starting check()...
nox > Running session python_tests
nox > Creating virtual environment (virtualenv) using python in .nox/python_tests
nox > python -m pip install . pytest pytest-cov
nox > Command python -m pip install . pytest pytest-cov failed with exit code 1:
Processing /tmp/makepkg/build/python-gdbgui/src/gdbgui-0.15.1.0
  Preparing metadata (setup.py): started
  Preparing metadata (setup.py): finished with status 'done'
Collecting pytest
  Using cached pytest-7.3.1-py3-none-any.whl (320 kB)
Collecting pytest-cov
  Using cached pytest_cov-4.0.0-py3-none-any.whl (21 kB)
Collecting bidict==0.21.2
  Using cached bidict-0.21.2-py2.py3-none-any.whl (37 kB)
Collecting brotli==1.0.9
  Using cached Brotli-1.0.9-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.7 MB)
Collecting click==8.0.1
  Using cached click-8.0.1-py3-none-any.whl (97 kB)
Collecting dnspython==2.2.1
  Using cached dnspython-2.2.1-py3-none-any.whl (269 kB)
Collecting eventlet==0.33.0
  Using cached eventlet-0.33.0-py2.py3-none-any.whl (226 kB)
Collecting flask==2.0.1
  Using cached Flask-2.0.1-py3-none-any.whl (94 kB)
Collecting flask-compress==1.10.1
  Using cached Flask_Compress-1.10.1-py3-none-any.whl (7.9 kB)
Collecting flask-socketio==5.1.1
  Using cached Flask_SocketIO-5.1.1-py3-none-any.whl (17 kB)
Collecting greenlet==1.1.2
  Using cached greenlet-1.1.2.tar.gz (91 kB)
  Preparing metadata (setup.py): started
  Preparing metadata (setup.py): finished with status 'done'
Collecting itsdangerous==2.0.1
  Using cached itsdangerous-2.0.1-py3-none-any.whl (18 kB)
Collecting jinja2==3.0.1
  Using cached Jinja2-3.0.1-py3-none-any.whl (133 kB)
Collecting markupsafe==2.0.1
  Using cached MarkupSafe-2.0.1-cp311-cp311-linux_x86_64.whl
Collecting pygdbmi==0.10.0.1
  Using cached pygdbmi-0.10.0.1-py3-none-any.whl (16 kB)
Collecting pygments==2.10.0
  Using cached Pygments-2.10.0-py3-none-any.whl (1.0 MB)
Collecting python-engineio==4.2.1
  Using cached python_engineio-4.2.1-py3-none-any.whl (52 kB)
Collecting python-socketio==5.4.0
  Using cached python_socketio-5.4.0-py3-none-any.whl (55 kB)
Collecting six==1.16.0
  Using cached six-1.16.0-py2.py3-none-any.whl (11 kB)
Collecting werkzeug==2.0.1
  Using cached Werkzeug-2.0.1-py3-none-any.whl (288 kB)
Collecting iniconfig
  Using cached iniconfig-2.0.0-py3-none-any.whl (5.9 kB)
Collecting packaging
  Using cached packaging-23.1-py3-none-any.whl (48 kB)
Collecting pluggy<2.0,>=0.12
  Using cached pluggy-1.0.0-py2.py3-none-any.whl (13 kB)
Collecting coverage[toml]>=5.2.1
  Using cached coverage-7.2.5-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (232 kB)
Building wheels for collected packages: gdbgui, greenlet
  Building wheel for gdbgui (setup.py): started
  Building wheel for gdbgui (setup.py): finished with status 'done'
  Created wheel for gdbgui: filename=gdbgui-0.15.1.0-py3-none-any.whl size=1315293 sha256=afdc29c0de3286cc4e20db85b0b35726fd8e973f02526cbcf9dbaa23c39857c9
  Stored in directory: /home/felics/.cache/pip/wheels/06/fc/bf/e86e5d3759f8e3c652fcd93495dcf4e84fe00b61b08ea2b6fe
  Building wheel for greenlet (setup.py): started
  Building wheel for greenlet (setup.py): finished with status 'error'
  error: subprocess-exited-with-error

  × python setup.py bdist_wheel did not run successfully.
  │ exit code: 1
  ╰─> [273 lines of output]
      running bdist_wheel
      running build
      running build_py
      creating build
      creating build/lib.linux-x86_64-cpython-311
      creating build/lib.linux-x86_64-cpython-311/greenlet
      copying src/greenlet/__init__.py -> build/lib.linux-x86_64-cpython-311/greenlet
      creating build/lib.linux-x86_64-cpython-311/greenlet/tests
      copying src/greenlet/tests/__init__.py -> build/lib.linux-x86_64-cpython-311/greenlet/tests
      copying src/greenlet/tests/test_contextvars.py -> build/lib.linux-x86_64-cpython-311/greenlet/tests
      copying src/greenlet/tests/test_cpp.py -> build/lib.linux-x86_64-cpython-311/greenlet/tests
      copying src/greenlet/tests/test_extension_interface.py -> build/lib.linux-x86_64-cpython-311/greenlet/tests
      copying src/greenlet/tests/test_gc.py -> build/lib.linux-x86_64-cpython-311/greenlet/tests
      copying src/greenlet/tests/test_generator.py -> build/lib.linux-x86_64-cpython-311/greenlet/tests
      copying src/greenlet/tests/test_generator_nested.py -> build/lib.linux-x86_64-cpython-311/greenlet/tests
      copying src/greenlet/tests/test_greenlet.py -> build/lib.linux-x86_64-cpython-311/greenlet/tests
      copying src/greenlet/tests/test_leaks.py -> build/lib.linux-x86_64-cpython-311/greenlet/tests
      copying src/greenlet/tests/test_stack_saved.py -> build/lib.linux-x86_64-cpython-311/greenlet/tests
      copying src/greenlet/tests/test_throw.py -> build/lib.linux-x86_64-cpython-311/greenlet/tests
      copying src/greenlet/tests/test_tracing.py -> build/lib.linux-x86_64-cpython-311/greenlet/tests
      copying src/greenlet/tests/test_version.py -> build/lib.linux-x86_64-cpython-311/greenlet/tests
      copying src/greenlet/tests/test_weakref.py -> build/lib.linux-x86_64-cpython-311/greenlet/tests
      running egg_info
      writing src/greenlet.egg-info/PKG-INFO
      writing dependency_links to src/greenlet.egg-info/dependency_links.txt
      writing requirements to src/greenlet.egg-info/requires.txt
      writing top-level names to src/greenlet.egg-info/top_level.txt
      reading manifest file 'src/greenlet.egg-info/SOURCES.txt'
      reading manifest template 'MANIFEST.in'
      no previously-included directories found matching 'docs/_build'
      warning: no files found matching '*.py' under directory 'appveyor'
      warning: no previously-included files matching '*.pyc' found anywhere in distribution
      warning: no previously-included files matching '*.pyd' found anywhere in distribution
      warning: no previously-included files matching '*.so' found anywhere in distribution
      warning: no previously-included files matching '.coverage' found anywhere in distribution
      adding license file 'LICENSE'
      adding license file 'LICENSE.PSF'
      adding license file 'AUTHORS'
      writing manifest file 'src/greenlet.egg-info/SOURCES.txt'
      /tmp/makepkg/build/python-gdbgui/src/gdbgui-0.15.1.0/.nox/python_tests/lib/python3.11/site-packages/setuptools/command/build_py.py:202: SetuptoolsDeprecationWarning:     Installing 'greenlet.platform' as data is deprecated, please list it in `packages`.
          !!


          ############################
          # Package would be ignored #
          ############################
          Python recognizes 'greenlet.platform' as an importable package,
          but it is not listed in the `packages` configuration of setuptools.

          'greenlet.platform' has been automatically added to the distribution only
          because it may contain data files, but this behavior is likely to change
          in future versions of setuptools (and therefore is considered deprecated).

          Please make sure that 'greenlet.platform' is included as a package by using
          the `packages` configuration field or the proper discovery methods
          (for example by using `find_namespace_packages(...)`/`find_namespace:`
          instead of `find_packages(...)`/`find:`).

          You can read more about "package discovery" and "data files" on setuptools
          documentation page.


      !!

        check.warn(importable)
      copying src/greenlet/greenlet.c -> build/lib.linux-x86_64-cpython-311/greenlet
      copying src/greenlet/greenlet.h -> build/lib.linux-x86_64-cpython-311/greenlet
      copying src/greenlet/slp_platformselect.h -> build/lib.linux-x86_64-cpython-311/greenlet
      creating build/lib.linux-x86_64-cpython-311/greenlet/platform
      copying src/greenlet/platform/setup_switch_x64_masm.cmd -> build/lib.linux-x86_64-cpython-311/greenlet/platform
      copying src/greenlet/platform/switch_aarch64_gcc.h -> build/lib.linux-x86_64-cpython-311/greenlet/platform
      copying src/greenlet/platform/switch_alpha_unix.h -> build/lib.linux-x86_64-cpython-311/greenlet/platform
      copying src/greenlet/platform/switch_amd64_unix.h -> build/lib.linux-x86_64-cpython-311/greenlet/platform
      copying src/greenlet/platform/switch_arm32_gcc.h -> build/lib.linux-x86_64-cpython-311/greenlet/platform
      copying src/greenlet/platform/switch_arm32_ios.h -> build/lib.linux-x86_64-cpython-311/greenlet/platform
      copying src/greenlet/platform/switch_csky_gcc.h -> build/lib.linux-x86_64-cpython-311/greenlet/platform
      copying src/greenlet/platform/switch_m68k_gcc.h -> build/lib.linux-x86_64-cpython-311/greenlet/platform
      copying src/greenlet/platform/switch_mips_unix.h -> build/lib.linux-x86_64-cpython-311/greenlet/platform
      copying src/greenlet/platform/switch_ppc64_aix.h -> build/lib.linux-x86_64-cpython-311/greenlet/platform
      copying src/greenlet/platform/switch_ppc64_linux.h -> build/lib.linux-x86_64-cpython-311/greenlet/platform
      copying src/greenlet/platform/switch_ppc_aix.h -> build/lib.linux-x86_64-cpython-311/greenlet/platform
      copying src/greenlet/platform/switch_ppc_linux.h -> build/lib.linux-x86_64-cpython-311/greenlet/platform
      copying src/greenlet/platform/switch_ppc_macosx.h -> build/lib.linux-x86_64-cpython-311/greenlet/platform
      copying src/greenlet/platform/switch_ppc_unix.h -> build/lib.linux-x86_64-cpython-311/greenlet/platform
      copying src/greenlet/platform/switch_riscv_unix.h -> build/lib.linux-x86_64-cpython-311/greenlet/platform
      copying src/greenlet/platform/switch_s390_unix.h -> build/lib.linux-x86_64-cpython-311/greenlet/platform
      copying src/greenlet/platform/switch_sparc_sun_gcc.h -> build/lib.linux-x86_64-cpython-311/greenlet/platform
      copying src/greenlet/platform/switch_x32_unix.h -> build/lib.linux-x86_64-cpython-311/greenlet/platform
      copying src/greenlet/platform/switch_x64_masm.asm -> build/lib.linux-x86_64-cpython-311/greenlet/platform
      copying src/greenlet/platform/switch_x64_masm.obj -> build/lib.linux-x86_64-cpython-311/greenlet/platform
      copying src/greenlet/platform/switch_x64_msvc.h -> build/lib.linux-x86_64-cpython-311/greenlet/platform
      copying src/greenlet/platform/switch_x86_msvc.h -> build/lib.linux-x86_64-cpython-311/greenlet/platform
      copying src/greenlet/platform/switch_x86_unix.h -> build/lib.linux-x86_64-cpython-311/greenlet/platform
      copying src/greenlet/tests/_test_extension.c -> build/lib.linux-x86_64-cpython-311/greenlet/tests
      copying src/greenlet/tests/_test_extension_cpp.cpp -> build/lib.linux-x86_64-cpython-311/greenlet/tests
      running build_ext
      building 'greenlet._greenlet' extension
      creating build/temp.linux-x86_64-cpython-311
      creating build/temp.linux-x86_64-cpython-311/src
      creating build/temp.linux-x86_64-cpython-311/src/greenlet
      gcc -DNDEBUG -g -fwrapv -O3 -Wall -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -flto=auto -ffat-lto-objects -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -flto=auto -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -flto=auto -g0 -march=x86-64 -mtune=native -O3 -flto -ffat-lto-objects -pipe -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 -fomit-frame-pointer -fPIC -fPIC -I/tmp/makepkg/build/python-gdbgui/src/gdbgui-0.15.1.0/.nox/python_tests/include -I/usr/include/python3.11 -c src/greenlet/greenlet.c -o build/temp.linux-x86_64-cpython-311/src/greenlet/greenlet.o
      In file included from src/greenlet/greenlet.c:11:
      src/greenlet/greenlet.h:42:5: error: unknown type name ‘CFrame’
         42 |     CFrame* cframe;
            |     ^~~~~~
      src/greenlet/greenlet.c: In function ‘green_clear_exc’:
      src/greenlet/greenlet.c:173:17: error: ‘_PyErr_StackItem’ {aka ‘struct _err_stackitem’} has no member named ‘exc_type’
        173 |     g->exc_state.exc_type = NULL;
            |                 ^
      src/greenlet/greenlet.c:175:17: error: ‘_PyErr_StackItem’ {aka ‘struct _err_stackitem’} has no member named ‘exc_traceback’
        175 |     g->exc_state.exc_traceback = NULL;
            |                 ^
      src/greenlet/greenlet.c: In function ‘g_switchstack’:
      src/greenlet/greenlet.c:528:44: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘recursion_depth’; did you mean ‘recursion_limit’?
        528 |         current->recursion_depth = tstate->recursion_depth;
            |                                            ^~~~~~~~~~~~~~~
            |                                            recursion_limit
      src/greenlet/greenlet.c:529:38: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘frame’; did you mean ‘cframe’?
        529 |         current->top_frame = tstate->frame;
            |                                      ^~~~~
            |                                      cframe
      src/greenlet/greenlet.c:552:25: warning: assignment to ‘int *’ from incompatible pointer type ‘_PyCFrame *’ [-Wincompatible-pointer-types]
        552 |         current->cframe = tstate->cframe;
            |                         ^
      src/greenlet/greenlet.c:577:17: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘recursion_depth’; did you mean ‘recursion_limit’?
        577 |         tstate->recursion_depth = target->recursion_depth;
            |                 ^~~~~~~~~~~~~~~
            |                 recursion_limit
      src/greenlet/greenlet.c:578:17: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘frame’; did you mean ‘cframe’?
        578 |         tstate->frame = target->top_frame;
            |                 ^~~~~
            |                 cframe
      src/greenlet/greenlet.c:601:24: warning: assignment to ‘_PyCFrame *’ from incompatible pointer type ‘int *’ [-Wincompatible-pointer-types]
        601 |         tstate->cframe = target->cframe;
            |                        ^
      src/greenlet/greenlet.c: In function ‘g_initialstub’:
      src/greenlet/greenlet.c:813:5: error: unknown type name ‘CFrame’
        813 |     CFrame trace_info;
            |     ^~~~~~
      src/greenlet/greenlet.c:857:18: error: incompatible types when assigning to type ‘int’ from type ‘_PyCFrame’
        857 |     trace_info = *PyThreadState_GET()->cframe;
            |                  ^
      src/greenlet/greenlet.c:864:17: error: request for member ‘previous’ in something not a structure or union
        864 |     self->cframe->previous = &PyThreadState_GET()->root_cframe;
            |                 ^~
      src/greenlet/greenlet.c:878:50: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘recursion_depth’; did you mean ‘recursion_limit’?
        878 |     self->recursion_depth = PyThreadState_GET()->recursion_depth;
            |                                                  ^~~~~~~~~~~~~~~
            |                                                  recursion_limit
      src/greenlet/greenlet.c: In function ‘green_new’:
      src/greenlet/greenlet.c:1018:34: warning: assignment to ‘int *’ from incompatible pointer type ‘_PyCFrame *’ [-Wincompatible-pointer-types]
       1018 |         ((PyGreenlet*)o)->cframe = &PyThreadState_GET()->root_cframe;
            |                                  ^
      In file included from /usr/include/python3.11/Python.h:45,
                       from src/greenlet/greenlet.h:8:
      src/greenlet/greenlet.c: In function ‘green_traverse’:
      src/greenlet/greenlet.c:1124:29: error: ‘_PyErr_StackItem’ {aka ‘struct _err_stackitem’} has no member named ‘exc_type’
       1124 |     Py_VISIT(self->exc_state.exc_type);
            |                             ^
      /usr/include/python3.11/objimpl.h:199:13: note: in definition of macro ‘Py_VISIT’
        199 |         if (op) {                                                       \
            |             ^~
      In file included from /usr/include/python3.11/Python.h:38:
      src/greenlet/greenlet.c:1124:29: error: ‘_PyErr_StackItem’ {aka ‘struct _err_stackitem’} has no member named ‘exc_type’
       1124 |     Py_VISIT(self->exc_state.exc_type);
            |                             ^
      /usr/include/python3.11/pyport.h:24:38: note: in definition of macro ‘_Py_CAST’
         24 | #define _Py_CAST(type, expr) ((type)(expr))
            |                                      ^~~~
      /usr/include/python3.11/objimpl.h:200:30: note: in expansion of macro ‘_PyObject_CAST’
        200 |             int vret = visit(_PyObject_CAST(op), arg);                  \
            |                              ^~~~~~~~~~~~~~
      src/greenlet/greenlet.c:1124:5: note: in expansion of macro ‘Py_VISIT’
       1124 |     Py_VISIT(self->exc_state.exc_type);
            |     ^~~~~~~~
      src/greenlet/greenlet.c:1126:29: error: ‘_PyErr_StackItem’ {aka ‘struct _err_stackitem’} has no member named ‘exc_traceback’
       1126 |     Py_VISIT(self->exc_state.exc_traceback);
            |                             ^
      /usr/include/python3.11/objimpl.h:199:13: note: in definition of macro ‘Py_VISIT’
        199 |         if (op) {                                                       \
            |             ^~
      src/greenlet/greenlet.c:1126:29: error: ‘_PyErr_StackItem’ {aka ‘struct _err_stackitem’} has no member named ‘exc_traceback’
       1126 |     Py_VISIT(self->exc_state.exc_traceback);
            |                             ^
      /usr/include/python3.11/pyport.h:24:38: note: in definition of macro ‘_Py_CAST’
         24 | #define _Py_CAST(type, expr) ((type)(expr))
            |                                      ^~~~
      /usr/include/python3.11/objimpl.h:200:30: note: in expansion of macro ‘_PyObject_CAST’
        200 |             int vret = visit(_PyObject_CAST(op), arg);                  \
            |                              ^~~~~~~~~~~~~~
      src/greenlet/greenlet.c:1126:5: note: in expansion of macro ‘Py_VISIT’
       1126 |     Py_VISIT(self->exc_state.exc_traceback);
            |     ^~~~~~~~
      src/greenlet/greenlet.c: In function ‘green_clear’:
      src/greenlet/greenlet.c:1162:29: error: ‘_PyErr_StackItem’ {aka ‘struct _err_stackitem’} has no member named ‘exc_type’
       1162 |     Py_CLEAR(self->exc_state.exc_type);
            |                             ^
      /usr/include/python3.11/pyport.h:24:38: note: in definition of macro ‘_Py_CAST’
         24 | #define _Py_CAST(type, expr) ((type)(expr))
            |                                      ^~~~
      /usr/include/python3.11/object.h:581:29: note: in expansion of macro ‘_PyObject_CAST’
        581 |         PyObject *_py_tmp = _PyObject_CAST(op); \
            |                             ^~~~~~~~~~~~~~
      src/greenlet/greenlet.c:1162:5: note: in expansion of macro ‘Py_CLEAR’
       1162 |     Py_CLEAR(self->exc_state.exc_type);
            |     ^~~~~~~~
      In file included from /usr/include/python3.11/Python.h:44:
      src/greenlet/greenlet.c:1162:29: error: ‘_PyErr_StackItem’ {aka ‘struct _err_stackitem’} has no member named ‘exc_type’
       1162 |     Py_CLEAR(self->exc_state.exc_type);
            |                             ^
      /usr/include/python3.11/object.h:583:14: note: in definition of macro ‘Py_CLEAR’
        583 |             (op) = NULL;                        \
            |              ^~
      src/greenlet/greenlet.c:1164:29: error: ‘_PyErr_StackItem’ {aka ‘struct _err_stackitem’} has no member named ‘exc_traceback’
       1164 |     Py_CLEAR(self->exc_state.exc_traceback);
            |                             ^
      /usr/include/python3.11/pyport.h:24:38: note: in definition of macro ‘_Py_CAST’
         24 | #define _Py_CAST(type, expr) ((type)(expr))
            |                                      ^~~~
      /usr/include/python3.11/object.h:581:29: note: in expansion of macro ‘_PyObject_CAST’
        581 |         PyObject *_py_tmp = _PyObject_CAST(op); \
            |                             ^~~~~~~~~~~~~~
      src/greenlet/greenlet.c:1164:5: note: in expansion of macro ‘Py_CLEAR’
       1164 |     Py_CLEAR(self->exc_state.exc_traceback);
            |     ^~~~~~~~
      src/greenlet/greenlet.c:1164:29: error: ‘_PyErr_StackItem’ {aka ‘struct _err_stackitem’} has no member named ‘exc_traceback’
       1164 |     Py_CLEAR(self->exc_state.exc_traceback);
            |                             ^
      /usr/include/python3.11/object.h:583:14: note: in definition of macro ‘Py_CLEAR’
        583 |             (op) = NULL;                        \
            |              ^~
      src/greenlet/greenlet.c: In function ‘green_dealloc’:
      src/greenlet/greenlet.c:1256:29: error: ‘_PyErr_StackItem’ {aka ‘struct _err_stackitem’} has no member named ‘exc_type’
       1256 |     Py_CLEAR(self->exc_state.exc_type);
            |                             ^
      /usr/include/python3.11/pyport.h:24:38: note: in definition of macro ‘_Py_CAST’
         24 | #define _Py_CAST(type, expr) ((type)(expr))
            |                                      ^~~~
      /usr/include/python3.11/object.h:581:29: note: in expansion of macro ‘_PyObject_CAST’
        581 |         PyObject *_py_tmp = _PyObject_CAST(op); \
            |                             ^~~~~~~~~~~~~~
      src/greenlet/greenlet.c:1256:5: note: in expansion of macro ‘Py_CLEAR’
       1256 |     Py_CLEAR(self->exc_state.exc_type);
            |     ^~~~~~~~
      src/greenlet/greenlet.c:1256:29: error: ‘_PyErr_StackItem’ {aka ‘struct _err_stackitem’} has no member named ‘exc_type’
       1256 |     Py_CLEAR(self->exc_state.exc_type);
            |                             ^
      /usr/include/python3.11/object.h:583:14: note: in definition of macro ‘Py_CLEAR’
        583 |             (op) = NULL;                        \
            |              ^~
      src/greenlet/greenlet.c:1258:29: error: ‘_PyErr_StackItem’ {aka ‘struct _err_stackitem’} has no member named ‘exc_traceback’
       1258 |     Py_CLEAR(self->exc_state.exc_traceback);
            |                             ^
      /usr/include/python3.11/pyport.h:24:38: note: in definition of macro ‘_Py_CAST’
         24 | #define _Py_CAST(type, expr) ((type)(expr))
            |                                      ^~~~
      /usr/include/python3.11/object.h:581:29: note: in expansion of macro ‘_PyObject_CAST’
        581 |         PyObject *_py_tmp = _PyObject_CAST(op); \
            |                             ^~~~~~~~~~~~~~
      src/greenlet/greenlet.c:1258:5: note: in expansion of macro ‘Py_CLEAR’
       1258 |     Py_CLEAR(self->exc_state.exc_traceback);
            |     ^~~~~~~~
      src/greenlet/greenlet.c:1258:29: error: ‘_PyErr_StackItem’ {aka ‘struct _err_stackitem’} has no member named ‘exc_traceback’
       1258 |     Py_CLEAR(self->exc_state.exc_traceback);
            |                             ^
      /usr/include/python3.11/object.h:583:14: note: in definition of macro ‘Py_CLEAR’
        583 |             (op) = NULL;                        \
            |              ^~
      src/greenlet/greenlet.c: In function ‘PyGreenlet_New’:
      src/greenlet/greenlet.c:1777:15: warning: assignment to ‘int *’ from incompatible pointer type ‘_PyCFrame *’ [-Wincompatible-pointer-types]
       1777 |     g->cframe = &PyThreadState_GET()->root_cframe;
            |               ^
      error: command '/usr/bin/gcc' failed with exit code 1
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for greenlet
  Running setup.py clean for greenlet
Successfully built gdbgui
Failed to build greenlet
Installing collected packages: pygdbmi, brotli, werkzeug, six, python-engineio, pygments, pluggy, packaging, markupsafe, itsdangerous, iniconfig, greenlet, dnspython, coverage, click, bidict, python-socketio, pytest, jinja2, eventlet, pytest-cov, flask, flask-socketio, flask-compress, gdbgui
  Running setup.py install for greenlet: started
  Running setup.py install for greenlet: finished with status 'error'
  error: subprocess-exited-with-error

  × Running setup.py install for greenlet did not run successfully.
  │ exit code: 1
  ╰─> [275 lines of output]
      running install
      /tmp/makepkg/build/python-gdbgui/src/gdbgui-0.15.1.0/.nox/python_tests/lib/python3.11/site-packages/setuptools/command/install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools.
        warnings.warn(
      running build
      running build_py
      creating build
      creating build/lib.linux-x86_64-cpython-311
      creating build/lib.linux-x86_64-cpython-311/greenlet
      copying src/greenlet/__init__.py -> build/lib.linux-x86_64-cpython-311/greenlet
      creating build/lib.linux-x86_64-cpython-311/greenlet/tests
      copying src/greenlet/tests/__init__.py -> build/lib.linux-x86_64-cpython-311/greenlet/tests
      copying src/greenlet/tests/test_contextvars.py -> build/lib.linux-x86_64-cpython-311/greenlet/tests
      copying src/greenlet/tests/test_cpp.py -> build/lib.linux-x86_64-cpython-311/greenlet/tests
      copying src/greenlet/tests/test_extension_interface.py -> build/lib.linux-x86_64-cpython-311/greenlet/tests
      copying src/greenlet/tests/test_gc.py -> build/lib.linux-x86_64-cpython-311/greenlet/tests
      copying src/greenlet/tests/test_generator.py -> build/lib.linux-x86_64-cpython-311/greenlet/tests
      copying src/greenlet/tests/test_generator_nested.py -> build/lib.linux-x86_64-cpython-311/greenlet/tests
      copying src/greenlet/tests/test_greenlet.py -> build/lib.linux-x86_64-cpython-311/greenlet/tests
      copying src/greenlet/tests/test_leaks.py -> build/lib.linux-x86_64-cpython-311/greenlet/tests
      copying src/greenlet/tests/test_stack_saved.py -> build/lib.linux-x86_64-cpython-311/greenlet/tests
      copying src/greenlet/tests/test_throw.py -> build/lib.linux-x86_64-cpython-311/greenlet/tests
      copying src/greenlet/tests/test_tracing.py -> build/lib.linux-x86_64-cpython-311/greenlet/tests
      copying src/greenlet/tests/test_version.py -> build/lib.linux-x86_64-cpython-311/greenlet/tests
      copying src/greenlet/tests/test_weakref.py -> build/lib.linux-x86_64-cpython-311/greenlet/tests
      running egg_info
      writing src/greenlet.egg-info/PKG-INFO
      writing dependency_links to src/greenlet.egg-info/dependency_links.txt
      writing requirements to src/greenlet.egg-info/requires.txt
      writing top-level names to src/greenlet.egg-info/top_level.txt
      reading manifest file 'src/greenlet.egg-info/SOURCES.txt'
      reading manifest template 'MANIFEST.in'
      no previously-included directories found matching 'docs/_build'
      warning: no files found matching '*.py' under directory 'appveyor'
      warning: no previously-included files matching '*.pyc' found anywhere in distribution
      warning: no previously-included files matching '*.pyd' found anywhere in distribution
      warning: no previously-included files matching '*.so' found anywhere in distribution
      warning: no previously-included files matching '.coverage' found anywhere in distribution
      adding license file 'LICENSE'
      adding license file 'LICENSE.PSF'
      adding license file 'AUTHORS'
      writing manifest file 'src/greenlet.egg-info/SOURCES.txt'
      /tmp/makepkg/build/python-gdbgui/src/gdbgui-0.15.1.0/.nox/python_tests/lib/python3.11/site-packages/setuptools/command/build_py.py:202: SetuptoolsDeprecationWarning:     Installing 'greenlet.platform' as data is deprecated, please list it in `packages`.
          !!


          ############################
          # Package would be ignored #
          ############################
          Python recognizes 'greenlet.platform' as an importable package,
          but it is not listed in the `packages` configuration of setuptools.

          'greenlet.platform' has been automatically added to the distribution only
          because it may contain data files, but this behavior is likely to change
          in future versions of setuptools (and therefore is considered deprecated).

          Please make sure that 'greenlet.platform' is included as a package by using
          the `packages` configuration field or the proper discovery methods
          (for example by using `find_namespace_packages(...)`/`find_namespace:`
          instead of `find_packages(...)`/`find:`).

          You can read more about "package discovery" and "data files" on setuptools
          documentation page.


      !!

        check.warn(importable)
      copying src/greenlet/greenlet.c -> build/lib.linux-x86_64-cpython-311/greenlet
      copying src/greenlet/greenlet.h -> build/lib.linux-x86_64-cpython-311/greenlet
      copying src/greenlet/slp_platformselect.h -> build/lib.linux-x86_64-cpython-311/greenlet
      creating build/lib.linux-x86_64-cpython-311/greenlet/platform
      copying src/greenlet/platform/setup_switch_x64_masm.cmd -> build/lib.linux-x86_64-cpython-311/greenlet/platform
      copying src/greenlet/platform/switch_aarch64_gcc.h -> build/lib.linux-x86_64-cpython-311/greenlet/platform
      copying src/greenlet/platform/switch_alpha_unix.h -> build/lib.linux-x86_64-cpython-311/greenlet/platform
      copying src/greenlet/platform/switch_amd64_unix.h -> build/lib.linux-x86_64-cpython-311/greenlet/platform
      copying src/greenlet/platform/switch_arm32_gcc.h -> build/lib.linux-x86_64-cpython-311/greenlet/platform
      copying src/greenlet/platform/switch_arm32_ios.h -> build/lib.linux-x86_64-cpython-311/greenlet/platform
      copying src/greenlet/platform/switch_csky_gcc.h -> build/lib.linux-x86_64-cpython-311/greenlet/platform
      copying src/greenlet/platform/switch_m68k_gcc.h -> build/lib.linux-x86_64-cpython-311/greenlet/platform
      copying src/greenlet/platform/switch_mips_unix.h -> build/lib.linux-x86_64-cpython-311/greenlet/platform
      copying src/greenlet/platform/switch_ppc64_aix.h -> build/lib.linux-x86_64-cpython-311/greenlet/platform
      copying src/greenlet/platform/switch_ppc64_linux.h -> build/lib.linux-x86_64-cpython-311/greenlet/platform
      copying src/greenlet/platform/switch_ppc_aix.h -> build/lib.linux-x86_64-cpython-311/greenlet/platform
      copying src/greenlet/platform/switch_ppc_linux.h -> build/lib.linux-x86_64-cpython-311/greenlet/platform
      copying src/greenlet/platform/switch_ppc_macosx.h -> build/lib.linux-x86_64-cpython-311/greenlet/platform
      copying src/greenlet/platform/switch_ppc_unix.h -> build/lib.linux-x86_64-cpython-311/greenlet/platform
      copying src/greenlet/platform/switch_riscv_unix.h -> build/lib.linux-x86_64-cpython-311/greenlet/platform
      copying src/greenlet/platform/switch_s390_unix.h -> build/lib.linux-x86_64-cpython-311/greenlet/platform
      copying src/greenlet/platform/switch_sparc_sun_gcc.h -> build/lib.linux-x86_64-cpython-311/greenlet/platform
      copying src/greenlet/platform/switch_x32_unix.h -> build/lib.linux-x86_64-cpython-311/greenlet/platform
      copying src/greenlet/platform/switch_x64_masm.asm -> build/lib.linux-x86_64-cpython-311/greenlet/platform
      copying src/greenlet/platform/switch_x64_masm.obj -> build/lib.linux-x86_64-cpython-311/greenlet/platform
      copying src/greenlet/platform/switch_x64_msvc.h -> build/lib.linux-x86_64-cpython-311/greenlet/platform
      copying src/greenlet/platform/switch_x86_msvc.h -> build/lib.linux-x86_64-cpython-311/greenlet/platform
      copying src/greenlet/platform/switch_x86_unix.h -> build/lib.linux-x86_64-cpython-311/greenlet/platform
      copying src/greenlet/tests/_test_extension.c -> build/lib.linux-x86_64-cpython-311/greenlet/tests
      copying src/greenlet/tests/_test_extension_cpp.cpp -> build/lib.linux-x86_64-cpython-311/greenlet/tests
      running build_ext
      building 'greenlet._greenlet' extension
      creating build/temp.linux-x86_64-cpython-311
      creating build/temp.linux-x86_64-cpython-311/src
      creating build/temp.linux-x86_64-cpython-311/src/greenlet
      gcc -DNDEBUG -g -fwrapv -O3 -Wall -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -flto=auto -ffat-lto-objects -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -flto=auto -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -flto=auto -g0 -march=x86-64 -mtune=native -O3 -flto -ffat-lto-objects -pipe -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 -fomit-frame-pointer -fPIC -fPIC -I/tmp/makepkg/build/python-gdbgui/src/gdbgui-0.15.1.0/.nox/python_tests/include -I/usr/include/python3.11 -c src/greenlet/greenlet.c -o build/temp.linux-x86_64-cpython-311/src/greenlet/greenlet.o
      In file included from src/greenlet/greenlet.c:11:
      src/greenlet/greenlet.h:42:5: error: unknown type name ‘CFrame’
         42 |     CFrame* cframe;
            |     ^~~~~~
      src/greenlet/greenlet.c: In function ‘green_clear_exc’:
      src/greenlet/greenlet.c:173:17: error: ‘_PyErr_StackItem’ {aka ‘struct _err_stackitem’} has no member named ‘exc_type’
        173 |     g->exc_state.exc_type = NULL;
            |                 ^
      src/greenlet/greenlet.c:175:17: error: ‘_PyErr_StackItem’ {aka ‘struct _err_stackitem’} has no member named ‘exc_traceback’
        175 |     g->exc_state.exc_traceback = NULL;
            |                 ^
      src/greenlet/greenlet.c: In function ‘g_switchstack’:
      src/greenlet/greenlet.c:528:44: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘recursion_depth’; did you mean ‘recursion_limit’?
        528 |         current->recursion_depth = tstate->recursion_depth;
            |                                            ^~~~~~~~~~~~~~~
            |                                            recursion_limit
      src/greenlet/greenlet.c:529:38: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘frame’; did you mean ‘cframe’?
        529 |         current->top_frame = tstate->frame;
            |                                      ^~~~~
            |                                      cframe
      src/greenlet/greenlet.c:552:25: warning: assignment to ‘int *’ from incompatible pointer type ‘_PyCFrame *’ [-Wincompatible-pointer-types]
        552 |         current->cframe = tstate->cframe;
            |                         ^
      src/greenlet/greenlet.c:577:17: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘recursion_depth’; did you mean ‘recursion_limit’?
        577 |         tstate->recursion_depth = target->recursion_depth;
            |                 ^~~~~~~~~~~~~~~
            |                 recursion_limit
      src/greenlet/greenlet.c:578:17: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘frame’; did you mean ‘cframe’?
        578 |         tstate->frame = target->top_frame;
            |                 ^~~~~
            |                 cframe
      src/greenlet/greenlet.c:601:24: warning: assignment to ‘_PyCFrame *’ from incompatible pointer type ‘int *’ [-Wincompatible-pointer-types]
        601 |         tstate->cframe = target->cframe;
            |                        ^
      src/greenlet/greenlet.c: In function ‘g_initialstub’:
      src/greenlet/greenlet.c:813:5: error: unknown type name ‘CFrame’
        813 |     CFrame trace_info;
            |     ^~~~~~
      src/greenlet/greenlet.c:857:18: error: incompatible types when assigning to type ‘int’ from type ‘_PyCFrame’
        857 |     trace_info = *PyThreadState_GET()->cframe;
            |                  ^
      src/greenlet/greenlet.c:864:17: error: request for member ‘previous’ in something not a structure or union
        864 |     self->cframe->previous = &PyThreadState_GET()->root_cframe;
            |                 ^~
      src/greenlet/greenlet.c:878:50: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘recursion_depth’; did you mean ‘recursion_limit’?
        878 |     self->recursion_depth = PyThreadState_GET()->recursion_depth;
            |                                                  ^~~~~~~~~~~~~~~
            |                                                  recursion_limit
      src/greenlet/greenlet.c: In function ‘green_new’:
      src/greenlet/greenlet.c:1018:34: warning: assignment to ‘int *’ from incompatible pointer type ‘_PyCFrame *’ [-Wincompatible-pointer-types]
       1018 |         ((PyGreenlet*)o)->cframe = &PyThreadState_GET()->root_cframe;
            |                                  ^
      In file included from /usr/include/python3.11/Python.h:45,
                       from src/greenlet/greenlet.h:8:
      src/greenlet/greenlet.c: In function ‘green_traverse’:
      src/greenlet/greenlet.c:1124:29: error: ‘_PyErr_StackItem’ {aka ‘struct _err_stackitem’} has no member named ‘exc_type’
       1124 |     Py_VISIT(self->exc_state.exc_type);
            |                             ^
      /usr/include/python3.11/objimpl.h:199:13: note: in definition of macro ‘Py_VISIT’
        199 |         if (op) {                                                       \
            |             ^~
      In file included from /usr/include/python3.11/Python.h:38:
      src/greenlet/greenlet.c:1124:29: error: ‘_PyErr_StackItem’ {aka ‘struct _err_stackitem’} has no member named ‘exc_type’
       1124 |     Py_VISIT(self->exc_state.exc_type);
            |                             ^
      /usr/include/python3.11/pyport.h:24:38: note: in definition of macro ‘_Py_CAST’
         24 | #define _Py_CAST(type, expr) ((type)(expr))
            |                                      ^~~~
      /usr/include/python3.11/objimpl.h:200:30: note: in expansion of macro ‘_PyObject_CAST’
        200 |             int vret = visit(_PyObject_CAST(op), arg);                  \
            |                              ^~~~~~~~~~~~~~
      src/greenlet/greenlet.c:1124:5: note: in expansion of macro ‘Py_VISIT’
       1124 |     Py_VISIT(self->exc_state.exc_type);
            |     ^~~~~~~~
      src/greenlet/greenlet.c:1126:29: error: ‘_PyErr_StackItem’ {aka ‘struct _err_stackitem’} has no member named ‘exc_traceback’
       1126 |     Py_VISIT(self->exc_state.exc_traceback);
            |                             ^
      /usr/include/python3.11/objimpl.h:199:13: note: in definition of macro ‘Py_VISIT’
        199 |         if (op) {                                                       \
            |             ^~
      src/greenlet/greenlet.c:1126:29: error: ‘_PyErr_StackItem’ {aka ‘struct _err_stackitem’} has no member named ‘exc_traceback’
       1126 |     Py_VISIT(self->exc_state.exc_traceback);
            |                             ^
      /usr/include/python3.11/pyport.h:24:38: note: in definition of macro ‘_Py_CAST’
         24 | #define _Py_CAST(type, expr) ((type)(expr))
            |                                      ^~~~
      /usr/include/python3.11/objimpl.h:200:30: note: in expansion of macro ‘_PyObject_CAST’
        200 |             int vret = visit(_PyObject_CAST(op), arg);                  \
            |                              ^~~~~~~~~~~~~~
      src/greenlet/greenlet.c:1126:5: note: in expansion of macro ‘Py_VISIT’
       1126 |     Py_VISIT(self->exc_state.exc_traceback);
            |     ^~~~~~~~
      src/greenlet/greenlet.c: In function ‘green_clear’:
      src/greenlet/greenlet.c:1162:29: error: ‘_PyErr_StackItem’ {aka ‘struct _err_stackitem’} has no member named ‘exc_type’
       1162 |     Py_CLEAR(self->exc_state.exc_type);
            |                             ^
      /usr/include/python3.11/pyport.h:24:38: note: in definition of macro ‘_Py_CAST’
         24 | #define _Py_CAST(type, expr) ((type)(expr))
            |                                      ^~~~
      /usr/include/python3.11/object.h:581:29: note: in expansion of macro ‘_PyObject_CAST’
        581 |         PyObject *_py_tmp = _PyObject_CAST(op); \
            |                             ^~~~~~~~~~~~~~
      src/greenlet/greenlet.c:1162:5: note: in expansion of macro ‘Py_CLEAR’
       1162 |     Py_CLEAR(self->exc_state.exc_type);
            |     ^~~~~~~~
      In file included from /usr/include/python3.11/Python.h:44:
      src/greenlet/greenlet.c:1162:29: error: ‘_PyErr_StackItem’ {aka ‘struct _err_stackitem’} has no member named ‘exc_type’
       1162 |     Py_CLEAR(self->exc_state.exc_type);
            |                             ^
      /usr/include/python3.11/object.h:583:14: note: in definition of macro ‘Py_CLEAR’
        583 |             (op) = NULL;                        \
            |              ^~
      src/greenlet/greenlet.c:1164:29: error: ‘_PyErr_StackItem’ {aka ‘struct _err_stackitem’} has no member named ‘exc_traceback’
       1164 |     Py_CLEAR(self->exc_state.exc_traceback);
            |                             ^
      /usr/include/python3.11/pyport.h:24:38: note: in definition of macro ‘_Py_CAST’
         24 | #define _Py_CAST(type, expr) ((type)(expr))
            |                                      ^~~~
      /usr/include/python3.11/object.h:581:29: note: in expansion of macro ‘_PyObject_CAST’
        581 |         PyObject *_py_tmp = _PyObject_CAST(op); \
            |                             ^~~~~~~~~~~~~~
      src/greenlet/greenlet.c:1164:5: note: in expansion of macro ‘Py_CLEAR’
       1164 |     Py_CLEAR(self->exc_state.exc_traceback);
            |     ^~~~~~~~
      src/greenlet/greenlet.c:1164:29: error: ‘_PyErr_StackItem’ {aka ‘struct _err_stackitem’} has no member named ‘exc_traceback’
       1164 |     Py_CLEAR(self->exc_state.exc_traceback);
            |                             ^
      /usr/include/python3.11/object.h:583:14: note: in definition of macro ‘Py_CLEAR’
        583 |             (op) = NULL;                        \
            |              ^~
      src/greenlet/greenlet.c: In function ‘green_dealloc’:
      src/greenlet/greenlet.c:1256:29: error: ‘_PyErr_StackItem’ {aka ‘struct _err_stackitem’} has no member named ‘exc_type’
       1256 |     Py_CLEAR(self->exc_state.exc_type);
            |                             ^
      /usr/include/python3.11/pyport.h:24:38: note: in definition of macro ‘_Py_CAST’
         24 | #define _Py_CAST(type, expr) ((type)(expr))
            |                                      ^~~~
      /usr/include/python3.11/object.h:581:29: note: in expansion of macro ‘_PyObject_CAST’
        581 |         PyObject *_py_tmp = _PyObject_CAST(op); \
            |                             ^~~~~~~~~~~~~~
      src/greenlet/greenlet.c:1256:5: note: in expansion of macro ‘Py_CLEAR’
       1256 |     Py_CLEAR(self->exc_state.exc_type);
            |     ^~~~~~~~
      src/greenlet/greenlet.c:1256:29: error: ‘_PyErr_StackItem’ {aka ‘struct _err_stackitem’} has no member named ‘exc_type’
       1256 |     Py_CLEAR(self->exc_state.exc_type);
            |                             ^
      /usr/include/python3.11/object.h:583:14: note: in definition of macro ‘Py_CLEAR’
        583 |             (op) = NULL;                        \
            |              ^~
      src/greenlet/greenlet.c:1258:29: error: ‘_PyErr_StackItem’ {aka ‘struct _err_stackitem’} has no member named ‘exc_traceback’
       1258 |     Py_CLEAR(self->exc_state.exc_traceback);
            |                             ^
      /usr/include/python3.11/pyport.h:24:38: note: in definition of macro ‘_Py_CAST’
         24 | #define _Py_CAST(type, expr) ((type)(expr))
            |                                      ^~~~
      /usr/include/python3.11/object.h:581:29: note: in expansion of macro ‘_PyObject_CAST’
        581 |         PyObject *_py_tmp = _PyObject_CAST(op); \
            |                             ^~~~~~~~~~~~~~
      src/greenlet/greenlet.c:1258:5: note: in expansion of macro ‘Py_CLEAR’
       1258 |     Py_CLEAR(self->exc_state.exc_traceback);
            |     ^~~~~~~~
      src/greenlet/greenlet.c:1258:29: error: ‘_PyErr_StackItem’ {aka ‘struct _err_stackitem’} has no member named ‘exc_traceback’
       1258 |     Py_CLEAR(self->exc_state.exc_traceback);
            |                             ^
      /usr/include/python3.11/object.h:583:14: note: in definition of macro ‘Py_CLEAR’
        583 |             (op) = NULL;                        \
            |              ^~
      src/greenlet/greenlet.c: In function ‘PyGreenlet_New’:
      src/greenlet/greenlet.c:1777:15: warning: assignment to ‘int *’ from incompatible pointer type ‘_PyCFrame *’ [-Wincompatible-pointer-types]
       1777 |     g->cframe = &PyThreadState_GET()->root_cframe;
            |               ^
      error: command '/usr/bin/gcc' failed with exit code 1
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
error: legacy-install-failure

× Encountered error while trying to install package.
╰─> greenlet

note: This is an issue with the package mentioned above, not pip.
hint: See above for output from the failure.

[notice] A new release of pip is available: 23.0.1 -> 23.1.2
[notice] To update, run: pip install --upgrade pip
nox > Session python_tests failed.

And subsequently the install fails.

dreieck commented on 2023-05-04 13:50 (UTC)

Since this package installs /usr/bin/gdbgui, can you add

provides=("gdbgui=${pkgver}") and
conflicts=('gdbgui')?

Thanks for maintaining!

Rubo commented on 2023-03-04 10:47 (UTC)

@dreieck done, let me know if it's ok.

dreieck commented on 2023-01-13 16:43 (UTC)

It downloads stuff in build.

Can you make all download happen in prepare(), if it is not possible to fulfill it via dependencies or the source array, so that build() and package() don't require internet connection?

Regards!

==> Starting build()...
yarn install v1.22.19
[1/4] Resolving packages...
[2/4] Fetching packages...
[...]

Score_Under commented on 2022-11-15 12:54 (UTC) (edited on 2022-11-15 12:55 (UTC) by Score_Under)

Seems to require export NODE_OPTIONS=--openssl-legacy-provider, otherwise it fails in build:

$ cross-env NODE_ENV=production webpack --mode production --config webpack.config.js
[...snip...]
Error: error:0308010C:digital envelope routines::unsupported
    [...snip stack trace...] {
  opensslErrorStack: [ 'error:03000086:digital envelope routines::initialization error' ],
  library: 'digital envelope routines',
  reason: 'unsupported',
  code: 'ERR_OSSL_EVP_UNSUPPORTED'
}

A hasty google search led here: https://towardsdev.com/fixing-err-ossl-evp-unsupported-error-on-nodejs-17-25c21066601c

Apparently the issue is it trying to use a deprecated hash algorithm.

ed: it's out of date anyway, going to mark as such

dreieck commented on 2022-07-27 07:45 (UTC)

When I start gdbgui, it fails with pkg_resources.ContextualVersionConflict: (Flask-Compress 1.12 (/usr/lib/python3.10/site-packages), Requirement.parse('Flask-Compress<1.11,>1.10'), {'gdbgui'}):

/usr/lib/python3.10/site-packages/pkg_resources/__init__.py:122: PkgResourcesDeprecationWarning: git-archive.dev8b63d73a17 is an invalid version and will not be supported in a future release
  warnings.warn(
Traceback (most recent call last):
  File "/usr/lib/python3.10/site-packages/pkg_resources/__init__.py", line 579, in _build_master
    ws.require(__requires__)
  File "/usr/lib/python3.10/site-packages/pkg_resources/__init__.py", line 897, in require
    needed = self.resolve(parse_requirements(requirements))
  File "/usr/lib/python3.10/site-packages/pkg_resources/__init__.py", line 788, in resolve
    raise VersionConflict(dist, req).with_context(dependent_req)
pkg_resources.ContextualVersionConflict: (Flask-Compress 1.12 (/usr/lib/python3.10/site-packages), Requirement.parse('Flask-Compress<1.11,>1.10'), {'gdbgui'})

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/bin/gdbgui", line 33, in <module>
    sys.exit(load_entry_point('gdbgui==0.15.0.1', 'console_scripts', 'gdbgui')())
  File "/usr/bin/gdbgui", line 25, in importlib_load_entry_point
    return next(matches).load()
  File "/usr/lib/python3.10/importlib/metadata/__init__.py", line 171, in load
    module = import_module(match.group('module'))
  File "/usr/lib/python3.10/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 883, in exec_module
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "/usr/lib/python3.10/site-packages/gdbgui/cli.py", line 18, in <module>
    from gdbgui.server.app import app, socketio
  File "/usr/lib/python3.10/site-packages/gdbgui/server/app.py", line 8, in <module>
    from flask_socketio import SocketIO, emit  # type: ignore
  File "/usr/lib/python3.10/site-packages/flask_socketio/__init__.py", line 9, in <module>
    from socketio import socketio_manage  # noqa: F401
  File "/usr/lib/python3.10/site-packages/socketio/__init__.py", line 3, in <module>
    from .client import Client
  File "/usr/lib/python3.10/site-packages/socketio/client.py", line 7, in <module>
    import engineio
  File "/usr/lib/python3.10/site-packages/engineio/__init__.py", line 8, in <module>
    from .asyncio_client import AsyncClient
  File "/usr/lib/python3.10/site-packages/engineio/asyncio_client.py", line 7, in <module>
    import aiohttp
  File "/usr/lib/python3.10/site-packages/aiohttp/__init__.py", line 212, in <module>
    from .worker import GunicornUVLoopWebWorker, GunicornWebWorker
  File "/usr/lib/python3.10/site-packages/aiohttp/worker.py", line 11, in <module>
    from gunicorn.config import AccessLogFormat as GunicornAccessLogFormat
  File "/usr/lib/python3.10/site-packages/gunicorn/config.py", line 20, in <module>
    from gunicorn import __version__, util
  File "/usr/lib/python3.10/site-packages/gunicorn/util.py", line 25, in <module>
    import pkg_resources
  File "/usr/lib/python3.10/site-packages/pkg_resources/__init__.py", line 3247, in <module>
    def _initialize_master_working_set():
  File "/usr/lib/python3.10/site-packages/pkg_resources/__init__.py", line 3221, in _call_aside
    f(*args, **kwargs)
  File "/usr/lib/python3.10/site-packages/pkg_resources/__init__.py", line 3259, in _initialize_master_working_set
    working_set = WorkingSet._build_master()
  File "/usr/lib/python3.10/site-packages/pkg_resources/__init__.py", line 581, in _build_master
    return cls._build_from_requirements(__requires__)
  File "/usr/lib/python3.10/site-packages/pkg_resources/__init__.py", line 594, in _build_from_requirements
    dists = ws.resolve(reqs, Environment())
  File "/usr/lib/python3.10/site-packages/pkg_resources/__init__.py", line 783, in resolve
    raise DistributionNotFound(req, requirers)
pkg_resources.DistributionNotFound: The 'Flask-Compress<1.11,>1.10' distribution was not found and is required by gdbgui

sachkris commented on 2022-02-09 13:49 (UTC)

@flying-sheep Thanks! Package updated to version 0.15.0.1.

flying-sheep commented on 2022-02-04 11:34 (UTC)

Working PKGBUILD (if you also update python-flask-compress):

# Maintainer: Sachin Krishnan T V <sachu92@gmail.com>
# Contributor: ZWindL <zwindl@protonmail.com>
pkgbase=python-gdbgui
pkgname=python-gdbgui
_module='gdbgui'
pkgver=0.15.0.1
pkgrel=1
pkgdesc="Browser-based frontend to gdb (gnu debugger). Add breakpoints, view the stack, visualize data structures, and more in C, C++, Go, Rust, and Fortran. Run gdbgui from the terminal and a new tab will open in your browser. https://gdbgui.com"
url="https://github.com/cs01/gdbgui"
depends=('python' 'python-flask' 'python-flask-compress' 'python-flask-socketio' 'python-pygments' 'python-brotli' 'python-pygdbmi>=0.10.0.0' 'python-gevent' 'python-gevent-websocket')
makedepends=('python-setuptools' 'yarn')
license=('GPL')
arch=('any')
source=("${pkgname}-${pkgver}.tar.gz::https://github.com/cs01/gdbgui/archive/v${pkgver}.tar.gz")
md5sums=('8cb3515dd02b3e4788d4bbbaa940c4fe')

prepare() {
    cd "${srcdir}/${_module}-${pkgver}"
    sed -i 's/Flask-SocketIO>5.1, <5.2/Flask-SocketIO/' requirements.in
}

build() {
    cd "${srcdir}/${_module}-${pkgver}"
    rm -rf tests
    yarn install
    yarn build
    python setup.py build
}

package() {
    depends+=()
    cd "${srcdir}/${_module}-${pkgver}"
    python setup.py install --root="${pkgdir}" --optimize=1 --skip-build
}