user/uwsgi: FTBFS: error: invalid application of ‘sizeof’ to incomplete type ‘struct _frame’
Found on ppc64:
...
In file included from /usr/include/python3.11/Python.h:95,
from plugins/python/uwsgi_python.h:2,
from plugins/python/python_plugin.c:1:
/usr/include/python3.11/ceval.h:27:43: note: declared here
Py_DEPRECATED(3.9) PyAPI_FUNC(PyObject *) PyEval_CallObjectWithKeywords(
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
plugins/python/python_plugin.c: In function ‘uwsgi_python_suspend’:
plugins/python/python_plugin.c:1534:60: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘recursion_depth’; did you mean ‘recursion_limit’?
up.current_recursion_depth[wsgi_req->async_id] = tstate->recursion_depth;
^~~~~~~~~~~~~~~
recursion_limit
plugins/python/python_plugin.c:1535:50: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘frame’; did you mean ‘cframe’?
up.current_frame[wsgi_req->async_id] = tstate->frame;
^~~~~
cframe
plugins/python/python_plugin.c:1538:45: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘recursion_depth’; did you mean ‘recursion_limit’?
up.current_main_recursion_depth = tstate->recursion_depth;
^~~~~~~~~~~~~~~
recursion_limit
plugins/python/python_plugin.c:1539:35: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘frame’; did you mean ‘cframe’?
up.current_main_frame = tstate->frame;
^~~~~
cframe
plugins/python/python_plugin.c: In function ‘uwsgi_python_resume’:
plugins/python/python_plugin.c:1767:11: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘recursion_depth’; did you mean ‘recursion_limit’?
tstate->recursion_depth = up.current_recursion_depth[wsgi_req->async_id];
^~~~~~~~~~~~~~~
recursion_limit
plugins/python/python_plugin.c:1768:11: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘frame’; did you mean ‘cframe’?
tstate->frame = up.current_frame[wsgi_req->async_id];
^~~~~
cframe
plugins/python/python_plugin.c:1771:11: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘recursion_depth’; did you mean ‘recursion_limit’?
tstate->recursion_depth = up.current_main_recursion_depth;
^~~~~~~~~~~~~~~
recursion_limit
plugins/python/python_plugin.c:1772:11: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘frame’; did you mean ‘cframe’?
tstate->frame = up.current_main_frame;
^~~~~
cframe
plugins/python/python_plugin.c: In function ‘uwsgi_python_mule’:
plugins/python/python_plugin.c:1854:4: warning: ‘PyEval_CallObjectWithKeywords’ is deprecated [-Wdeprecated-declarations]
result = PyEval_CallObject(callable, arglist);
^~~~~~
In file included from /usr/include/python3.11/Python.h:95,
from plugins/python/uwsgi_python.h:2,
from plugins/python/python_plugin.c:1:
/usr/include/python3.11/ceval.h:27:43: note: declared here
Py_DEPRECATED(3.9) PyAPI_FUNC(PyObject *) PyEval_CallObjectWithKeywords(
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
plugins/python/python_plugin.c: In function ‘uwsgi_python_logger’:
plugins/python/python_plugin.c:1944:17: warning: ‘PyEval_CallObjectWithKeywords’ is deprecated [-Wdeprecated-declarations]
ul->data = (void *) PyEval_CallObject(py_getLogger, py_getLogger_args);
^~
In file included from /usr/include/python3.11/Python.h:95,
from plugins/python/uwsgi_python.h:2,
from plugins/python/python_plugin.c:1:
/usr/include/python3.11/ceval.h:27:43: note: declared here
Py_DEPRECATED(3.9) PyAPI_FUNC(PyObject *) PyEval_CallObjectWithKeywords(
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
plugins/python/pyutils.c: In function ‘uwsgi_python_backtrace’:
plugins/python/pyutils.c:78:2: warning: ‘PyEval_CallObjectWithKeywords’ is deprecated [-Wdeprecated-declarations]
PyObject *result = PyEval_CallObject(extract_tb, args);
^~~~~~~~
...
Caused by recent Python 3.11
bump.