Duplicate symbol _Py_jit_entry when built with --enable-exterimental-jit
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Python
- Sterne
- 77.2k
- Forks
- 35.9k
- PR-Merge-Kennzahlen
- PR-Kennzahlen ausstehend
Beschreibung
Bug report
Bug description:
When building with the --enable-experimental-jit option, the _Py_jit_entry symbol is duplicated in Python/ceval.o and Modules/_testinternalcapi/interpreter.o preventing them from being linked into the same DSO.
The later symbol was added in #143944. This symbol should likely be marked as extern.
I found this issue when building 3.15.0a6 for python-build-standalone, astral-sh/python-build-standalone#981. The build is configured so that the _testinternalcapi module is statically linked into the interpreter.
cpython-3.15> ld64.lld: error: duplicate symbol: _Py_jit_entry
cpython-3.15> >>> defined in Python/ceval.o
cpython-3.15> >>> defined in Modules/_testinternalcapi/interpreter.o
cpython-3.15> clang: error: linker command failed with exit code 1 (use -v to see invocation)
CPython versions tested on:
CPython main branch, 3.15
Operating systems tested on:
macOS
Linked PRs
- gh-144713
- gh-145840
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Untersuche die Definitionen, die unter --enable-experimental-jit Python/ceval.o und Modules/_testinternalcapi/interpreter.o erzeugen, und vergleiche anschließend die durch #143944 eingeführte Deklaration. Als erledigt gilt die Aufgabe, wenn die beiden Objekte in dieselbe DSO gelinkt werden können, ohne ein doppeltes _Py_jit_entry-Symbol zu erzeugen, einschließlich der macOS-Build-Konfiguration.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- c, python
- Bereich
- build-system
- Issue-Typ
- Bug
- Schwierigkeit
- 2/5
- Geschätzter Aufwand
- 1-3 Stunden
- Aktivitätsstatus
- Veraltet
- Klarheit
- Klar beschrieben
- Anfängerfreundlichkeit
- 25/100