Build fails on python3.11
- Vorherrschende Sprache
- C
- Sterne
- 345
- Forks
- 94
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beschreibung
The build of http-parser fails on python 3.11.0rc1 with
```
Building wheel for http-parser (setup.py): started
Building wheel for http-parser (setup.py): finished with status 'error'
error: subprocess-exited-with-error
× python setup.py bdist_wheel did not run successfully.
│ exit code: 1
╰─> [25 lines of output]
/tmp/pip-install-raazgjz0/http-parser_212840a36e3a4d6cbbe9aee814b6db82/setup.py:12: DeprecationWarning: the imp module is deprecated in favour of importlib and slated for removal in Python 3.12; see the module's documentation for alternative uses
from imp import load_source
running bdist_wheel
running build
running build_py
creating build
creating build/lib.linux-x86_64-3.11
creating build/lib.linux-x86_64-3.11/http_parser
copying http_parser/util.py -> build/lib.linux-x86_64-3.11/http_parser
copying http_parser/_socketio.py -> build/lib.linux-x86_64-3.11/http_parser
copying http_parser/reader.py -> build/lib.linux-x86_64-3.11/http_parser
copying http_parser/__init__.py -> build/lib.linux-x86_64-3.11/http_parser
copying http_parser/pyparser.py -> build/lib.linux-x86_64-3.11/http_parser
copying http_parser/http.py -> build/lib.linux-x86_64-3.11/http_parser
running build_ext
building 'http_parser.parser' extension
creating build/temp.linux-x86_64-3.11
creating build/temp.linux-x86_64-3.11/http_parser
gcc -pthread -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -Iparser -I/root/git/daas/venv311/include -I/root/.pyenv/versions/3.11.0rc1/include/python3.11 -c http_parser/http_parser.c -o build/temp.linux-x86_64-3.11/http_parser/http_parser.o
gcc -pthread -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -Iparser -I/root/git/daas/venv311/include -I/root/.pyenv/versions/3.11.0rc1/include/python3.11 -c http_parser/parser.c -o build/temp.linux-x86_64-3.11/http_parser/parser.o
http_parser/parser.c:196:12: fatal error: longintrepr.h: No such file or directory
#include "longintrepr.h"
^~~~~~~~~~~~~~~
compilation terminated.
error: command '/usr/bin/gcc' failed with exit code 1
[end of output]
```
This is caused by the changed location of longintrepr. See https://docs.python.org/3.11/whatsnew/3.11.html and https://github.com/python/cpython/issues/79315
Beitragsleitfaden
Für dieses Repository ist kein Beitragsleitfaden indexiert
Rechercherichtung
Beginne damit, den Build mit Python 3.11 zu reproduzieren, und untersuche http_parser/parser.c, bei dessen Kompilierung der Build der Erweiterung aus setup.py fehlschlägt. Prüfe die in der verlinkten Dokumentation beschriebene Änderung am Speicherort der Python-3.11-Header und verifiziere anschließend, dass das http-parser wheel unter Python 3.11 erfolgreich gebaut wird, ohne ältere unterstützte Versionen zu beeinträchtigen.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- c, python
- Bereich
- backend
- Issue-Typ
- Bug
- Schwierigkeit
- 2/5
- Geschätzter Aufwand
- 1-3 Stunden
- Aktivitätsstatus
- Veraltet
- Klarheit
- Klar beschrieben
- Anfängerfreundlichkeit
- 45/100