MagicStack / MagicStack/py-pgproto

Unable to build on Python 3.12

Abierto
#24 1 comentario 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Lenguaje dominante
Cython
Estrellas
38
Forks
21
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

Getting a lot of these errors when trying to build https://github.com/MagicStack/asyncpg on Python 3.12:
```
asyncpg/pgproto/pgproto.c:40800:55: error: no member named 'ob_digit' in 'struct _longobject'
const digit* digits = ((PyLongObject*)x)->ob_digit;
~~~~~~~~~~~~~~~~~~ ^
asyncpg/pgproto/pgproto.c:40855:55: error: no member named 'ob_digit' in 'struct _longobject'
const digit* digits = ((PyLongObject*)x)->ob_digit;
~~~~~~~~~~~~~~~~~~ ^
asyncpg/pgproto/pgproto.c:41034:55: error: no member named 'ob_digit' in 'struct _longobject'
const digit* digits = ((PyLongObject*)x)->ob_digit;
~~~~~~~~~~~~~~~~~~ ^
```

I believe this can be solved by converting `((PyLongObject*)x)->ob_digit` to `((PyLongObject*)x)->long_value->ob_digit`

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Línea de trabajo

Comienza con los errores de compilación de Python 3.12 en asyncpg/pgproto/pgproto.c, especialmente con las líneas que acceden a PyLongObject.ob_digit. Compara el acceso indicado con el cambio propuesto long_value->ob_digit, luego vuelve a compilar py-pgproto en Python 3.12 y confirma que esos errores se han resuelto.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
c, python
Área
databases
Tipo de issue
Error
Dificultad
3/5
Tiempo estimado
1-2 días
Estado de actividad
Estancado
Claridad
Bastante claro
Aptitud para principiantes
38/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.