pythongssapi / pythongssapi/python-gssapi

support of python3.13 --disable-gil

Đang mở
#345 2 bình luận 0 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

Ngôn ngữ chính
Python
Star
116
Fork
55
Merge trung bình
1 ngày 24 phút
Pull request đã merge (30 ngày)
2

Mô tả

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

Hướng dẫn đóng góp

Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Hướng nghiên cứu

Bắt đầu bằng cách tái hiện quá trình build wheel cho gssapi/raw/misc.c bằng Python 3.13 được build với --disable-gil và GCC 12.2. Lỗi được báo cáo là kiểu __pyx_vectorcallfunc không xác định của phần mở rộng C được tạo ra; được xem là hoàn tất khi package build và cài đặt thành công trong môi trường đó, đồng thời vẫn tiếp tục hoạt động với Python 3.13 thông thường.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
python
Lĩnh vực
build-system
Loại issue
Lỗi
Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức độ hoạt động
Đình trệ
Độ rõ ràng
Khá rõ ràng
Mức phù hợp với người mới
35/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.