pythongssapi / pythongssapi/python-gssapi

support of python3.13 --disable-gil

Offen
#345 2 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Vorherrschende Sprache
Python
Sterne
116
Forks
55
Ø Merge
1 T. 24 Min.
Gemergte PRs (30 T.)
2

Beschreibung

I can install gssapi in python 3.13b3 with success but not with python 3.13b3 --disable-gil

Env

CONFIGURE_OPTS=--disable-gil pyenv install 3.13.0b3
GCC 12.2.0
decorator 5.1.1

Error

Processing .../python-gssapi
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Collecting decorator (from gssapi==1.8.4)
  Using cached decorator-5.1.1-py3-none-any.whl.metadata (4.0 kB)
Using cached decorator-5.1.1-py3-none-any.whl (9.1 kB)
Building wheels for collected packages: gssapi
  Building wheel for gssapi (pyproject.toml) ... error
  error: subprocess-exited-with-error
  
  × Building wheel for gssapi (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [94 lines of output]
      running bdist_wheel
      running build
      running build_py
      copying gssapi/_win_config.py -> build/lib.linux-x86_64-cpython-313t/gssapi
      copying gssapi/creds.py -> build/lib.linux-x86_64-cpython-313t/gssapi
      copying gssapi/__init__.py -> build/lib.linux-x86_64-cpython-313t/gssapi
      copying gssapi/mechs.py -> build/lib.linux-x86_64-cpython-313t/gssapi
      copying gssapi/_utils.py -> build/lib.linux-x86_64-cpython-313t/gssapi
      copying gssapi/exceptions.py -> build/lib.linux-x86_64-cpython-313t/gssapi
      copying gssapi/sec_contexts.py -> build/lib.linux-x86_64-cpython-313t/gssapi
      copying gssapi/names.py -> build/lib.linux-x86_64-cpython-313t/gssapi
      copying gssapi/raw/__init__.py -> build/lib.linux-x86_64-cpython-313t/gssapi/raw
      copying gssapi/raw/named_tuples.py -> build/lib.linux-x86_64-cpython-313t/gssapi/raw
      copying gssapi/raw/_enum_extensions/__init__.py -> build/lib.linux-x86_64-cpython-313t/gssapi/raw/_enum_extensions
      copying gssapi/tests/test_raw.py -> build/lib.linux-x86_64-cpython-313t/gssapi/tests
      copying gssapi/tests/__init__.py -> build/lib.linux-x86_64-cpython-313t/gssapi/tests
      copying gssapi/tests/test_high_level.py -> build/lib.linux-x86_64-cpython-313t/gssapi/tests
      copying gssapi/py.typed -> build/lib.linux-x86_64-cpython-313t/gssapi
      copying gssapi/raw/ext_rfc5801.pyi -> build/lib.linux-x86_64-cpython-313t/gssapi/raw
      copying gssapi/raw/ext_krb5.pyi -> build/lib.linux-x86_64-cpython-313t/gssapi/raw
      copying gssapi/raw/creds.pyi -> build/lib.linux-x86_64-cpython-313t/gssapi/raw
      copying gssapi/raw/mech_krb5.pyi -> build/lib.linux-x86_64-cpython-313t/gssapi/raw
      copying gssapi/raw/ext_set_cred_opt.pyi -> build/lib.linux-x86_64-cpython-313t/gssapi/raw
      copying gssapi/raw/message.pyi -> build/lib.linux-x86_64-cpython-313t/gssapi/raw
      copying gssapi/raw/ext_rfc4178.pyi -> build/lib.linux-x86_64-cpython-313t/gssapi/raw
      copying gssapi/raw/chan_bindings.pyi -> build/lib.linux-x86_64-cpython-313t/gssapi/raw
      copying gssapi/raw/sec_contexts.pyi -> build/lib.linux-x86_64-cpython-313t/gssapi/raw
      copying gssapi/raw/exceptions.pyi -> build/lib.linux-x86_64-cpython-313t/gssapi/raw
      copying gssapi/raw/ext_iov_mic.pyi -> build/lib.linux-x86_64-cpython-313t/gssapi/raw
      copying gssapi/raw/ext_rfc5587.pyi -> build/lib.linux-x86_64-cpython-313t/gssapi/raw
      copying gssapi/raw/misc.pyi -> build/lib.linux-x86_64-cpython-313t/gssapi/raw
      copying gssapi/raw/ext_rfc5588.pyi -> build/lib.linux-x86_64-cpython-313t/gssapi/raw
      copying gssapi/raw/ext_rfc6680_comp_oid.pyi -> build/lib.linux-x86_64-cpython-313t/gssapi/raw
      copying gssapi/raw/ext_ggf.pyi -> build/lib.linux-x86_64-cpython-313t/gssapi/raw
      copying gssapi/raw/names.pyi -> build/lib.linux-x86_64-cpython-313t/gssapi/raw
      copying gssapi/raw/types.pyi -> build/lib.linux-x86_64-cpython-313t/gssapi/raw
      copying gssapi/raw/oids.pyi -> build/lib.linux-x86_64-cpython-313t/gssapi/raw
      copying gssapi/raw/ext_dce_aead.pyi -> build/lib.linux-x86_64-cpython-313t/gssapi/raw
      copying gssapi/raw/ext_cred_imp_exp.pyi -> build/lib.linux-x86_64-cpython-313t/gssapi/raw
      copying gssapi/raw/ext_dce.pyi -> build/lib.linux-x86_64-cpython-313t/gssapi/raw
      copying gssapi/raw/ext_rfc6680.pyi -> build/lib.linux-x86_64-cpython-313t/gssapi/raw
      copying gssapi/raw/ext_password_add.pyi -> build/lib.linux-x86_64-cpython-313t/gssapi/raw
      copying gssapi/raw/ext_password.pyi -> build/lib.linux-x86_64-cpython-313t/gssapi/raw
      copying gssapi/raw/ext_cred_store.pyi -> build/lib.linux-x86_64-cpython-313t/gssapi/raw
      copying gssapi/raw/ext_s4u.pyi -> build/lib.linux-x86_64-cpython-313t/gssapi/raw
      running build_ext
      building 'gssapi.raw.misc' extension
      gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -fPIC -Igssapi/raw -I/home/elrik/Info/python-gssapi/venv/include -I/home/elrik/.pyenv/versions/3.13.0b3/include/python3.13t -c gssapi/raw/misc.c -o build/temp.linux-x86_64-cpython-313t/gssapi/raw/misc.o -isystem /usr/include/mit-krb5 -DHAS_GSSAPI_EXT_H
      gssapi/raw/misc.c:2107:80: error: unknown type name ‘__pyx_vectorcallfunc’; did you mean ‘vectorcallfunc’?
       2107 | static CYTHON_INLINE PyObject *__Pyx_PyVectorcall_FastCallDict(PyObject *func, __pyx_vectorcallfunc vc, PyObject *const *args, size_t nargs, PyObject *kw);
            |                                                                                ^~~~~~~~~~~~~~~~~~~~
            |                                                                                vectorcallfunc
      gssapi/raw/misc.c: In function ‘__pyx_pw_6gssapi_3raw_4misc_16GSSErrorRegistry_7__call__’:
      gssapi/raw/misc.c:5551:43: warning: passing argument 1 of ‘PyTuple_GetSlice’ from incompatible pointer type [-Wincompatible-pointer-types]
       5551 |   __pyx_v_args = __Pyx_ArgsSlice_FASTCALL(__pyx_args, 3, __pyx_nargs);
            |                                           ^~~~~~~~~~
            |                                           |
            |                                           PyObject * const* {aka struct _object * const*}
      gssapi/raw/misc.c:1790:70: note: in definition of macro ‘__Pyx_ArgsSlice_FASTCALL’
       1790 | #define __Pyx_ArgsSlice_FASTCALL(args, start, stop) PyTuple_GetSlice(args, start, stop)
            |                                                                      ^~~~
      In file included from /home/elrik/.pyenv/versions/3.13.0b3/include/python3.13t/Python.h:84,
                       from gssapi/raw/misc.c:51:
      /home/elrik/.pyenv/versions/3.13.0b3/include/python3.13t/tupleobject.h:34:41: note: expected ‘PyObject *’ {aka ‘struct _object *’} but argument is of type ‘PyObject * const*’ {aka ‘struct _object * const*’}
         34 | PyAPI_FUNC(PyObject *) PyTuple_GetSlice(PyObject *, Py_ssize_t, Py_ssize_t);
            |                                         ^~~~~~~~~~
      gssapi/raw/misc.c: At top level:
      gssapi/raw/misc.c:10741:69: error: unknown type name ‘__pyx_vectorcallfunc’; did you mean ‘vectorcallfunc’?
      10741 | static PyObject *__Pyx_PyVectorcall_FastCallDict_kw(PyObject *func, __pyx_vectorcallfunc vc, PyObject *const *args, size_t nargs, PyObject *kw)
            |                                                                     ^~~~~~~~~~~~~~~~~~~~
            |                                                                     vectorcallfunc
      gssapi/raw/misc.c:10786:80: error: unknown type name ‘__pyx_vectorcallfunc’; did you mean ‘vectorcallfunc’?
      10786 | static CYTHON_INLINE PyObject *__Pyx_PyVectorcall_FastCallDict(PyObject *func, __pyx_vectorcallfunc vc, PyObject *const *args, size_t nargs, PyObject *kw)
            |                                                                                ^~~~~~~~~~~~~~~~~~~~
            |                                                                                vectorcallfunc
      gssapi/raw/misc.c: In function ‘__Pyx_CyFunction_CallAsMethod’:
      gssapi/raw/misc.c:11475:6: error: unknown type name ‘__pyx_vectorcallfunc’; did you mean ‘vectorcallfunc’?
      11475 |      __pyx_vectorcallfunc vc = __Pyx_CyFunction_func_vectorcall(cyfunc);
            |      ^~~~~~~~~~~~~~~~~~~~
            |      vectorcallfunc
      gssapi/raw/misc.c:2197:45: warning: initialization of ‘int’ from ‘vectorcallfunc’ {aka ‘struct _object * (*)(struct _object *, struct _object * const*, long unsigned int,  struct _object *)’} makes integer from pointer without a cast [-Wint-conversion]
       2197 | #define __Pyx_CyFunction_func_vectorcall(f) (((PyCFunctionObject*)f)->vectorcall)
            |                                             ^
      gssapi/raw/misc.c:11475:32: note: in expansion of macro ‘__Pyx_CyFunction_func_vectorcall’
      11475 |      __pyx_vectorcallfunc vc = __Pyx_CyFunction_func_vectorcall(cyfunc);
            |                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      gssapi/raw/misc.c:11478:16: warning: implicit declaration of function ‘__Pyx_PyVectorcall_FastCallDict’; did you mean ‘__Pyx_PyObject_FastCallDict’? [-Wimplicit-function-declaration]
      11478 |         return __Pyx_PyVectorcall_FastCallDict(func, vc, &PyTuple_GET_ITEM(args, 0), (size_t)PyTuple_GET_SIZE(args), kw);
            |                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
            |                __Pyx_PyObject_FastCallDict
      gssapi/raw/misc.c:11478:16: warning: returning ‘int’ from a function with return type ‘PyObject *’ {aka ‘struct _object *’} makes pointer from integer without a cast [-Wint-conversion]
      11478 |         return __Pyx_PyVectorcall_FastCallDict(func, vc, &PyTuple_GET_ITEM(args, 0), (size_t)PyTuple_GET_SIZE(args), kw);
            |                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      error: command '/usr/bin/gcc' failed with exit code 1
      [end of output]
  
  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for gssapi

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne damit, den Wheel-Build für gssapi/raw/misc.c mit Python 3.13 nachzustellen, das mit --disable-gil und GCC 12.2 erstellt wurde. Der gemeldete Fehler ist der unbekannte Typ __pyx_vectorcallfunc der generierten C-Erweiterung; als erledigt gilt die Aufgabe, wenn das Paket in dieser Umgebung erfolgreich erstellt und installiert wird und weiterhin mit regulärem Python 3.13 funktioniert.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
python
Bereich
build-system
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.