pavlin-policar / openTSNE

Extensible, parallel implementations of t-SNE
https://opentsne.rtfd.io
BSD 3-Clause "New" or "Revised" License
1.44k stars 158 forks source link

Compilation fails on Python 3.10 #205

Closed bnavigator closed 2 years ago

bnavigator commented 2 years ago

Compilation fails on Python 3.10:

``` [ 16s] + /usr/bin/python3.10 setup.py build '--executable=/usr/bin/python3.10 -s' [ 16s] /home/abuild/rpmbuild/BUILD/openTSNE-0.6.1/setup.py:1: DeprecationWarning: The distutils package is deprecated and slated for removal in Python 3.12. Use setuptools or check PEP 632 for potential alternatives [ 16s] import distutils [ 16s] ./tmpk2o7hh13/fftw3.c:1:10: fatal error: fftw3.h: No such file or directory [ 16s] 1 | #include [ 16s] | ^~~~~~~~~ [ 16s] compilation terminated. [ 16s] FFTW3 header files not found. Using numpy implementation of FFT. [ 16s] running build [ 16s] running build_py [ 16s] creating build [ 16s] creating build/lib.linux-x86_64-3.10 [ 16s] creating build/lib.linux-x86_64-3.10/openTSNE [ 16s] copying openTSNE/__init__.py -> build/lib.linux-x86_64-3.10/openTSNE [ 16s] copying openTSNE/affinity.py -> build/lib.linux-x86_64-3.10/openTSNE [ 16s] copying openTSNE/callbacks.py -> build/lib.linux-x86_64-3.10/openTSNE [ 16s] copying openTSNE/initialization.py -> build/lib.linux-x86_64-3.10/openTSNE [ 16s] copying openTSNE/metrics.py -> build/lib.linux-x86_64-3.10/openTSNE [ 16s] copying openTSNE/nearest_neighbors.py -> build/lib.linux-x86_64-3.10/openTSNE [ 16s] copying openTSNE/sklearn.py -> build/lib.linux-x86_64-3.10/openTSNE [ 16s] copying openTSNE/tsne.py -> build/lib.linux-x86_64-3.10/openTSNE [ 16s] copying openTSNE/utils.py -> build/lib.linux-x86_64-3.10/openTSNE [ 16s] copying openTSNE/version.py -> build/lib.linux-x86_64-3.10/openTSNE [ 16s] creating build/lib.linux-x86_64-3.10/openTSNE/_matrix_mul [ 16s] copying openTSNE/_matrix_mul/__init__.py -> build/lib.linux-x86_64-3.10/openTSNE/_matrix_mul [ 16s] creating build/lib.linux-x86_64-3.10/openTSNE/dependencies [ 16s] copying openTSNE/dependencies/__init__.py -> build/lib.linux-x86_64-3.10/openTSNE/dependencies [ 16s] creating build/lib.linux-x86_64-3.10/openTSNE/dependencies/annoy [ 16s] copying openTSNE/dependencies/annoy/__init__.py -> build/lib.linux-x86_64-3.10/openTSNE/dependencies/annoy [ 16s] running build_ext [ 16s] gcc -Wno-unused-result -Wsign-compare -DNDEBUG -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -Werror=return-type -g -DOPENSSL_LOAD_CONF -fwrapv -fno-semantic-interposition -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -Werror=return-type -g -IVendor/ -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -Werror=return-type -g -IVendor/ -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -Werror=return-type -flto=auto -g -fPIC -I/usr/include -I/usr/Library/include -c ./tmpu1966v53/omp.c -o ./tmpu1966v53/omp.o [ 16s] Found openmp. Compiling with openmp flags... [ 16s] building 'openTSNE.quad_tree' extension [ 16s] creating build/temp.linux-x86_64-3.10 [ 16s] creating build/temp.linux-x86_64-3.10/openTSNE [ 16s] gcc -Wno-unused-result -Wsign-compare -DNDEBUG -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -Werror=return-type -g -DOPENSSL_LOAD_CONF -fwrapv -fno-semantic-interposition -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -Werror=return-type -g -IVendor/ -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -Werror=return-type -g -IVendor/ -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -Werror=return-type -flto=auto -g -fPIC -I/usr/include -I/usr/Library/include -I/usr/lib64/python3.10/site-packages/numpy/core/include -I/usr/include/python3.10 -c openTSNE/quad_tree.cpp -o build/temp.linux-x86_64-3.10/openTSNE/quad_tree.o -O3 -march=corei7 -fopenmp [ 16s] In file included from /usr/include/python3.10/Python.h:74, [ 16s] from openTSNE/quad_tree.cpp:18: [ 16s] openTSNE/quad_tree.cpp: In function ‘void __pyx_tp_dealloc_8openTSNE_9quad_tree_QuadTree(PyObject*)’: [ 16s] /usr/include/python3.10/object.h:133:33: error: lvalue required as increment operand [ 16s] 133 | #define Py_REFCNT(ob) _Py_REFCNT(_PyObject_CAST_CONST(ob)) [ 16s] | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ [ 16s] openTSNE/quad_tree.cpp:16613:7: note: in expansion of macro ‘Py_REFCNT’ [ 16s] 16613 | ++Py_REFCNT(o); [ 16s] | ^~~~~~~~~ [ 16s] /usr/include/python3.10/object.h:133:33: error: lvalue required as decrement operand [ 16s] 133 | #define Py_REFCNT(ob) _Py_REFCNT(_PyObject_CAST_CONST(ob)) [ 16s] | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ [ 16s] openTSNE/quad_tree.cpp:16615:7: note: in expansion of macro ‘Py_REFCNT’ [ 16s] 16615 | --Py_REFCNT(o); [ 16s] | ^~~~~~~~~ [ 16s] openTSNE/quad_tree.cpp: In function ‘void __pyx_tp_dealloc_array(PyObject*)’: [ 16s] /usr/include/python3.10/object.h:133:33: error: lvalue required as increment operand [ 16s] 133 | #define Py_REFCNT(ob) _Py_REFCNT(_PyObject_CAST_CONST(ob)) [ 16s] | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ [ 16s] openTSNE/quad_tree.cpp:16729:7: note: in expansion of macro ‘Py_REFCNT’ [ 16s] 16729 | ++Py_REFCNT(o); [ 16s] | ^~~~~~~~~ [ 16s] /usr/include/python3.10/object.h:133:33: error: lvalue required as decrement operand [ 16s] 133 | #define Py_REFCNT(ob) _Py_REFCNT(_PyObject_CAST_CONST(ob)) [ 16s] | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ [ 16s] openTSNE/quad_tree.cpp:16731:7: note: in expansion of macro ‘Py_REFCNT’ [ 16s] 16731 | --Py_REFCNT(o); [ 16s] | ^~~~~~~~~ [ 16s] openTSNE/quad_tree.cpp: In function ‘void __pyx_tp_dealloc_memoryview(PyObject*)’: [ 16s] /usr/include/python3.10/object.h:133:33: error: lvalue required as increment operand [ 16s] 133 | #define Py_REFCNT(ob) _Py_REFCNT(_PyObject_CAST_CONST(ob)) [ 16s] | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ [ 16s] openTSNE/quad_tree.cpp:17040:7: note: in expansion of macro ‘Py_REFCNT’ [ 16s] 17040 | ++Py_REFCNT(o); [ 16s] | ^~~~~~~~~ [ 16s] /usr/include/python3.10/object.h:133:33: error: lvalue required as decrement operand [ 16s] 133 | #define Py_REFCNT(ob) _Py_REFCNT(_PyObject_CAST_CONST(ob)) [ 16s] | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ [ 16s] openTSNE/quad_tree.cpp:17042:7: note: in expansion of macro ‘Py_REFCNT’ [ 16s] 17042 | --Py_REFCNT(o); [ 16s] | ^~~~~~~~~ [ 16s] openTSNE/quad_tree.cpp: In function ‘void __pyx_tp_dealloc__memoryviewslice(PyObject*)’: [ 16s] /usr/include/python3.10/object.h:133:33: error: lvalue required as increment operand [ 16s] 133 | #define Py_REFCNT(ob) _Py_REFCNT(_PyObject_CAST_CONST(ob)) [ 16s] | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ [ 16s] openTSNE/quad_tree.cpp:17290:7: note: in expansion of macro ‘Py_REFCNT’ [ 16s] 17290 | ++Py_REFCNT(o); [ 16s] | ^~~~~~~~~ [ 16s] /usr/include/python3.10/object.h:133:33: error: lvalue required as decrement operand [ 16s] 133 | #define Py_REFCNT(ob) _Py_REFCNT(_PyObject_CAST_CONST(ob)) [ 16s] | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ [ 16s] openTSNE/quad_tree.cpp:17292:7: note: in expansion of macro ‘Py_REFCNT’ [ 16s] 17292 | --Py_REFCNT(o); [ 16s] | ^~~~~~~~~ [ 16s] In file included from /usr/include/python3.10/unicodeobject.h:1046, [ 16s] from /usr/include/python3.10/Python.h:83, [ 16s] from openTSNE/quad_tree.cpp:18: [ 16s] openTSNE/quad_tree.cpp: In function ‘int __Pyx_ParseOptionalKeywords(PyObject*, PyObject***, PyObject*, PyObject**, Py_ssize_t, const char*)’: [ 16s] /usr/include/python3.10/cpython/unicodeobject.h:451:61: warning: ‘Py_ssize_t _PyUnicode_get_wstr_length(PyObject*)’ is deprecated [-Wdeprecated-declarations] [ 16s] 451 | #define PyUnicode_WSTR_LENGTH(op) _PyUnicode_get_wstr_length((PyObject*)op) [ 16s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~ [ 16s] /usr/include/python3.10/cpython/unicodeobject.h:261:7: note: in expansion of macro ‘PyUnicode_WSTR_LENGTH’ [ 16s] 261 | PyUnicode_WSTR_LENGTH(op) : \ [ 16s] | ^~~~~~~~~~~~~~~~~~~~~ [ 16s] openTSNE/quad_tree.cpp:18588:22: note: in expansion of macro ‘PyUnicode_GET_SIZE’ [ 16s] 18588 | (PyUnicode_GET_SIZE(**name) != PyUnicode_GET_SIZE(key)) ? 1 : [ 16s] | ^~~~~~~~~~~~~~~~~~ [ 16s] /usr/include/python3.10/cpython/unicodeobject.h:446:26: note: declared here [ 16s] 446 | static inline Py_ssize_t _PyUnicode_get_wstr_length(PyObject *op) { [ 16s] | ^~~~~~~~~~~~~~~~~~~~~~~~~~ [ 16s] /usr/include/python3.10/cpython/unicodeobject.h:262:33: warning: ‘Py_UNICODE* PyUnicode_AsUnicode(PyObject*)’ is deprecated [-Wdeprecated-declarations] [ 16s] 262 | ((void)PyUnicode_AsUnicode(_PyObject_CAST(op)),\ [ 16s] | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 16s] openTSNE/quad_tree.cpp:18588:22: note: in expansion of macro ‘PyUnicode_GET_SIZE’ [ 16s] 18588 | (PyUnicode_GET_SIZE(**name) != PyUnicode_GET_SIZE(key)) ? 1 : [ 16s] | ^~~~~~~~~~~~~~~~~~ [ 16s] /usr/include/python3.10/cpython/unicodeobject.h:580:45: note: declared here [ 16s] 580 | Py_DEPRECATED(3.3) PyAPI_FUNC(Py_UNICODE *) PyUnicode_AsUnicode( [ 16s] | ^~~~~~~~~~~~~~~~~~~ [ 16s] /usr/include/python3.10/cpython/unicodeobject.h:451:61: warning: ‘Py_ssize_t _PyUnicode_get_wstr_length(PyObject*)’ is deprecated [-Wdeprecated-declarations] [ 16s] 451 | #define PyUnicode_WSTR_LENGTH(op) _PyUnicode_get_wstr_length((PyObject*)op) [ 16s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~ [ 16s] /usr/include/python3.10/cpython/unicodeobject.h:264:8: note: in expansion of macro ‘PyUnicode_WSTR_LENGTH’ [ 16s] 264 | PyUnicode_WSTR_LENGTH(op))) [ 16s] | ^~~~~~~~~~~~~~~~~~~~~ [ 16s] openTSNE/quad_tree.cpp:18588:22: note: in expansion of macro ‘PyUnicode_GET_SIZE’ [ 16s] 18588 | (PyUnicode_GET_SIZE(**name) != PyUnicode_GET_SIZE(key)) ? 1 : [ 16s] | ^~~~~~~~~~~~~~~~~~ [ 16s] /usr/include/python3.10/cpython/unicodeobject.h:446:26: note: declared here [ 16s] 446 | static inline Py_ssize_t _PyUnicode_get_wstr_length(PyObject *op) { [ 16s] | ^~~~~~~~~~~~~~~~~~~~~~~~~~ [ 16s] /usr/include/python3.10/cpython/unicodeobject.h:451:61: warning: ‘Py_ssize_t _PyUnicode_get_wstr_length(PyObject*)’ is deprecated [-Wdeprecated-declarations] [ 16s] 451 | #define PyUnicode_WSTR_LENGTH(op) _PyUnicode_get_wstr_length((PyObject*)op) [ 16s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~ [ 16s] /usr/include/python3.10/cpython/unicodeobject.h:261:7: note: in expansion of macro ‘PyUnicode_WSTR_LENGTH’ [ 16s] 261 | PyUnicode_WSTR_LENGTH(op) : \ [ 16s] | ^~~~~~~~~~~~~~~~~~~~~ [ 16s] openTSNE/quad_tree.cpp:18588:52: note: in expansion of macro ‘PyUnicode_GET_SIZE’ [ 16s] 18588 | (PyUnicode_GET_SIZE(**name) != PyUnicode_GET_SIZE(key)) ? 1 : [ 16s] | ^~~~~~~~~~~~~~~~~~ [ 16s] /usr/include/python3.10/cpython/unicodeobject.h:446:26: note: declared here [ 16s] 446 | static inline Py_ssize_t _PyUnicode_get_wstr_length(PyObject *op) { [ 16s] | ^~~~~~~~~~~~~~~~~~~~~~~~~~ [ 16s] /usr/include/python3.10/cpython/unicodeobject.h:262:33: warning: ‘Py_UNICODE* PyUnicode_AsUnicode(PyObject*)’ is deprecated [-Wdeprecated-declarations] [ 16s] 262 | ((void)PyUnicode_AsUnicode(_PyObject_CAST(op)),\ [ 16s] | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 16s] openTSNE/quad_tree.cpp:18588:52: note: in expansion of macro ‘PyUnicode_GET_SIZE’ [ 16s] 18588 | (PyUnicode_GET_SIZE(**name) != PyUnicode_GET_SIZE(key)) ? 1 : [ 16s] | ^~~~~~~~~~~~~~~~~~ [ 16s] /usr/include/python3.10/cpython/unicodeobject.h:580:45: note: declared here [ 16s] 580 | Py_DEPRECATED(3.3) PyAPI_FUNC(Py_UNICODE *) PyUnicode_AsUnicode( [ 16s] | ^~~~~~~~~~~~~~~~~~~ [ 16s] /usr/include/python3.10/cpython/unicodeobject.h:451:61: warning: ‘Py_ssize_t _PyUnicode_get_wstr_length(PyObject*)’ is deprecated [-Wdeprecated-declarations] [ 16s] 451 | #define PyUnicode_WSTR_LENGTH(op) _PyUnicode_get_wstr_length((PyObject*)op) [ 16s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~ [ 16s] /usr/include/python3.10/cpython/unicodeobject.h:264:8: note: in expansion of macro ‘PyUnicode_WSTR_LENGTH’ [ 16s] 264 | PyUnicode_WSTR_LENGTH(op))) [ 16s] | ^~~~~~~~~~~~~~~~~~~~~ [ 16s] openTSNE/quad_tree.cpp:18588:52: note: in expansion of macro ‘PyUnicode_GET_SIZE’ [ 16s] 18588 | (PyUnicode_GET_SIZE(**name) != PyUnicode_GET_SIZE(key)) ? 1 : [ 16s] | ^~~~~~~~~~~~~~~~~~ [ 16s] /usr/include/python3.10/cpython/unicodeobject.h:446:26: note: declared here [ 16s] 446 | static inline Py_ssize_t _PyUnicode_get_wstr_length(PyObject *op) { [ 16s] | ^~~~~~~~~~~~~~~~~~~~~~~~~~ [ 16s] /usr/include/python3.10/cpython/unicodeobject.h:451:61: warning: ‘Py_ssize_t _PyUnicode_get_wstr_length(PyObject*)’ is deprecated [-Wdeprecated-declarations] [ 16s] 451 | #define PyUnicode_WSTR_LENGTH(op) _PyUnicode_get_wstr_length((PyObject*)op) [ 16s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~ [ 16s] /usr/include/python3.10/cpython/unicodeobject.h:261:7: note: in expansion of macro ‘PyUnicode_WSTR_LENGTH’ [ 16s] 261 | PyUnicode_WSTR_LENGTH(op) : \ [ 16s] | ^~~~~~~~~~~~~~~~~~~~~ [ 16s] openTSNE/quad_tree.cpp:18604:26: note: in expansion of macro ‘PyUnicode_GET_SIZE’ [ 16s] 18604 | (PyUnicode_GET_SIZE(**argname) != PyUnicode_GET_SIZE(key)) ? 1 : [ 16s] | ^~~~~~~~~~~~~~~~~~ [ 16s] /usr/include/python3.10/cpython/unicodeobject.h:446:26: note: declared here [ 16s] 446 | static inline Py_ssize_t _PyUnicode_get_wstr_length(PyObject *op) { [ 16s] | ^~~~~~~~~~~~~~~~~~~~~~~~~~ [ 16s] /usr/include/python3.10/cpython/unicodeobject.h:262:33: warning: ‘Py_UNICODE* PyUnicode_AsUnicode(PyObject*)’ is deprecated [-Wdeprecated-declarations] [ 16s] 262 | ((void)PyUnicode_AsUnicode(_PyObject_CAST(op)),\ [ 16s] | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 16s] openTSNE/quad_tree.cpp:18604:26: note: in expansion of macro ‘PyUnicode_GET_SIZE’ [ 16s] 18604 | (PyUnicode_GET_SIZE(**argname) != PyUnicode_GET_SIZE(key)) ? 1 : [ 16s] | ^~~~~~~~~~~~~~~~~~ [ 16s] /usr/include/python3.10/cpython/unicodeobject.h:580:45: note: declared here [ 16s] 580 | Py_DEPRECATED(3.3) PyAPI_FUNC(Py_UNICODE *) PyUnicode_AsUnicode( [ 16s] | ^~~~~~~~~~~~~~~~~~~ [ 16s] /usr/include/python3.10/cpython/unicodeobject.h:451:61: warning: ‘Py_ssize_t _PyUnicode_get_wstr_length(PyObject*)’ is deprecated [-Wdeprecated-declarations] [ 16s] 451 | #define PyUnicode_WSTR_LENGTH(op) _PyUnicode_get_wstr_length((PyObject*)op) [ 16s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~ [ 16s] /usr/include/python3.10/cpython/unicodeobject.h:264:8: note: in expansion of macro ‘PyUnicode_WSTR_LENGTH’ [ 16s] 264 | PyUnicode_WSTR_LENGTH(op))) [ 16s] | ^~~~~~~~~~~~~~~~~~~~~ [ 16s] openTSNE/quad_tree.cpp:18604:26: note: in expansion of macro ‘PyUnicode_GET_SIZE’ [ 16s] 18604 | (PyUnicode_GET_SIZE(**argname) != PyUnicode_GET_SIZE(key)) ? 1 : [ 16s] | ^~~~~~~~~~~~~~~~~~ [ 16s] /usr/include/python3.10/cpython/unicodeobject.h:446:26: note: declared here [ 16s] 446 | static inline Py_ssize_t _PyUnicode_get_wstr_length(PyObject *op) { [ 16s] | ^~~~~~~~~~~~~~~~~~~~~~~~~~ [ 16s] /usr/include/python3.10/cpython/unicodeobject.h:451:61: warning: ‘Py_ssize_t _PyUnicode_get_wstr_length(PyObject*)’ is deprecated [-Wdeprecated-declarations] [ 16s] 451 | #define PyUnicode_WSTR_LENGTH(op) _PyUnicode_get_wstr_length((PyObject*)op) [ 16s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~ [ 16s] /usr/include/python3.10/cpython/unicodeobject.h:261:7: note: in expansion of macro ‘PyUnicode_WSTR_LENGTH’ [ 16s] 261 | PyUnicode_WSTR_LENGTH(op) : \ [ 16s] | ^~~~~~~~~~~~~~~~~~~~~ [ 16s] openTSNE/quad_tree.cpp:18604:59: note: in expansion of macro ‘PyUnicode_GET_SIZE’ [ 16s] 18604 | (PyUnicode_GET_SIZE(**argname) != PyUnicode_GET_SIZE(key)) ? 1 : [ 16s] | ^~~~~~~~~~~~~~~~~~ [ 16s] /usr/include/python3.10/cpython/unicodeobject.h:446:26: note: declared here [ 16s] 446 | static inline Py_ssize_t _PyUnicode_get_wstr_length(PyObject *op) { [ 16s] | ^~~~~~~~~~~~~~~~~~~~~~~~~~ [ 16s] /usr/include/python3.10/cpython/unicodeobject.h:262:33: warning: ‘Py_UNICODE* PyUnicode_AsUnicode(PyObject*)’ is deprecated [-Wdeprecated-declarations] [ 16s] 262 | ((void)PyUnicode_AsUnicode(_PyObject_CAST(op)),\ [ 16s] | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ [ 16s] openTSNE/quad_tree.cpp:18604:59: note: in expansion of macro ‘PyUnicode_GET_SIZE’ [ 16s] 18604 | (PyUnicode_GET_SIZE(**argname) != PyUnicode_GET_SIZE(key)) ? 1 : [ 16s] | ^~~~~~~~~~~~~~~~~~ [ 16s] /usr/include/python3.10/cpython/unicodeobject.h:580:45: note: declared here [ 16s] 580 | Py_DEPRECATED(3.3) PyAPI_FUNC(Py_UNICODE *) PyUnicode_AsUnicode( [ 16s] | ^~~~~~~~~~~~~~~~~~~ [ 16s] /usr/include/python3.10/cpython/unicodeobject.h:451:61: warning: ‘Py_ssize_t _PyUnicode_get_wstr_length(PyObject*)’ is deprecated [-Wdeprecated-declarations] [ 16s] 451 | #define PyUnicode_WSTR_LENGTH(op) _PyUnicode_get_wstr_length((PyObject*)op) [ 16s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~ [ 16s] /usr/include/python3.10/cpython/unicodeobject.h:264:8: note: in expansion of macro ‘PyUnicode_WSTR_LENGTH’ [ 16s] 264 | PyUnicode_WSTR_LENGTH(op))) [ 16s] | ^~~~~~~~~~~~~~~~~~~~~ [ 16s] openTSNE/quad_tree.cpp:18604:59: note: in expansion of macro ‘PyUnicode_GET_SIZE’ [ 16s] 18604 | (PyUnicode_GET_SIZE(**argname) != PyUnicode_GET_SIZE(key)) ? 1 : [ 16s] | ^~~~~~~~~~~~~~~~~~ [ 16s] /usr/include/python3.10/cpython/unicodeobject.h:446:26: note: declared here [ 16s] 446 | static inline Py_ssize_t _PyUnicode_get_wstr_length(PyObject *op) { [ 16s] | ^~~~~~~~~~~~~~~~~~~~~~~~~~ [ 16s] openTSNE/quad_tree.cpp: In function ‘PyObject* __Pyx_decode_c_string(const char*, Py_ssize_t, Py_ssize_t, const char*, const char*, PyObject* (*)(const char*, Py_ssize_t, const char*))’: [ 16s] openTSNE/quad_tree.cpp:19600:37: warning: ‘PyObject* PyUnicode_FromUnicode(const Py_UNICODE*, Py_ssize_t)’ is deprecated [-Wdeprecated-declarations] [ 16s] 19600 | return PyUnicode_FromUnicode(NULL, 0); [ 16s] | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~ [ 16s] In file included from /usr/include/python3.10/unicodeobject.h:1046, [ 16s] from /usr/include/python3.10/Python.h:83, [ 16s] from openTSNE/quad_tree.cpp:18: [ 16s] /usr/include/python3.10/cpython/unicodeobject.h:551:42: note: declared here [ 16s] 551 | Py_DEPRECATED(3.3) PyAPI_FUNC(PyObject*) PyUnicode_FromUnicode( [ 16s] | ^~~~~~~~~~~~~~~~~~~~~ [ 17s] error: command '/usr/bin/gcc' failed with exit code 1 [ 17s] error: Bad exit status from /var/tmp/rpm-tmp.mw7otq (%build) ```