question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

pyperformance doesn't work on the current Python 3.11 dev version: fail to install greenlet

See original GitHub issue
$ ./bin/python3.11 -m pyperformance run -o ~/python/pgo_lto_pyperformance_macros.json -v 
(...)
    creating build/temp.linux-x86_64-3.11/src/greenlet
    gcc -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -I/home/vstinner/python/main/install/venv/cpython3.11-527ffb5582f0/include -I/home/vstinner/python/main/install/include/python3.11 -c src/greenlet/greenlet.c -o build/temp.linux-x86_64-3.11/src/greenlet/greenlet.o
    src/greenlet/greenlet.c: In function ‘g_switchstack’:
    src/greenlet/greenlet.c:508:44: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘recursion_depth’; did you mean ‘recursion_limit’?
      508 |         current->recursion_depth = tstate->recursion_depth;
          |                                            ^~~~~~~~~~~~~~~
          |                                            recursion_limit
    src/greenlet/greenlet.c:509:38: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘frame’; did you mean ‘cframe’?
      509 |         current->top_frame = tstate->frame;
          |                                      ^~~~~
          |                                      cframe
    src/greenlet/greenlet.c:544:17: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘recursion_depth’; did you mean ‘recursion_limit’?
      544 |         tstate->recursion_depth = target->recursion_depth;
          |                 ^~~~~~~~~~~~~~~
          |                 recursion_limit
    src/greenlet/greenlet.c:545:17: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘frame’; did you mean ‘cframe’?
      545 |         tstate->frame = target->top_frame;
          |                 ^~~~~
          |                 cframe
    src/greenlet/greenlet.c: In function ‘g_initialstub’:
    src/greenlet/greenlet.c:821:50: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘recursion_depth’; did you mean ‘recursion_limit’?
      821 |     self->recursion_depth = PyThreadState_GET()->recursion_depth;
          |                                                  ^~~~~~~~~~~~~~~
          |                                                  recursion_limit
    error: command '/usr/bin/gcc' failed with exit code 1

Issue Analytics

  • State:closed
  • Created 2 years ago
  • Comments:12 (7 by maintainers)

github_iconTop GitHub Comments

2reactions
brandtbuchercommented, Dec 29, 2021

This should fixed once CPython 3.11.0a4 is released and https://github.com/python-greenlet/greenlet/pull/280 is merged.

0reactions
smontanarocommented, Dec 15, 2021

Nice. I can set it up to performance test two or three versions while I sleep. 😃

Read more comments on GitHub >

github_iconTop Results From Across the Web

build fails for cpython 3.11.0a2 · Issue #273 · python-greenlet ...
It seems something internal has changed between a1 and a2, building greenlet from sdist fails and there is no wheel available yet.
Read more >
1957784 – python-greenlet fails to build with Python 3.10
Bug 1957784 - python-greenlet fails to build with Python 3.10: greenlet does not compile on the current default branch of cpython due to...
Read more >
Python Performance Benchmark Suite Documentation
The command installs a new pyperformance program. If needed, pyperf and six dependencies are installed automatically.
Read more >
Legacy install failure - error while installing greenlet on python ...
The pip version is 22.0.4, if I try installing it on pip version 21.3.1, ... python setup.py bdist_wheel did not run successfully.
Read more >
Python 3.11 Performance Benchmarks Are Looking Fantastic
If the speedups get into 3.11 but no gil doesn't will they accept a ... with the communication problems, become a master of...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found