Duplicate symbol _Py_jit_entry when built with --enable-exterimental-jit
Nadie ha tomado este issue todavía.
- Lenguaje dominante
- Python
- Estrellas
- 77.2k
- Forks
- 35.9k
- Métricas de merge de PR
- Métricas de PR pendientes
Descripción
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
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Línea de trabajo
Inspecciona las definiciones que producen Python/ceval.o y Modules/_testinternalcapi/interpreter.o bajo --enable-experimental-jit y, después, compara la declaración introducida por #143944. Se considera completado cuando los dos objetos puedan enlazarse en el mismo DSO sin un símbolo _Py_jit_entry duplicado, incluida la configuración de compilación de macOS.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- c, python
- Área
- build-system
- Tipo de issue
- Error
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Estado de actividad
- Estancado
- Claridad
- Bien especificado
- Aptitud para principiantes
- 25/100