cs01 / gdbgui

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
GNU General Public License v3.0
9.93k stars 499 forks source link

not work UBUNTU 23.04 #464

Open AndriyBatkovich opened 1 year ago

AndriyBatkovich commented 1 year ago

UBUNTU 23.04

andrii@UbuntuPC:~/Стільниця/myFirstAsm/gdbgui_linux$ ./gdbgui_0.15.1.0 main 
Opening gdbgui with default browser at http://127.0.0.1:5000
View gdbgui dashboard at http://127.0.0.1:5000/dashboard
exit gdbgui by pressing CTRL+C
 * Serving Flask app 'gdbgui.server.app' (lazy loading)
 * Environment: production
   WARNING: This is a development server. Do not use it in a production deployment0.
   Use a production WSGI server instead.
 * Debug mode: off
^Candrii@UbuntuPC:~/Стільниця/myFirstAsm/gdbgui_linux$ sudo g
Display all 205 possibilities? (y or n)
andrii@UbuntuPC:~/Стільниця/myFirstAsm/gdbgui_linux$ sudo ./gdbgui_0.15.1.0 main 
[sudo] пароль до andrii: 
Opening gdbgui with default browser at http://127.0.0.1:5000
View gdbgui dashboard at http://127.0.0.1:5000/dashboard
exit gdbgui by pressing CTRL+C
 * Serving Flask app 'gdbgui.server.app' (lazy loading)
 * Environment: production
   WARNING: This is a development server. Do not use it in a production deployment.
   Use a production WSGI server instead.
 * Debug mode: off

andrii@UbuntuPC:~/Стільниця/myFirstAsm/gdbgui_linux$ ls -l
загалом 32460
-rwxrwxr-x 1 andrii andrii 24721568 чер 22  2022 gdbgui_0.15.1.0
-rw-rw-r-- 1 andrii andrii       33 чер 22  2022 gdbgui_0.15.1.0.md5
-rw-rw-r-- 1 andrii andrii  8494477 чер 22  2022 gdbgui.pex
-rw-rw-r-- 1 andrii andrii       33 чер 22  2022 gdbgui.pex.md5
-rwxrwxr-x 1 andrii andrii     8404 вер  1 14:31 main
running command: gdb

gdb: /tmp/_MEIBKDch1/libstdc++.so.6: version `GLIBCXX_3.4.30' not found (required by gdb)
gdb: /tmp/_MEIBKDch1/libstdc++.so.6: version `GLIBCXX_3.4.29' not found (required by gdb)
gdb: /tmp/_MEIBKDch1/libstdc++.so.6: version `CXXABI_1.3.13' not found (required by gdb)
gdb: /tmp/_MEIBKDch1/libtinfo.so.6: version `NCURSES6_TINFO_6.2.20211010' not found (required by /lib/x86_64-linux-gnu/libncursesw.so.6)
gdb: /tmp/_MEIBKDch1/libstdc++.so.6: version `GLIBCXX_3.4.29' not found (required by /lib/x86_64-linux-gnu/libsource-highlight.so.4)
gdb: /tmp/_MEIBKDch1/libstdc++.so.6: version `GLIBCXX_3.4.29' not found (required by /lib/x86_64-linux-gnu/libboost_regex.so.1.74.0)
gdb: /tmp/_MEIBKDch1/libstdc++.so.6: version `GLIBCXX_3.4.30' not found (required by /lib/x86_64-linux-gnu/libicuuc.so.72)
424778940z commented 1 year ago

same here, both pip and pipx install fails

% pipx install gdbgui
Fatal error from pip prevented installation. Full pip output in file:
    /home/adam/.local/pipx/logs/cmd_2023-10-13_17.01.16_pip_errors.log

pip failed to build package:
    greenlet

Some possibly relevant errors from pip install:

Error installing gdbgui.
% pip install gdbgui
Collecting gdbgui
  Using cached gdbgui-0.15.1.0-py3-none-any.whl (1.3 MB)
Collecting bidict==0.21.2
  Using cached bidict-0.21.2-py2.py3-none-any.whl (37 kB)
Requirement already satisfied: brotli==1.0.9 in ./.venv/lib/python3.11/site-packages (from gdbgui) (1.0.9)
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) ... done
Requirement already satisfied: itsdangerous==2.0.1 in ./.venv/lib/python3.11/site-packages (from gdbgui) (2.0.1)
Collecting jinja2==3.0.1
  Using cached Jinja2-3.0.1-py3-none-any.whl (133 kB)
Requirement already satisfied: markupsafe==2.0.1 in ./.venv/lib/python3.11/site-packages (from gdbgui) (2.0.1)
Requirement already satisfied: pygdbmi==0.10.0.1 in ./.venv/lib/python3.11/site-packages (from gdbgui) (0.10.0.1)
Requirement already satisfied: pygments==2.10.0 in ./.venv/lib/python3.11/site-packages (from gdbgui) (2.10.0)
Requirement already satisfied: python-engineio==4.2.1 in ./.venv/lib/python3.11/site-packages (from gdbgui) (4.2.1)
Collecting python-socketio==5.4.0
  Using cached python_socketio-5.4.0-py3-none-any.whl (55 kB)
Requirement already satisfied: six==1.16.0 in ./.venv/lib/python3.11/site-packages (from gdbgui) (1.16.0)
Requirement already satisfied: werkzeug==2.0.1 in ./.venv/lib/python3.11/site-packages (from gdbgui) (2.0.1)
Building wheels for collected packages: greenlet
  Building wheel for greenlet (setup.py) ... 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/test_weakref.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_stack_saved.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_cpp.py -> 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_throw.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_extension_interface.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_version.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_tracing.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
      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'
      /home/adam/Desktop/gdbgui/.venv/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
      x86_64-linux-gnu-gcc -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -I/home/adam/Desktop/gdbgui/.venv/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/x86_64-linux-gnu-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
Failed to build greenlet
Installing collected packages: jinja2, greenlet, dnspython, click, bidict, python-socketio, flask, eventlet, flask-socketio, flask-compress, gdbgui
  Running setup.py install for greenlet ... 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
      /home/adam/Desktop/gdbgui/.venv/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/test_weakref.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_stack_saved.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_cpp.py -> 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_throw.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_extension_interface.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_version.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_tracing.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
      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'
      /home/adam/Desktop/gdbgui/.venv/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
      x86_64-linux-gnu-gcc -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -I/home/adam/Desktop/gdbgui/.venv/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/x86_64-linux-gnu-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.
Tetrago commented 1 year ago

447