Open ghisvail opened 3 months ago
I tried installing a project (medkit-lib) which depends on pyrush in a Python 3.12 environment.
Installation fails with the following output:
Building wheel for pyrush (pyproject.toml) ... error error: subprocess-exited-with-error × Building wheel for pyrush (pyproject.toml) did not run successfully. │ exit code: 1 ╰─> [247 lines of output] ['Cython>=0.25,<3.0', 'setuptools', 'numpy', 'spacy>=3.0.0', 'PyFastNER>=1.0.8', 'quicksectx>=0.3.5'] /tmp/pip-build-env-7zr5a7rl/overlay/lib/python3.12/site-packages/setuptools/_distutils/dist.py:268: UserWarning: Unknown distribution option: 'tests_require' warnings.warn(msg) /tmp/pip-build-env-7zr5a7rl/overlay/lib/python3.12/site-packages/setuptools/dist.py:447: SetuptoolsDeprecationWarning: Invalid dash-separated options !! ******************************************************************************** Usage of dash-separated 'python-tag' will not be supported in future versions. Please use the underscore name 'python_tag' instead. By 2024-Sep-26, you need to update your project and remove deprecated calls or your builds will no longer be supported. See https://setuptools.pypa.io/en/latest/userguide/declarative_config.html for details. ******************************************************************************** !! opt = self.warn_dash_deprecation(opt, section) running bdist_wheel running build running build_py creating build creating build/lib.linux-x86_64-cpython-312 creating build/lib.linux-x86_64-cpython-312/PyRuSH copying PyRuSH/__init__.py -> build/lib.linux-x86_64-cpython-312/PyRuSH copying PyRuSH/version.py -> build/lib.linux-x86_64-cpython-312/PyRuSH copying PyRuSH/PyRuSHSentencizer.py -> build/lib.linux-x86_64-cpython-312/PyRuSH copying PyRuSH/RuSH.py -> build/lib.linux-x86_64-cpython-312/PyRuSH running egg_info writing PyRuSH.egg-info/PKG-INFO writing dependency_links to PyRuSH.egg-info/dependency_links.txt writing requirements to PyRuSH.egg-info/requires.txt writing top-level names to PyRuSH.egg-info/top_level.txt reading manifest file 'PyRuSH.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' writing manifest file 'PyRuSH.egg-info/SOURCES.txt' copying PyRuSH/StaticSentencizerFun.cpp -> build/lib.linux-x86_64-cpython-312/PyRuSH copying PyRuSH/StaticSentencizerFun.pyx -> build/lib.linux-x86_64-cpython-312/PyRuSH copying PyRuSH/../requirements.txt -> build/lib.linux-x86_64-cpython-312/PyRuSH/.. creating build/lib.linux-x86_64-cpython-312/conf copying PyRuSH/../conf/rush_rules.tsv -> build/lib.linux-x86_64-cpython-312/PyRuSH/../conf running build_ext building 'PyRuSH.StaticSentencizerFun' extension creating build/temp.linux-x86_64-cpython-312 creating build/temp.linux-x86_64-cpython-312/PyRuSH gcc -pthread -B /home/ghvailla/.local/micromamba/envs/medkit-py312/compiler_compat -fno-strict-overflow -DNDEBUG -O2 -Wall -fPIC -O2 -isystem /home/ghvailla/.local/micromamba/envs/medkit-py312/include -fPIC -O2 -isystem /home/ghvailla/.local/micromamba/envs/medkit-py312/include -fPIC -I/tmp/pip-install-sea7kpte/pyrush_0638fc6ad3fc4dfb993fb30b3348bcd0/PyRuSH -I/tmp/pip-install-sea7kpte/pyrush_0638fc6ad3fc4dfb993fb30b3348bcd0 -I/tmp/pip-build-env-7zr5a7rl/overlay/lib/python3.12/site-packages/numpy/core/include -I/tmp/pip-build-env-7zr5a7rl/overlay/lib/python3.12/site-packages/spacy -I/tmp/pip-build-env-7zr5a7rl/overlay/lib/python3.12/site-packages/cymem -I/tmp/pip-build-env-7zr5a7rl/overlay/lib/python3.12/site-packages/preshed -I/home/ghvailla/.local/micromamba/envs/medkit-py312/include/python3.12 -c PyRuSH/StaticSentencizerFun.cpp -o build/temp.linux-x86_64-cpython-312/PyRuSH/StaticSentencizerFun.o -std=c++11 PyRuSH/StaticSentencizerFun.cpp: In function ‘PyObject* __Pyx_PyInt_AddObjC(PyObject*, PyObject*, long int, int, int)’: PyRuSH/StaticSentencizerFun.cpp:3405:53: error: ‘PyLongObject’ {aka ‘struct _longobject’} has no member named ‘ob_digit’ 3405 | const digit* digits = ((PyLongObject*)op1)->ob_digit; | ^~~~~~~~ PyRuSH/StaticSentencizerFun.cpp: In function ‘uint64_t __Pyx_get_tp_dict_version(PyObject*)’: PyRuSH/StaticSentencizerFun.cpp:1234:65: warning: ‘PyDictObject::ma_version_tag’ is deprecated [-Wdeprecated-declarations] 1234 | #define __PYX_GET_DICT_VERSION(dict) (((PyDictObject*)(dict))->ma_version_tag) | ^~~~~~~~~~~~~~ PyRuSH/StaticSentencizerFun.cpp:3552:27: note: in expansion of macro ‘__PYX_GET_DICT_VERSION’ 3552 | return likely(dict) ? __PYX_GET_DICT_VERSION(dict) : 0; | ^~~~~~~~~~~~~~~~~~~~~~ In file included from /home/ghvailla/.local/micromamba/envs/medkit-py312/include/python3.12/dictobject.h:90, from /home/ghvailla/.local/micromamba/envs/medkit-py312/include/python3.12/Python.h:64, from PyRuSH/StaticSentencizerFun.cpp:30: /home/ghvailla/.local/micromamba/envs/medkit-py312/include/python3.12/cpython/dictobject.h:22:34: note: declared here 22 | Py_DEPRECATED(3.12) uint64_t ma_version_tag; | ^~~~~~~~~~~~~~ PyRuSH/StaticSentencizerFun.cpp:1234:65: warning: ‘PyDictObject::ma_version_tag’ is deprecated [-Wdeprecated-declarations] 1234 | #define __PYX_GET_DICT_VERSION(dict) (((PyDictObject*)(dict))->ma_version_tag) | ^~~~~~~~~~~~~~ PyRuSH/StaticSentencizerFun.cpp:3552:27: note: in expansion of macro ‘__PYX_GET_DICT_VERSION’ 3552 | return likely(dict) ? __PYX_GET_DICT_VERSION(dict) : 0; | ^~~~~~~~~~~~~~~~~~~~~~ /home/ghvailla/.local/micromamba/envs/medkit-py312/include/python3.12/cpython/dictobject.h:22:34: note: declared here 22 | Py_DEPRECATED(3.12) uint64_t ma_version_tag; | ^~~~~~~~~~~~~~ PyRuSH/StaticSentencizerFun.cpp:1234:65: warning: ‘PyDictObject::ma_version_tag’ is deprecated [-Wdeprecated-declarations] 1234 | #define __PYX_GET_DICT_VERSION(dict) (((PyDictObject*)(dict))->ma_version_tag) | ^~~~~~~~~~~~~~ PyRuSH/StaticSentencizerFun.cpp:3552:27: note: in expansion of macro ‘__PYX_GET_DICT_VERSION’ 3552 | return likely(dict) ? __PYX_GET_DICT_VERSION(dict) : 0; | ^~~~~~~~~~~~~~~~~~~~~~ /home/ghvailla/.local/micromamba/envs/medkit-py312/include/python3.12/cpython/dictobject.h:22:34: note: declared here 22 | Py_DEPRECATED(3.12) uint64_t ma_version_tag; | ^~~~~~~~~~~~~~ PyRuSH/StaticSentencizerFun.cpp: In function ‘uint64_t __Pyx_get_object_dict_version(PyObject*)’: PyRuSH/StaticSentencizerFun.cpp:1234:65: warning: ‘PyDictObject::ma_version_tag’ is deprecated [-Wdeprecated-declarations] 1234 | #define __PYX_GET_DICT_VERSION(dict) (((PyDictObject*)(dict))->ma_version_tag) | ^~~~~~~~~~~~~~ PyRuSH/StaticSentencizerFun.cpp:3564:36: note: in expansion of macro ‘__PYX_GET_DICT_VERSION’ 3564 | return (dictptr && *dictptr) ? __PYX_GET_DICT_VERSION(*dictptr) : 0; | ^~~~~~~~~~~~~~~~~~~~~~ /home/ghvailla/.local/micromamba/envs/medkit-py312/include/python3.12/cpython/dictobject.h:22:34: note: declared here 22 | Py_DEPRECATED(3.12) uint64_t ma_version_tag; | ^~~~~~~~~~~~~~ PyRuSH/StaticSentencizerFun.cpp:1234:65: warning: ‘PyDictObject::ma_version_tag’ is deprecated [-Wdeprecated-declarations] 1234 | #define __PYX_GET_DICT_VERSION(dict) (((PyDictObject*)(dict))->ma_version_tag) | ^~~~~~~~~~~~~~ PyRuSH/StaticSentencizerFun.cpp:3564:36: note: in expansion of macro ‘__PYX_GET_DICT_VERSION’ 3564 | return (dictptr && *dictptr) ? __PYX_GET_DICT_VERSION(*dictptr) : 0; | ^~~~~~~~~~~~~~~~~~~~~~ /home/ghvailla/.local/micromamba/envs/medkit-py312/include/python3.12/cpython/dictobject.h:22:34: note: declared here 22 | Py_DEPRECATED(3.12) uint64_t ma_version_tag; | ^~~~~~~~~~~~~~ PyRuSH/StaticSentencizerFun.cpp:1234:65: warning: ‘PyDictObject::ma_version_tag’ is deprecated [-Wdeprecated-declarations] 1234 | #define __PYX_GET_DICT_VERSION(dict) (((PyDictObject*)(dict))->ma_version_tag) | ^~~~~~~~~~~~~~ PyRuSH/StaticSentencizerFun.cpp:3564:36: note: in expansion of macro ‘__PYX_GET_DICT_VERSION’ 3564 | return (dictptr && *dictptr) ? __PYX_GET_DICT_VERSION(*dictptr) : 0; | ^~~~~~~~~~~~~~~~~~~~~~ /home/ghvailla/.local/micromamba/envs/medkit-py312/include/python3.12/cpython/dictobject.h:22:34: note: declared here 22 | Py_DEPRECATED(3.12) uint64_t ma_version_tag; | ^~~~~~~~~~~~~~ PyRuSH/StaticSentencizerFun.cpp: In function ‘int __Pyx_object_dict_version_matches(PyObject*, uint64_t, uint64_t)’: PyRuSH/StaticSentencizerFun.cpp:1234:65: warning: ‘PyDictObject::ma_version_tag’ is deprecated [-Wdeprecated-declarations] 1234 | #define __PYX_GET_DICT_VERSION(dict) (((PyDictObject*)(dict))->ma_version_tag) | ^~~~~~~~~~~~~~ PyRuSH/StaticSentencizerFun.cpp:970:43: note: in definition of macro ‘unlikely’ 970 | #define unlikely(x) __builtin_expect(!!(x), 0) | ^ PyRuSH/StaticSentencizerFun.cpp:3568:56: note: in expansion of macro ‘__PYX_GET_DICT_VERSION’ 3568 | if (unlikely(!dict) || unlikely(tp_dict_version != __PYX_GET_DICT_VERSION(dict))) | ^~~~~~~~~~~~~~~~~~~~~~ /home/ghvailla/.local/micromamba/envs/medkit-py312/include/python3.12/cpython/dictobject.h:22:34: note: declared here 22 | Py_DEPRECATED(3.12) uint64_t ma_version_tag; | ^~~~~~~~~~~~~~ PyRuSH/StaticSentencizerFun.cpp:1234:65: warning: ‘PyDictObject::ma_version_tag’ is deprecated [-Wdeprecated-declarations] 1234 | #define __PYX_GET_DICT_VERSION(dict) (((PyDictObject*)(dict))->ma_version_tag) | ^~~~~~~~~~~~~~ PyRuSH/StaticSentencizerFun.cpp:970:43: note: in definition of macro ‘unlikely’ 970 | #define unlikely(x) __builtin_expect(!!(x), 0) | ^ PyRuSH/StaticSentencizerFun.cpp:3568:56: note: in expansion of macro ‘__PYX_GET_DICT_VERSION’ 3568 | if (unlikely(!dict) || unlikely(tp_dict_version != __PYX_GET_DICT_VERSION(dict))) | ^~~~~~~~~~~~~~~~~~~~~~ /home/ghvailla/.local/micromamba/envs/medkit-py312/include/python3.12/cpython/dictobject.h:22:34: note: declared here 22 | Py_DEPRECATED(3.12) uint64_t ma_version_tag; | ^~~~~~~~~~~~~~ PyRuSH/StaticSentencizerFun.cpp:1234:65: warning: ‘PyDictObject::ma_version_tag’ is deprecated [-Wdeprecated-declarations] 1234 | #define __PYX_GET_DICT_VERSION(dict) (((PyDictObject*)(dict))->ma_version_tag) | ^~~~~~~~~~~~~~ PyRuSH/StaticSentencizerFun.cpp:970:43: note: in definition of macro ‘unlikely’ 970 | #define unlikely(x) __builtin_expect(!!(x), 0) | ^ PyRuSH/StaticSentencizerFun.cpp:3568:56: note: in expansion of macro ‘__PYX_GET_DICT_VERSION’ 3568 | if (unlikely(!dict) || unlikely(tp_dict_version != __PYX_GET_DICT_VERSION(dict))) | ^~~~~~~~~~~~~~~~~~~~~~ /home/ghvailla/.local/micromamba/envs/medkit-py312/include/python3.12/cpython/dictobject.h:22:34: note: declared here 22 | Py_DEPRECATED(3.12) uint64_t ma_version_tag; | ^~~~~~~~~~~~~~ PyRuSH/StaticSentencizerFun.cpp: In function ‘int __Pyx_CLineForTraceback(PyThreadState*, int)’: PyRuSH/StaticSentencizerFun.cpp:1234:65: warning: ‘PyDictObject::ma_version_tag’ is deprecated [-Wdeprecated-declarations] 1234 | #define __PYX_GET_DICT_VERSION(dict) (((PyDictObject*)(dict))->ma_version_tag) | ^~~~~~~~~~~~~~ PyRuSH/StaticSentencizerFun.cpp:969:43: note: in definition of macro ‘likely’ 969 | #define likely(x) __builtin_expect(!!(x), 1) | ^ PyRuSH/StaticSentencizerFun.cpp:1241:16: note: in expansion of macro ‘__PYX_GET_DICT_VERSION’ 1241 | if (likely(__PYX_GET_DICT_VERSION(DICT) == __pyx_dict_version)) {\ | ^~~~~~~~~~~~~~~~~~~~~~ PyRuSH/StaticSentencizerFun.cpp:3613:9: note: in expansion of macro ‘__PYX_PY_DICT_LOOKUP_IF_MODIFIED’ 3613 | __PYX_PY_DICT_LOOKUP_IF_MODIFIED( | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/ghvailla/.local/micromamba/envs/medkit-py312/include/python3.12/cpython/dictobject.h:22:34: note: declared here 22 | Py_DEPRECATED(3.12) uint64_t ma_version_tag; | ^~~~~~~~~~~~~~ PyRuSH/StaticSentencizerFun.cpp:1234:65: warning: ‘PyDictObject::ma_version_tag’ is deprecated [-Wdeprecated-declarations] 1234 | #define __PYX_GET_DICT_VERSION(dict) (((PyDictObject*)(dict))->ma_version_tag) | ^~~~~~~~~~~~~~ PyRuSH/StaticSentencizerFun.cpp:969:43: note: in definition of macro ‘likely’ 969 | #define likely(x) __builtin_expect(!!(x), 1) | ^ PyRuSH/StaticSentencizerFun.cpp:1241:16: note: in expansion of macro ‘__PYX_GET_DICT_VERSION’ 1241 | if (likely(__PYX_GET_DICT_VERSION(DICT) == __pyx_dict_version)) {\ | ^~~~~~~~~~~~~~~~~~~~~~ PyRuSH/StaticSentencizerFun.cpp:3613:9: note: in expansion of macro ‘__PYX_PY_DICT_LOOKUP_IF_MODIFIED’ 3613 | __PYX_PY_DICT_LOOKUP_IF_MODIFIED( | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/ghvailla/.local/micromamba/envs/medkit-py312/include/python3.12/cpython/dictobject.h:22:34: note: declared here 22 | Py_DEPRECATED(3.12) uint64_t ma_version_tag; | ^~~~~~~~~~~~~~ PyRuSH/StaticSentencizerFun.cpp:1234:65: warning: ‘PyDictObject::ma_version_tag’ is deprecated [-Wdeprecated-declarations] 1234 | #define __PYX_GET_DICT_VERSION(dict) (((PyDictObject*)(dict))->ma_version_tag) | ^~~~~~~~~~~~~~ PyRuSH/StaticSentencizerFun.cpp:969:43: note: in definition of macro ‘likely’ 969 | #define likely(x) __builtin_expect(!!(x), 1) | ^ PyRuSH/StaticSentencizerFun.cpp:1241:16: note: in expansion of macro ‘__PYX_GET_DICT_VERSION’ 1241 | if (likely(__PYX_GET_DICT_VERSION(DICT) == __pyx_dict_version)) {\ | ^~~~~~~~~~~~~~~~~~~~~~ PyRuSH/StaticSentencizerFun.cpp:3613:9: note: in expansion of macro ‘__PYX_PY_DICT_LOOKUP_IF_MODIFIED’ 3613 | __PYX_PY_DICT_LOOKUP_IF_MODIFIED( | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/ghvailla/.local/micromamba/envs/medkit-py312/include/python3.12/cpython/dictobject.h:22:34: note: declared here 22 | Py_DEPRECATED(3.12) uint64_t ma_version_tag; | ^~~~~~~~~~~~~~ PyRuSH/StaticSentencizerFun.cpp:1234:65: warning: ‘PyDictObject::ma_version_tag’ is deprecated [-Wdeprecated-declarations] 1234 | #define __PYX_GET_DICT_VERSION(dict) (((PyDictObject*)(dict))->ma_version_tag) | ^~~~~~~~~~~~~~ PyRuSH/StaticSentencizerFun.cpp:1245:30: note: in expansion of macro ‘__PYX_GET_DICT_VERSION’ 1245 | __pyx_dict_version = __PYX_GET_DICT_VERSION(DICT);\ | ^~~~~~~~~~~~~~~~~~~~~~ PyRuSH/StaticSentencizerFun.cpp:3613:9: note: in expansion of macro ‘__PYX_PY_DICT_LOOKUP_IF_MODIFIED’ 3613 | __PYX_PY_DICT_LOOKUP_IF_MODIFIED( | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/ghvailla/.local/micromamba/envs/medkit-py312/include/python3.12/cpython/dictobject.h:22:34: note: declared here 22 | Py_DEPRECATED(3.12) uint64_t ma_version_tag; | ^~~~~~~~~~~~~~ PyRuSH/StaticSentencizerFun.cpp:1234:65: warning: ‘PyDictObject::ma_version_tag’ is deprecated [-Wdeprecated-declarations] 1234 | #define __PYX_GET_DICT_VERSION(dict) (((PyDictObject*)(dict))->ma_version_tag) | ^~~~~~~~~~~~~~ PyRuSH/StaticSentencizerFun.cpp:1245:30: note: in expansion of macro ‘__PYX_GET_DICT_VERSION’ 1245 | __pyx_dict_version = __PYX_GET_DICT_VERSION(DICT);\ | ^~~~~~~~~~~~~~~~~~~~~~ PyRuSH/StaticSentencizerFun.cpp:3613:9: note: in expansion of macro ‘__PYX_PY_DICT_LOOKUP_IF_MODIFIED’ 3613 | __PYX_PY_DICT_LOOKUP_IF_MODIFIED( | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/ghvailla/.local/micromamba/envs/medkit-py312/include/python3.12/cpython/dictobject.h:22:34: note: declared here 22 | Py_DEPRECATED(3.12) uint64_t ma_version_tag; | ^~~~~~~~~~~~~~ PyRuSH/StaticSentencizerFun.cpp:1234:65: warning: ‘PyDictObject::ma_version_tag’ is deprecated [-Wdeprecated-declarations] 1234 | #define __PYX_GET_DICT_VERSION(dict) (((PyDictObject*)(dict))->ma_version_tag) | ^~~~~~~~~~~~~~ PyRuSH/StaticSentencizerFun.cpp:1245:30: note: in expansion of macro ‘__PYX_GET_DICT_VERSION’ 1245 | __pyx_dict_version = __PYX_GET_DICT_VERSION(DICT);\ | ^~~~~~~~~~~~~~~~~~~~~~ PyRuSH/StaticSentencizerFun.cpp:3613:9: note: in expansion of macro ‘__PYX_PY_DICT_LOOKUP_IF_MODIFIED’ 3613 | __PYX_PY_DICT_LOOKUP_IF_MODIFIED( | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/ghvailla/.local/micromamba/envs/medkit-py312/include/python3.12/cpython/dictobject.h:22:34: note: declared here 22 | Py_DEPRECATED(3.12) uint64_t ma_version_tag; | ^~~~~~~~~~~~~~ PyRuSH/StaticSentencizerFun.cpp: In function ‘long int __Pyx_PyInt_As_long(PyObject*)’: PyRuSH/StaticSentencizerFun.cpp:3952:55: error: ‘PyLongObject’ {aka ‘struct _longobject’} has no member named ‘ob_digit’ 3952 | const digit* digits = ((PyLongObject*)x)->ob_digit; | ^~~~~~~~ PyRuSH/StaticSentencizerFun.cpp:4007:55: error: ‘PyLongObject’ {aka ‘struct _longobject’} has no member named ‘ob_digit’ 4007 | const digit* digits = ((PyLongObject*)x)->ob_digit; | ^~~~~~~~ PyRuSH/StaticSentencizerFun.cpp: In function ‘int __Pyx_PyInt_As_int(PyObject*)’: PyRuSH/StaticSentencizerFun.cpp:4148:55: error: ‘PyLongObject’ {aka ‘struct _longobject’} has no member named ‘ob_digit’ 4148 | const digit* digits = ((PyLongObject*)x)->ob_digit; | ^~~~~~~~ PyRuSH/StaticSentencizerFun.cpp:4203:55: error: ‘PyLongObject’ {aka ‘struct _longobject’} has no member named ‘ob_digit’ 4203 | const digit* digits = ((PyLongObject*)x)->ob_digit; | ^~~~~~~~ PyRuSH/StaticSentencizerFun.cpp: In function ‘Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject*)’: PyRuSH/StaticSentencizerFun.cpp:4654:47: error: ‘PyLongObject’ {aka ‘struct _longobject’} has no member named ‘ob_digit’ 4654 | const digit* digits = ((PyLongObject*)b)->ob_digit; | ^~~~~~~~ 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.
I have seen the first error error: ‘PyLongObject’ {aka ‘struct _longobject’} has no member named ‘ob_digit’ before, and is due to an ABI change introduced in Python 3.12.
error: ‘PyLongObject’ {aka ‘struct _longobject’} has no member named ‘ob_digit’
I tried installing a project (medkit-lib) which depends on pyrush in a Python 3.12 environment.
Installation fails with the following output: