pythongssapi / pythongssapi/python-gssapi

support of python3.13 --disable-gil

オープン
#345 コメント 2 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

主要言語
Python
スター
116
フォーク
55
平均マージ
1日 24分
マージ済み PR(30日)
2

説明

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

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

調査の方向性

まず、--disable-gil と GCC 12.2 を使用してビルドした Python 3.13 で、gssapi/raw/misc.c の wheel ビルドを再現します。報告されている失敗は、生成された C 拡張における __pyx_vectorcallfunc 型が不明であることです。その環境でパッケージのビルドとインストールが正常に完了し、通常の Python 3.13 でも引き続き動作すれば完了です。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
python
領域
build-system
issue の種類
バグ
難易度
4/5
見積もり時間
3〜5日
活発さ
停滞
明瞭さ
おおむね明確
初心者へのやさしさ
35/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。