title: python local install uwsgi prompt: undefined reference to `PyCMethod_New'
body: <p>I use :<br />
  <code>Ubuntu20.04 64bit</code>This image is located in Alibaba Cloud, ID:<code>ubuntu_20_04_x64_20G_alibase_20201228.vhd</code><br />
  <code>python3.10.0a5  https://www.python.org/ftp/python/3.10.0/Python-3.10.0a5.tgz</code><br />
  <code>uwsgi2.0.19.1 Stable/LTS https://projects.unbit.it/downloads/uwsgi-2.0.19.1.tar.gz</code><br />
  Use <code>sudo python3 setup.py install</code> to install</p>
  <p>Please help me, please!</p>
  <p>The output of the installation process(The word count is too long and omitted):</p>
  <pre><code>/usr/local/python3/lib/python3.10/distutils/dist.py:274: UserWarning: Unknown distribution option: 'descriptions'
    warnings.warn(msg)
  running install
  using profile: buildconf/default.ini
  detected include path: ['/usr/lib/gcc/x86_64-linux-gnu/9/include', '/usr/local/include', '/usr/include/x86_64-linux-gnu', '/usr/include']
  Patching &quot;bin_name&quot; to properly install_scripts dir
  detected CPU cores: 1
  configured CFLAGS: -O2 -I. -Wall -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -DUWSGI_HAS_IFADDRS -DUWSGI_ZLIB -DUWSGI_LOCK_USE_MUTEX -DUWSGI_EVENT_USE_EPOLL -DUWSGI_EVENT_TIMER_USE_TIMERFD -DUWSGI_EVENT_FILEMONITOR_USE_INOTIFY -DUWSGI_UUID -DUWSGI_VERSION=&quot;\&quot;2.0.19.1\&quot;&quot; -DUWSGI_VERSION_BASE=&quot;2&quot; -DUWSGI_VERSION_MAJOR=&quot;0&quot; -DUWSGI_VERSION_MINOR=&quot;19&quot; -DUWSGI_VERSION_REVISION=&quot;1&quot; -DUWSGI_VERSION_CUSTOM=&quot;\&quot;\&quot;&quot; -DUWSGI_YAML -DUWSGI_SSL -DUWSGI_XML -DUWSGI_XML_EXPAT -DUWSGI_PLUGIN_DIR=&quot;\&quot;.\&quot;&quot; -DUWSGI_DECLARE_EMBEDDED_PLUGINS=&quot;UDEP(python);UDEP(gevent);UDEP(ping);UDEP(cache);UDEP(nagios);UDEP(rrdtool);UDEP(carbon);UDEP(rpc);UDEP(corerouter);UDEP(fastrouter);UDEP(http);UDEP(ugreen);UDEP(signal);UDEP(syslog);UDEP(rsyslog);UDEP(logsocket);UDEP(router_uwsgi);UDEP(router_redirect);UDEP(router_basicauth);UDEP(zergpool);UDEP(redislog);UDEP(mongodblog);UDEP(router_rewrite);UDEP(router_http);UDEP(logfile);UDEP(router_cache);UDEP(rawrouter);UDEP(router_static);UDEP(sslrouter);UDEP(spooler);UDEP(cheaper_busyness);UDEP(symcall);UDEP(transformation_tofile);UDEP(transformation_gzip);UDEP(transformation_chunked);UDEP(transformation_offload);UDEP(router_memcached);UDEP(router_redis);UDEP(router_hash);UDEP(router_expires);UDEP(router_metrics);UDEP(transformation_template);UDEP(stats_pusher_socket);&quot; -DUWSGI_LOAD_EMBEDDED_PLUGINS=&quot;ULEP(python);ULEP(gevent);ULEP(ping);ULEP(cache);ULEP(nagios);ULEP(rrdtool);ULEP(carbon);ULEP(rpc);ULEP(corerouter);ULEP(fastrouter);ULEP(http);ULEP(ugreen);ULEP(signal);ULEP(syslog);ULEP(rsyslog);ULEP(logsocket);ULEP(router_uwsgi);ULEP(router_redirect);ULEP(router_basicauth);ULEP(zergpool);ULEP(redislog);ULEP(mongodblog);ULEP(router_rewrite);ULEP(router_http);ULEP(logfile);ULEP(router_cache);ULEP(rawrouter);ULEP(router_static);ULEP(sslrouter);ULEP(spooler);ULEP(cheaper_busyness);ULEP(symcall);ULEP(transformation_tofile);ULEP(transformation_gzip);ULEP(transformation_chunked);ULEP(transformation_offload);ULEP(router_memcached);ULEP(router_redis);ULEP(router_hash);ULEP(router_expires);ULEP(router_metrics);ULEP(transformation_template);ULEP(stats_pusher_socket);&quot;
  *** uWSGI compiling server core ***
  ...
  ...
  ...
  
  *** uWSGI compiling embedded plugins ***
  [gcc -pthread] plugins/python/python_plugin.o
  plugins/python/python_plugin.c: In function ‘uwsgi_python_reset_random_seed’:
  plugins/python/python_plugin.c:319:33: warning: ‘PyEval_CallObjectWithKeywords’ is deprecated [-Wdeprecated-declarations]
    319 |                                 PyEval_CallObject(random_seed, random_args);
        |                                 ^~~~~~~~~~~~~~~~~
  In file included from /usr/local/python3/include/python3.10/Python.h:146,
                   from plugins/python/uwsgi_python.h:2,
                   from plugins/python/python_plugin.c:1:
  /usr/local/python3/include/python3.10/ceval.h:17:43: note: declared here
     17 | Py_DEPRECATED(3.9) PyAPI_FUNC(PyObject *) PyEval_CallObjectWithKeywords(
        |                                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  plugins/python/python_plugin.c: In function ‘uwsgi_pyimport_by_filename’:
  plugins/python/python_plugin.c:470:18: warning: implicit declaration of function ‘PyParser_SimpleParseFile’ [-Wimplicit-function-declaration]
    470 |   py_file_node = PyParser_SimpleParseFile(pyfile, real_filename, Py_file_input);
        |                  ^~~~~~~~~~~~~~~~~~~~~~~~
  plugins/python/python_plugin.c:470:16: warning: assignment to ‘struct _node *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
    470 |   py_file_node = PyParser_SimpleParseFile(pyfile, real_filename, Py_file_input);
        |                ^
  plugins/python/python_plugin.c:487:19: warning: implicit declaration of function ‘PyParser_SimpleParseString’ [-Wimplicit-function-declaration]
    487 |    py_file_node = PyParser_SimpleParseString(pycontent, Py_file_input);
        |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~
  plugins/python/python_plugin.c:487:17: warning: assignment to ‘struct _node *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
    487 |    py_file_node = PyParser_SimpleParseString(pycontent, Py_file_input);
        |                 ^
  plugins/python/python_plugin.c:496:34: warning: implicit declaration of function ‘PyNode_Compile’; did you mean ‘PyAST_Compile’? [-Wimplicit-function-declaration]
    496 |  py_compiled_node = (PyObject *) PyNode_Compile(py_file_node, real_filename);
        |                                  ^~~~~~~~~~~~~~
        |                                  PyAST_Compile
  plugins/python/python_plugin.c:496:21: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
    496 |  py_compiled_node = (PyObject *) PyNode_Compile(py_file_node, real_filename);
        |                     ^
  plugins/python/python_plugin.c: In function ‘uwsgi_python_enable_threads’:
  plugins/python/python_plugin.c:1292:2: warning: ‘PyEval_InitThreads’ is deprecated [-Wdeprecated-declarations]
   1292 |  PyEval_InitThreads();
        |  ^~~~~~~~~~~~~~~~~~
  In file included from /usr/local/python3/include/python3.10/Python.h:146,
                   from plugins/python/uwsgi_python.h:2,
                   from plugins/python/python_plugin.c:1:
  /usr/local/python3/include/python3.10/ceval.h:122:37: note: declared here
    122 | Py_DEPRECATED(3.9) PyAPI_FUNC(void) PyEval_InitThreads(void);
        |                                     ^~~~~~~~~~~~~~~~~~
  plugins/python/python_plugin.c: In function ‘uwsgi_python_set_thread_name’:
  plugins/python/python_plugin.c:1336:33: warning: ‘PyEval_CallObjectWithKeywords’ is deprecated [-Wdeprecated-declarations]
   1336 |                                 PyObject *current_thread = PyEval_CallObject(threading_current, (PyObject *)NULL);
        |                                 ^~~~~~~~
  In file included from /usr/local/python3/include/python3.10/Python.h:146,
                   from plugins/python/uwsgi_python.h:2,
                   from plugins/python/python_plugin.c:1:
  /usr/local/python3/include/python3.10/ceval.h:17:43: note: declared here
     17 | Py_DEPRECATED(3.9) PyAPI_FUNC(PyObject *) PyEval_CallObjectWithKeywords(
        |                                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  plugins/python/python_plugin.c: In function ‘uwsgi_python_setup_thread’:
  plugins/python/python_plugin.c:1424:33: warning: ‘PyEval_CallObjectWithKeywords’ is deprecated [-Wdeprecated-declarations]
   1424 |                                 PyObject *current_thread = PyEval_CallObject(threading_current, (PyObject *)NULL);
        |                                 ^~~~~~~~
  In file included from /usr/local/python3/include/python3.10/Python.h:146,
                   from plugins/python/uwsgi_python.h:2,
                   from plugins/python/python_plugin.c:1:
  /usr/local/python3/include/python3.10/ceval.h:17:43: note: declared here
     17 | Py_DEPRECATED(3.9) PyAPI_FUNC(PyObject *) PyEval_CallObjectWithKeywords(
        |                                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  plugins/python/python_plugin.c: In function ‘uwsgi_python_mule’:
  plugins/python/python_plugin.c:1854:4: warning: ‘PyEval_CallObjectWithKeywords’ is deprecated [-Wdeprecated-declarations]
   1854 |    result = PyEval_CallObject(callable, arglist);
        |    ^~~~~~
  In file included from /usr/local/python3/include/python3.10/Python.h:146,
                   from plugins/python/uwsgi_python.h:2,
                   from plugins/python/python_plugin.c:1:
  /usr/local/python3/include/python3.10/ceval.h:17:43: note: declared here
     17 | 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]
   1944 |                 ul-&gt;data = (void *) PyEval_CallObject(py_getLogger, py_getLogger_args);
        |                 ^~
  In file included from /usr/local/python3/include/python3.10/Python.h:146,
                   from plugins/python/uwsgi_python.h:2,
                   from plugins/python/python_plugin.c:1:
  /usr/local/python3/include/python3.10/ceval.h:17:43: note: declared here
     17 | Py_DEPRECATED(3.9) PyAPI_FUNC(PyObject *) PyEval_CallObjectWithKeywords(
        |                                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  [gcc -pthread] plugins/python/pyutils.o
  plugins/python/pyutils.c: In function ‘uwsgi_python_backtrace’:
  plugins/python/pyutils.c:78:2: warning: ‘PyEval_CallObjectWithKeywords’ is deprecated [-Wdeprecated-declarations]
     78 |  PyObject *result = PyEval_CallObject(extract_tb, args);
        |  ^~~~~~~~
  In file included from /usr/local/python3/include/python3.10/Python.h:146,
                   from plugins/python/uwsgi_python.h:2,
                   from plugins/python/pyutils.c:1:
  /usr/local/python3/include/python3.10/ceval.h:17:43: note: declared here
     17 | Py_DEPRECATED(3.9) PyAPI_FUNC(PyObject *) PyEval_CallObjectWithKeywords(
        |                                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  plugins/python/pyutils.c: In function ‘python_call’:
  plugins/python/pyutils.c:279:2: warning: ‘PyEval_CallObjectWithKeywords’ is deprecated [-Wdeprecated-declarations]
    279 |  PyObject *pyret = PyEval_CallObject(callable, args);
        |  ^~~~~~~~
  In file included from /usr/local/python3/include/python3.10/Python.h:146,
                   from plugins/python/uwsgi_python.h:2,
                   from plugins/python/pyutils.c:1:
  /usr/local/python3/include/python3.10/ceval.h:17:43: note: declared here
     17 | Py_DEPRECATED(3.9) PyAPI_FUNC(PyObject *) PyEval_CallObjectWithKeywords(
        |                                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  [gcc -pthread] plugins/python/pyloader.o
  plugins/python/pyloader.c: In function ‘uwsgi_pecan_loader’:
  plugins/python/pyloader.c:663:2: warning: ‘PyEval_CallObjectWithKeywords’ is deprecated [-Wdeprecated-declarations]
    663 |  pecan_app = PyEval_CallObject(pecan_deploy, pecan_arg);
        |  ^~~~~~~~~
  In file included from /usr/local/python3/include/python3.10/Python.h:146,
                   from plugins/python/uwsgi_python.h:2,
                   from plugins/python/pyloader.c:1:
  /usr/local/python3/include/python3.10/ceval.h:17:43: note: declared here
     17 | Py_DEPRECATED(3.9) PyAPI_FUNC(PyObject *) PyEval_CallObjectWithKeywords(
        |                                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  plugins/python/pyloader.c: In function ‘uwsgi_paste_loader’:
  plugins/python/pyloader.c:727:2: warning: ‘PyEval_CallObjectWithKeywords’ is deprecated [-Wdeprecated-declarations]
    727 |  paste_app = PyEval_CallObject(paste_loadapp, paste_arg);
        |  ^~~~~~~~~
  In file included from /usr/local/python3/include/python3.10/Python.h:146,
                   from plugins/python/uwsgi_python.h:2,
                   from plugins/python/pyloader.c:1:
  /usr/local/python3/include/python3.10/ceval.h:17:43: note: declared here
     17 | Py_DEPRECATED(3.9) PyAPI_FUNC(PyObject *) PyEval_CallObjectWithKeywords(
        |                                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  plugins/python/pyloader.c: In function ‘uwsgi_eval_loader’:
  plugins/python/pyloader.c:745:19: warning: implicit declaration of function ‘PyParser_SimpleParseString’ [-Wimplicit-function-declaration]
    745 |  wsgi_eval_node = PyParser_SimpleParseString(code, Py_file_input);
        |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~
  plugins/python/pyloader.c:745:17: warning: assignment to ‘struct _node *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
    745 |  wsgi_eval_node = PyParser_SimpleParseString(code, Py_file_input);
        |                 ^
  plugins/python/pyloader.c:752:36: warning: implicit declaration of function ‘PyNode_Compile’; did you mean ‘PyAST_Compile’? [-Wimplicit-function-declaration]
    752 |  wsgi_compiled_node = (PyObject *) PyNode_Compile(wsgi_eval_node, &quot;uwsgi_eval_config&quot;);
        |                                    ^~~~~~~~~~~~~~
        |                                    PyAST_Compile
  plugins/python/pyloader.c:752:23: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
    752 |  wsgi_compiled_node = (PyObject *) PyNode_Compile(wsgi_eval_node, &quot;uwsgi_eval_config&quot;);
        |                       ^
  plugins/python/pyloader.c: In function ‘set_dyn_pyhome’:
  plugins/python/pyloader.c:49:21: warning: ‘__builtin___snprintf_chk’ output truncated before the last format character [-Wformat-truncation=]
     49 |                 if (snprintf(venv_version, 15, &quot;/lib/python%d.%d&quot;, PY_MAJOR_VERSION, PY_MINOR_VERSION) == -1) {
        |                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  In file included from /usr/include/stdio.h:867,
                   from ./uwsgi.h:165,
                   from plugins/python/uwsgi_python.h:1,
                   from plugins/python/pyloader.c:1:
  /usr/include/x86_64-linux-gnu/bits/stdio2.h:67:10: note: ‘__builtin___snprintf_chk’ output 16 bytes into a destination of size 15
     67 |   return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
        |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     68 |        __bos (__s), __fmt, __va_arg_pack ());
        |        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  [gcc -pthread] plugins/python/wsgi_handlers.o
  [gcc -pthread] plugins/python/wsgi_headers.o
  [gcc -pthread] plugins/python/wsgi_subhandler.o
  plugins/python/wsgi_subhandler.c: In function ‘uwsgi_python_consume_file_wrapper_read’:
  plugins/python/wsgi_subhandler.c:106:10: warning: ‘PyEval_CallObjectWithKeywords’ is deprecated [-Wdeprecated-declarations]
    106 |          PyObject *read_method_output = PyEval_CallObject(read_method, read_method_args);
        |          ^~~~~~~~
  In file included from /usr/local/python3/include/python3.10/Python.h:146,
                   from plugins/python/uwsgi_python.h:2,
                   from plugins/python/wsgi_subhandler.c:1:
  /usr/local/python3/include/python3.10/ceval.h:17:43: note: declared here
     17 | Py_DEPRECATED(3.9) PyAPI_FUNC(PyObject *) PyEval_CallObjectWithKeywords(
        |                                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  plugins/python/wsgi_subhandler.c: In function ‘uwsgi_response_subhandler_wsgi’:
  plugins/python/wsgi_subhandler.c:366:25: warning: ‘PyEval_CallObjectWithKeywords’ is deprecated [-Wdeprecated-declarations]
    366 |                         PyObject *close_method_output = PyEval_CallObject(close_method, close_method_args);
        |                         ^~~~~~~~
  In file included from /usr/local/python3/include/python3.10/Python.h:146,
                   from plugins/python/uwsgi_python.h:2,
                   from plugins/python/wsgi_subhandler.c:1:
  /usr/local/python3/include/python3.10/ceval.h:17:43: note: declared here
     17 | Py_DEPRECATED(3.9) PyAPI_FUNC(PyObject *) PyEval_CallObjectWithKeywords(
        |                                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  [gcc -pthread] plugins/python/web3_subhandler.o
  [gcc -pthread] plugins/python/pump_subhandler.o
  [gcc -pthread] plugins/python/gil.o
  [gcc -pthread] plugins/python/uwsgi_pymodule.o
  [gcc -pthread] plugins/python/profiler.o
  [gcc -pthread] plugins/python/symimporter.o
  [gcc -pthread] plugins/python/tracebacker.o
  plugins/python/tracebacker.c: In function ‘uwsgi_python_get_thread_name’:
  plugins/python/tracebacker.c:17:2: warning: ‘PyEval_CallObjectWithKeywords’ is deprecated [-Wdeprecated-declarations]
     17 |  PyObject *threads_list = PyEval_CallObject(threading_enumerate, (PyObject *)NULL);
        |  ^~~~~~~~
  In file included from /usr/local/python3/include/python3.10/Python.h:146,
                   from plugins/python/uwsgi_python.h:2,
                   from plugins/python/tracebacker.c:1:
  /usr/local/python3/include/python3.10/ceval.h:17:43: note: declared here
     17 | Py_DEPRECATED(3.9) PyAPI_FUNC(PyObject *) PyEval_CallObjectWithKeywords(
        |                                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  plugins/python/tracebacker.c: In function ‘uwsgi_python_tracebacker_thread’:
  plugins/python/tracebacker.c:109:3: warning: ‘PyEval_CallObjectWithKeywords’ is deprecated [-Wdeprecated-declarations]
    109 |   PyObject *current_frames = PyEval_CallObject(_current_frames, (PyObject *)NULL);
        |   ^~~~~~~~
  In file included from /usr/local/python3/include/python3.10/Python.h:146,
                   from plugins/python/uwsgi_python.h:2,
                   from plugins/python/tracebacker.c:1:
  /usr/local/python3/include/python3.10/ceval.h:17:43: note: declared here
     17 | Py_DEPRECATED(3.9) PyAPI_FUNC(PyObject *) PyEval_CallObjectWithKeywords(
        |                                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  plugins/python/tracebacker.c:115:3: warning: ‘PyEval_CallObjectWithKeywords’ is deprecated [-Wdeprecated-declarations]
    115 |   PyObject *frames_ret = PyEval_CallObject(current_frames_items, (PyObject *)NULL);
        |   ^~~~~~~~
  In file included from /usr/local/python3/include/python3.10/Python.h:146,
                   from plugins/python/uwsgi_python.h:2,
                   from plugins/python/tracebacker.c:1:
  /usr/local/python3/include/python3.10/ceval.h:17:43: note: declared here
     17 | Py_DEPRECATED(3.9) PyAPI_FUNC(PyObject *) PyEval_CallObjectWithKeywords(
        |                                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  plugins/python/tracebacker.c:137:4: warning: ‘PyEval_CallObjectWithKeywords’ is deprecated [-Wdeprecated-declarations]
    137 |    PyObject *stacktrace = PyEval_CallObject( extract_stack, arg_tuple);
        |    ^~~~~~~~
  In file included from /usr/local/python3/include/python3.10/Python.h:146,
                   from plugins/python/uwsgi_python.h:2,
                   from plugins/python/tracebacker.c:1:
  /usr/local/python3/include/python3.10/ceval.h:17:43: note: declared here
     17 | Py_DEPRECATED(3.9) PyAPI_FUNC(PyObject *) PyEval_CallObjectWithKeywords(
        |                                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  [gcc -pthread] plugins/python/raw.o
  plugins/python/raw.c: In function ‘uwsgi_request_python_raw’:
  plugins/python/raw.c:67:2: warning: ‘PyEval_CallObjectWithKeywords’ is deprecated [-Wdeprecated-declarations]
     67 |  wsgi_req-&gt;async_result = PyEval_CallObject(up.raw_callable, args);
        |  ^~~~~~~~
  In file included from /usr/local/python3/include/python3.10/Python.h:146,
                   from plugins/python/uwsgi_python.h:2,
                   from plugins/python/raw.c:1:
  /usr/local/python3/include/python3.10/ceval.h:17:43: note: declared here
     17 | Py_DEPRECATED(3.9) PyAPI_FUNC(PyObject *) PyEval_CallObjectWithKeywords(
        |                                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  [gcc -pthread] plugins/gevent/gevent.o
  plugins/gevent/gevent.c: In function ‘py_uwsgi_gevent_ctrl_gl’:
  plugins/gevent/gevent.c:36:17: warning: ‘PyEval_CallObjectWithKeywords’ is deprecated [-Wdeprecated-declarations]
     36 |                 PyObject *gswitch = PyEval_CallObject(ugevent.greenlet_switch, gevent_sleep_args);
        |                 ^~~~~~~~
  In file included from /usr/local/python3/include/python3.10/Python.h:146,
                   from plugins/gevent/../python/uwsgi_python.h:2,
                   from plugins/gevent/gevent.h:1,
                   from plugins/gevent/gevent.c:1:
  /usr/local/python3/include/python3.10/ceval.h:17:43: note: declared here
     17 | Py_DEPRECATED(3.9) PyAPI_FUNC(PyObject *) PyEval_CallObjectWithKeywords(
        |                                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  [gcc -pthread] plugins/gevent/hooks.o
  ...
  ...
  ...
  *** uWSGI linking ***
  ...
  ...
  ...
  plugins/stats_pusher_socket/plugin.o -lpthread -lm -rdynamic -ldl -lz -luuid -lssl -lcrypto -lexpat -lcrypt -lpthread -ldl -lutil -lm -lm /usr/local/python3/lib/python3.10/config-3.10-x86_64-linux-gnu/libpython3.10.a -lutil -lcrypt
  /usr/bin/ld: plugins/python/python_plugin.o: in function `uwsgi_pyimport_by_filename':
  python_plugin.c:(.text+0x174c): undefined reference to `PyParser_SimpleParseString'
  /usr/bin/ld: python_plugin.c:(.text+0x1761): undefined reference to `PyNode_Compile'
  /usr/bin/ld: python_plugin.c:(.text+0x181d): undefined reference to `PyParser_SimpleParseFile'
  /usr/bin/ld: python_plugin.c:(.text+0x183d): undefined reference to `PyNode_Compile'
  /usr/bin/ld: python_plugin.c:(.text+0x18c3): undefined reference to `PyParser_SimpleParseFile'
  /usr/bin/ld: python_plugin.c:(.text+0x18e3): undefined reference to `PyNode_Compile'
  /usr/bin/ld: plugins/python/pyloader.o: in function `uwsgi_eval_loader':
  pyloader.c:(.text+0x1683): undefined reference to `PyParser_SimpleParseString'
  /usr/bin/ld: pyloader.c:(.text+0x169c): undefined reference to `PyNode_Compile'
  collect2: error: ld returned 1 exit status
  *** error linking uWSGI ***
  root@iZuf6du66x6w06igu6tmqqZ:~/uwsgi-2.0.19.1# sudo apt-get install -y libiconv
  Reading package lists... Done
  Building dependency tree
  Reading state information... Done
  E: Unable to locate package libiconv
  root@iZuf6du66x6w06igu6tmqqZ:~/uwsgi-2.0.19.1# sudo apt-get install python3-setuptools
  Reading package lists... Done
  Building dependency tree
  Reading state information... Done
  python3-setuptools is already the newest version (45.2.0-1).
  python3-setuptools set to manually installed.
  0 upgraded, 0 newly installed, 0 to remove and 3 not upgraded.
  root@iZuf6du66x6w06igu6tmqqZ:~/uwsgi-2.0.19.1# sudo apt-get install python3-dev
  Reading package lists... Done
  Building dependency tree
  Reading state information... Done
  python3-dev is already the newest version (3.8.2-0ubuntu2).
  python3-dev set to manually installed.
  0 upgraded, 0 newly installed, 0 to remove and 3 not upgraded.
  root@iZuf6du66x6w06igu6tmqqZ:~/uwsgi-2.0.19.1# sudo python3 setup.py install
  /usr/lib/python3.8/distutils/dist.py:274: UserWarning: Unknown distribution option: 'descriptions'
    warnings.warn(msg)
  running install
  using profile: buildconf/default.ini
  detected include path: ['/usr/lib/gcc/x86_64-linux-gnu/9/include', '/usr/local/include', '/usr/include/x86_64-linux-gnu', '/usr/include']
  Patching &quot;bin_name&quot; to properly install_scripts dir
  detected CPU cores: 1
  configured CFLAGS: -O2 -I. -Wall -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -DUWSGI_HAS_IFADDRS -DUWSGI_ZLIB -DUWSGI_LOCK_USE_MUTEX -DUWSGI_EVENT_USE_EPOLL -DUWSGI_EVENT_TIMER_USE_TIMERFD -DUWSGI_EVENT_FILEMONITOR_USE_INOTIFY -DUWSGI_UUID -DUWSGI_VERSION=&quot;\&quot;2.0.19.1\&quot;&quot; -DUWSGI_VERSION_BASE=&quot;2&quot; -DUWSGI_VERSION_MAJOR=&quot;0&quot; -DUWSGI_VERSION_MINOR=&quot;19&quot; -DUWSGI_VERSION_REVISION=&quot;1&quot; -DUWSGI_VERSION_CUSTOM=&quot;\&quot;\&quot;&quot; -DUWSGI_YAML -DUWSGI_SSL -DUWSGI_XML -DUWSGI_XML_EXPAT -DUWSGI_PLUGIN_DIR=&quot;\&quot;.\&quot;&quot; -DUWSGI_DECLARE_EMBEDDED_PLUGINS=&quot;UDEP(python);UDEP(gevent);UDEP(ping);UDEP(cache);UDEP(nagios);UDEP(rrdtool);UDEP(carbon);UDEP(rpc);UDEP(corerouter);UDEP(fastrouter);UDEP(http);UDEP(ugreen);UDEP(signal);UDEP(syslog);UDEP(rsyslog);UDEP(logsocket);UDEP(router_uwsgi);UDEP(router_redirect);UDEP(router_basicauth);UDEP(zergpool);UDEP(redislog);UDEP(mongodblog);UDEP(router_rewrite);UDEP(router_http);UDEP(logfile);UDEP(router_cache);UDEP(rawrouter);UDEP(router_static);UDEP(sslrouter);UDEP(spooler);UDEP(cheaper_busyness);UDEP(symcall);UDEP(transformation_tofile);UDEP(transformation_gzip);UDEP(transformation_chunked);UDEP(transformation_offload);UDEP(router_memcached);UDEP(router_redis);UDEP(router_hash);UDEP(router_expires);UDEP(router_metrics);UDEP(transformation_template);UDEP(stats_pusher_socket);&quot; -
  ...
  ...
  ...
  *** uWSGI compiling server core ***
  ...
  ...
  ...
  *** uWSGI compiling embedded plugins ***
  ...
  ...
  ...
  *** uWSGI linking ***
  x86_64-linux-gnu-gcc -pthread -o /usr/local/bin/uwsgi -L/usr/lib -Wl,-rpath,/usr/lib core/utils.o core/protocol.o core/socket.o core/logging.o core/master.o core/master_utils.o core/emperor.o core/notify.o core/mule.o core/subscription.o core/stats.o core/sendfile.o core/async.o core/master_checks.o core/fifo.o core/offload.o core/io.o core/static.o core/websockets.o core/spooler.o core/snmp.o core/exceptions.o core/config.o core/setup_utils.o core/clock.o core/init.o core/buffer.o core/reader.o core/writer.o core/alarm.o core/cron.o core/hooks.o core/plugins.o core/lock.o core/cache.o core/daemons.o core/errors.o core/hash.o core/master_events.o core/chunked.o core/queue.o core/event.o core/signal.o core/strings.o core/progress.o core/timebomb.o core/ini.o core/fsmon.o core/mount.o core/metrics.o core/plugins_builder.o core/sharedarea.o core/rpc.o core/gateway.o core/loop.o core/cookie.o core/querystring.o core/rb_timers.o core/transformations.o core/uwsgi.o proto/base.o proto/uwsgi.o proto/http.o proto/fastcgi.o proto/scgi.o proto/puwsgi.o lib/linux_ns.o core/zlib.o core/yaml.o core/ssl.o core/legion.o core/xmlconf.o core/dot_h.o core/config_py.o plugins/python/python_plugin.o plugins/python/pyutils.o plugins/python/pyloader.o plugins/python/wsgi_handlers.o plugins/python/wsgi_headers.o plugins/python/wsgi_subhandler.o plugins/python/web3_subhandler.o plugins/python/pump_subhandler.o plugins/python/gil.o plugins/python/uwsgi_pymodule.o plugins/python/profiler.o plugins/python/symimporter.o plugins/python/tracebacker.o plugins/python/raw.o plugins/gevent/gevent.o plugins/gevent/hooks.o plugins/ping/ping_plugin.o plugins/cache/cache.o plugins/nagios/nagios.o plugins/rrdtool/rrdtool.o plugins/carbon/carbon.o plugins/rpc/rpc_plugin.o plugins/corerouter/cr_common.o plugins/corerouter/cr_map.o plugins/corerouter/corerouter.o plugins/fastrouter/fastrouter.o plugins/http/http.o plugins/http/keepalive.o plugins/http/https.o plugins/http/spdy3.o plugins/ugreen/ugreen.o plugins/signal/signal_plugin.o plugins/syslog/syslog_plugin.o plugins/rsyslog/rsyslog_plugin.o plugins/logsocket/logsocket_plugin.o plugins/router_uwsgi/router_uwsgi.o plugins/router_redirect/router_redirect.o plugins/router_basicauth/router_basicauth.o plugins/zergpool/zergpool.o plugins/redislog/redislog_plugin.o plugins/mongodblog/mongodblog_plugin.o plugins/router_rewrite/router_rewrite.o plugins/router_http/router_http.o plugins/logfile/logfile.o plugins/router_cache/router_cache.o plugins/rawrouter/rawrouter.o plugins/router_static/router_static.o plugins/sslrouter/sslrouter.o plugins/spooler/spooler_plugin.o plugins/cheaper_busyness/cheaper_busyness.o plugins/symcall/symcall_plugin.o plugins/transformation_tofile/tofile.o plugins/transformation_gzip/gzip.o plugins/transformation_chunked/chunked.o plugins/transformation_offload/offload.o plugins/router_memcached/router_memcached.o plugins/router_redis/router_redis.o plugins/router_hash/router_hash.o plugins/router_expires/expires.o plugins/router_metrics/plugin.o plugins/transformation_template/tt.o plugins/stats_pusher_socket/plugin.o -lpthread -lm -rdynamic -ldl -lz -luuid -lssl -lcrypto -lexpat -lcrypt -lpthread -ldl -lutil -lm -lm -lpython3.8 -lcrypt
  /usr/bin/ld: plugins/python/python_plugin.o: in function `uwsgi_python_init':
  python_plugin.c:(.text+0x4ad): undefined reference to `PyCMethod_New'
  /usr/bin/ld: python_plugin.c:(.text+0x4c6): undefined reference to `PyCMethod_New'
  /usr/bin/ld: plugins/python/pyloader.o: in function `init_uwsgi_app':
  pyloader.c:(.text+0xc66): undefined reference to `PyCMethod_New'
  /usr/bin/ld: pyloader.c:(.text+0xc7f): undefined reference to `PyCMethod_New'
  /usr/bin/ld: pyloader.c:(.text+0xc98): undefined reference to `PyCMethod_New'
  /usr/bin/ld: plugins/python/wsgi_subhandler.o: in function `uwsgi_python_send_body':
  wsgi_subhandler.c:(.text+0x1bf): undefined reference to `PyObject_CheckBuffer'
  /usr/bin/ld: plugins/python/uwsgi_pymodule.o: in function `init_uwsgi_module_spooler':
  uwsgi_pymodule.c:(.text+0x7e24): undefined reference to `PyCMethod_New'
  /usr/bin/ld: plugins/python/uwsgi_pymodule.o: in function `init_uwsgi_module_advanced':
  uwsgi_pymodule.c:(.text+0x7eb4): undefined reference to `PyCMethod_New'
  /usr/bin/ld: uwsgi_pymodule.c:(.text+0x7f0c): undefined reference to `PyCMethod_New'
  /usr/bin/ld: plugins/python/uwsgi_pymodule.o: in function `init_uwsgi_module_cache':
  uwsgi_pymodule.c:(.text+0x7fa4): undefined reference to `PyCMethod_New'
  /usr/bin/ld: plugins/python/uwsgi_pymodule.o: in function `init_uwsgi_module_queue':
  uwsgi_pymodule.c:(.text+0x8034): undefined reference to `PyCMethod_New'
  /usr/bin/ld: plugins/python/uwsgi_pymodule.o:uwsgi_pymodule.c:(.text+0x80e4): more undefined references to `PyCMethod_New' follow
  collect2: error: ld returned 1 exit status
  *** error linking uWSGI ***
  </code></pre>