python/pyperformance

CI fails with 3.12

gvanrossum opened this issue · 2 comments

See https://github.com/python/pyperformance/actions/runs/3415151310/jobs/5683956792#step:7:5777

      building 'greenlet._greenlet' extension
      creating build/temp.linux-x86_64-cpython-312
      creating build/temp.linux-x86_64-cpython-312/src
      creating build/temp.linux-x86_64-cpython-312/src/greenlet
      x86_64-linux-gnu-gcc -pthread -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -fPIC -I/tmp/tmpjf2ibmks/tmps_xbembk/venv/include -I/usr/include/python3.12 -c src/greenlet/greenlet.cpp -o build/temp.linux-x86_64-cpython-312/src/greenlet/greenlet.o
      In file included from src/greenlet/greenlet_internal.hpp:19,
                       from src/greenlet/greenlet.cpp:17:
      src/greenlet/greenlet_greenlet.hpp: In member function ‘void greenlet::PythonState::operator<<(const PyThreadState*)’:
      src/greenlet/greenlet_greenlet.hpp:826:37: error: ‘const PyThreadState’ {aka ‘const struct _ts’} has no member named ‘recursion_limit’; did you mean ‘py_recursion_limit’?
        826 |     this->recursion_depth = tstate->recursion_limit - tstate->recursion_remaining;
            |                                     ^~~~~~~~~~~~~~~
            |                                     py_recursion_limit
      src/greenlet/greenlet_greenlet.hpp:826:63: error: ‘const PyThreadState’ {aka ‘const struct _ts’} has no member named ‘recursion_remaining’; did you mean ‘c_recursion_remaining’?
        826 |     this->recursion_depth = tstate->recursion_limit - tstate->recursion_remaining;
            |                                                               ^~~~~~~~~~~~~~~~~~~
            |                                                               c_recursion_remaining
      src/greenlet/greenlet_greenlet.hpp: In member function ‘void greenlet::PythonState::operator>>(PyThreadState*)’:
      src/greenlet/greenlet_greenlet.hpp:859:13: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘recursion_remaining’; did you mean ‘c_recursion_remaining’?
        859 |     tstate->recursion_remaining = tstate->recursion_limit - this->recursion_depth;
            |             ^~~~~~~~~~~~~~~~~~~
            |             c_recursion_remaining
      src/greenlet/greenlet_greenlet.hpp:859:43: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘recursion_limit’; did you mean ‘py_recursion_limit’?
        859 |     tstate->recursion_remaining = tstate->recursion_limit - this->recursion_depth;
            |                                           ^~~~~~~~~~~~~~~
            |                                           py_recursion_limit
      src/greenlet/greenlet_greenlet.hpp: In member function ‘void greenlet::PythonState::set_initial_state(const PyThreadState*)’:
      src/greenlet/greenlet_greenlet.hpp:886:37: error: ‘const PyThreadState’ {aka ‘const struct _ts’} has no member named ‘recursion_limit’; did you mean ‘py_recursion_limit’?
        886 |     this->recursion_depth = tstate->recursion_limit - tstate->recursion_remaining;
            |                                     ^~~~~~~~~~~~~~~
            |                                     py_recursion_limit
      src/greenlet/greenlet_greenlet.hpp:886:63: error: ‘const PyThreadState’ {aka ‘const struct _ts’} has no member named ‘recursion_remaining’; did you mean ‘c_recursion_remaining’?
        886 |     this->recursion_depth = tstate->recursion_limit - tstate->recursion_remaining;
            |                                                               ^~~~~~~~~~~~~~~~~~~
            |                                                               c_recursion_remaining
      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.

This was fixed by upgrading greenlet in #320.