pythongssapi / pythongssapi/python-gssapi

support of python3.13 --disable-gil

Open
#345 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
116
Forks
55
Avg merge
1d 24m
Merged PRs (30d)
2

Description

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

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the wheel build for gssapi/raw/misc.c with Python 3.13 built using --disable-gil, GCC 12.2. The reported failure is the generated C extension's unknown __pyx_vectorcallfunc type; done means the package builds and installs successfully in that environment, while continuing to work with regular Python 3.13.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
build-system
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.