Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

support of python3.13 --disable-gil #345

Open
elrik75 opened this issue Jul 19, 2024 · 2 comments
Open

support of python3.13 --disable-gil #345

elrik75 opened this issue Jul 19, 2024 · 2 comments

Comments

@elrik75
Copy link

elrik75 commented Jul 19, 2024

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 meanvectorcallfunc’?
       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 ofPyTuple_GetSlicefrom 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_FASTCALL1790 | #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: expectedPyObject *’ {akastruct _object *’} but argument is of typePyObject * const*’ {akastruct _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 meanvectorcallfunc’?
      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 meanvectorcallfunc’?
      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 meanvectorcallfunc’?
      11475 |      __pyx_vectorcallfunc vc = __Pyx_CyFunction_func_vectorcall(cyfunc);
            |      ^~~~~~~~~~~~~~~~~~~~
            |      vectorcallfunc
      gssapi/raw/misc.c:2197:45: warning: initialization ofintfromvectorcallfunc’ {akastruct _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_vectorcall11475 |      __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: returningintfrom a function with return type ‘PyObject *’ {akastruct _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
@jborean93
Copy link
Contributor

I'm not sure if Cython can generate code compatible with PEP 703, we are dependent on that generating the correct C code needed here to compile in this mode. I think cython/cython#6162 might be the overarching issue covering that but I could be wrong.

@nitzmahone
Copy link

I had exactly the same errors about __pyx_vectorcallfunc building PyYAML's libyaml extension under 3.13t- defining CYTHON_VECTORCALL (which just aliases to the builtin vectorcallfunc) worked for me via CFLAGS='-DCYTHON_VECTORCALL' or extra_compile_args or whatever- dealer's choice.

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants