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:
- Created 2 years ago
- Comments:12 (7 by maintainers)
Top 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 >Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start FreeTop Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Top GitHub Comments
This should fixed once CPython 3.11.0a4 is released and https://github.com/python-greenlet/greenlet/pull/280 is merged.
Nice. I can set it up to performance test two or three versions while I sleep. 😃