KDEpy icon indicating copy to clipboard operation
KDEpy copied to clipboard

Installation fails on M1 mac

Open pavlin-policar opened this issue 1 year ago • 2 comments

Hi, I'm having some trouble installing KDEpy on my M1 mac. I've included the install log below. I've seen on pip that you don't provide wheels for M1 ARM processors, but apparently, building from source also fails on this architecture. Am I missing something really obvious?

Log
> pip install kdepy
Collecting kdepy
  Using cached KDEpy-1.0.2.tar.gz (136 kB)
  Preparing metadata (setup.py) ... done
Requirement already satisfied: numpy>=1.14.2 in /Users/pavlin/miniconda3/envs/ml/lib/python3.10/site-packages (from kdepy) (1.22.4)
Requirement already satisfied: scipy>=1.0.1 in /Users/pavlin/miniconda3/envs/ml/lib/python3.10/site-packages (from kdepy) (1.9.1)
Requirement already satisfied: matplotlib>=2.2.0 in /Users/pavlin/miniconda3/envs/ml/lib/python3.10/site-packages (from kdepy) (3.5.3)
Requirement already satisfied: kiwisolver>=1.0.1 in /Users/pavlin/miniconda3/envs/ml/lib/python3.10/site-packages (from matplotlib>=2.2.0->kdepy) (1.4.4)
Requirement already satisfied: packaging>=20.0 in /Users/pavlin/miniconda3/envs/ml/lib/python3.10/site-packages (from matplotlib>=2.2.0->kdepy) (21.3)
Requirement already satisfied: pillow>=6.2.0 in /Users/pavlin/miniconda3/envs/ml/lib/python3.10/site-packages (from matplotlib>=2.2.0->kdepy) (9.2.0)
Requirement already satisfied: pyparsing>=2.2.1 in /Users/pavlin/miniconda3/envs/ml/lib/python3.10/site-packages (from matplotlib>=2.2.0->kdepy) (3.0.9)
Requirement already satisfied: cycler>=0.10 in /Users/pavlin/miniconda3/envs/ml/lib/python3.10/site-packages (from matplotlib>=2.2.0->kdepy) (0.11.0)
Requirement already satisfied: python-dateutil>=2.7 in /Users/pavlin/miniconda3/envs/ml/lib/python3.10/site-packages (from matplotlib>=2.2.0->kdepy) (2.8.2)
Requirement already satisfied: fonttools>=4.22.0 in /Users/pavlin/miniconda3/envs/ml/lib/python3.10/site-packages (from matplotlib>=2.2.0->kdepy) (4.37.1)
Requirement already satisfied: six>=1.5 in /Users/pavlin/miniconda3/envs/ml/lib/python3.10/site-packages (from python-dateutil>=2.7->matplotlib>=2.2.0->kdepy) (1.16.0)
Building wheels for collected packages: kdepy
  Building wheel for kdepy (setup.py) ... error
  error: subprocess-exited-with-error

  × python setup.py bdist_wheel did not run successfully.
  │ exit code: 1
  ╰─> [230 lines of output]
      running bdist_wheel
      running build
      running build_py
      creating build
      creating build/lib.macosx-11.1-arm64-cpython-310
      creating build/lib.macosx-11.1-arm64-cpython-310/KDEpy
      copying KDEpy/binning.py -> build/lib.macosx-11.1-arm64-cpython-310/KDEpy
      copying KDEpy/kernel_funcs.py -> build/lib.macosx-11.1-arm64-cpython-310/KDEpy
      copying KDEpy/__init__.py -> build/lib.macosx-11.1-arm64-cpython-310/KDEpy
      copying KDEpy/FFTKDE.py -> build/lib.macosx-11.1-arm64-cpython-310/KDEpy
      copying KDEpy/TreeKDE.py -> build/lib.macosx-11.1-arm64-cpython-310/KDEpy
      copying KDEpy/NaiveKDE.py -> build/lib.macosx-11.1-arm64-cpython-310/KDEpy
      copying KDEpy/BaseKDE.py -> build/lib.macosx-11.1-arm64-cpython-310/KDEpy
      copying KDEpy/bw_selection.py -> build/lib.macosx-11.1-arm64-cpython-310/KDEpy
      copying KDEpy/utils.py -> build/lib.macosx-11.1-arm64-cpython-310/KDEpy
      running build_ext
      skipping 'KDEpy/cutils.c' Cython extension (up-to-date)
      building 'cutils' extension
      creating build/temp.macosx-11.1-arm64-cpython-310
      creating build/temp.macosx-11.1-arm64-cpython-310/KDEpy
      clang -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O2 -Wall -fPIC -O2 -isystem /Users/pavlin/miniconda3/envs/ml/include -arch arm64 -fPIC -O2 -isystem /Users/pavlin/miniconda3/envs/ml/include -arch arm64 -I/Users/pavlin/miniconda3/envs/ml/lib/python3.10/site-packages/numpy/core/include -I/Users/pavlin/miniconda3/envs/ml/include/python3.10 -c KDEpy/cutils.c -o build/temp.macosx-11.1-arm64-cpython-310/KDEpy/cutils.o
      KDEpy/cutils.c:17398:5: error: expression is not assignable
          ++Py_REFCNT(o);
          ^ ~~~~~~~~~~~~
      KDEpy/cutils.c:17400:5: error: expression is not assignable
          --Py_REFCNT(o);
          ^ ~~~~~~~~~~~~
      KDEpy/cutils.c:17687:5: error: expression is not assignable
          ++Py_REFCNT(o);
          ^ ~~~~~~~~~~~~
      KDEpy/cutils.c:17689:5: error: expression is not assignable
          --Py_REFCNT(o);
          ^ ~~~~~~~~~~~~
      KDEpy/cutils.c:17926:5: error: expression is not assignable
          ++Py_REFCNT(o);
          ^ ~~~~~~~~~~~~
      KDEpy/cutils.c:17928:5: error: expression is not assignable
          --Py_REFCNT(o);
          ^ ~~~~~~~~~~~~
      KDEpy/cutils.c:18644:26: error: no member named 'tp_print' in 'struct _typeobject'
        __pyx_type___pyx_array.tp_print = 0;
        ~~~~~~~~~~~~~~~~~~~~~~ ^
      KDEpy/cutils.c:18649:32: error: no member named 'tp_print' in 'struct _typeobject'
        __pyx_type___pyx_MemviewEnum.tp_print = 0;
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^
      KDEpy/cutils.c:18664:31: error: no member named 'tp_print' in 'struct _typeobject'
        __pyx_type___pyx_memoryview.tp_print = 0;
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^
      KDEpy/cutils.c:18677:36: error: no member named 'tp_print' in 'struct _typeobject'
        __pyx_type___pyx_memoryviewslice.tp_print = 0;
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^
      KDEpy/cutils.c:19320:22: warning: '_PyUnicode_get_wstr_length' is deprecated [-Wdeprecated-declarations]
                          (PyUnicode_GET_SIZE(**name) != PyUnicode_GET_SIZE(key)) ? 1 :
                           ^
      /Users/pavlin/miniconda3/envs/ml/include/python3.10/cpython/unicodeobject.h:261:7: note: expanded from macro 'PyUnicode_GET_SIZE'
            PyUnicode_WSTR_LENGTH(op) :                    \
            ^
      /Users/pavlin/miniconda3/envs/ml/include/python3.10/cpython/unicodeobject.h:451:35: note: expanded from macro 'PyUnicode_WSTR_LENGTH'
      #define PyUnicode_WSTR_LENGTH(op) _PyUnicode_get_wstr_length((PyObject*)op)
                                        ^
      /Users/pavlin/miniconda3/envs/ml/include/python3.10/cpython/unicodeobject.h:445:1: note: '_PyUnicode_get_wstr_length' has been explicitly marked deprecated here
      Py_DEPRECATED(3.3)
      ^
      /Users/pavlin/miniconda3/envs/ml/include/python3.10/pyport.h:513:54: note: expanded from macro 'Py_DEPRECATED'
      #define Py_DEPRECATED(VERSION_UNUSED) __attribute__((__deprecated__))
                                                           ^
      KDEpy/cutils.c:19320:22: warning: 'PyUnicode_AsUnicode' is deprecated [-Wdeprecated-declarations]
                          (PyUnicode_GET_SIZE(**name) != PyUnicode_GET_SIZE(key)) ? 1 :
                           ^
      /Users/pavlin/miniconda3/envs/ml/include/python3.10/cpython/unicodeobject.h:262:14: note: expanded from macro 'PyUnicode_GET_SIZE'
            ((void)PyUnicode_AsUnicode(_PyObject_CAST(op)),\
                   ^
      /Users/pavlin/miniconda3/envs/ml/include/python3.10/cpython/unicodeobject.h:580:1: note: 'PyUnicode_AsUnicode' has been explicitly marked deprecated here
      Py_DEPRECATED(3.3) PyAPI_FUNC(Py_UNICODE *) PyUnicode_AsUnicode(
      ^
      /Users/pavlin/miniconda3/envs/ml/include/python3.10/pyport.h:513:54: note: expanded from macro 'Py_DEPRECATED'
      #define Py_DEPRECATED(VERSION_UNUSED) __attribute__((__deprecated__))
                                                           ^
      KDEpy/cutils.c:19320:22: warning: '_PyUnicode_get_wstr_length' is deprecated [-Wdeprecated-declarations]
                          (PyUnicode_GET_SIZE(**name) != PyUnicode_GET_SIZE(key)) ? 1 :
                           ^
      /Users/pavlin/miniconda3/envs/ml/include/python3.10/cpython/unicodeobject.h:264:8: note: expanded from macro 'PyUnicode_GET_SIZE'
             PyUnicode_WSTR_LENGTH(op)))
             ^
      /Users/pavlin/miniconda3/envs/ml/include/python3.10/cpython/unicodeobject.h:451:35: note: expanded from macro 'PyUnicode_WSTR_LENGTH'
      #define PyUnicode_WSTR_LENGTH(op) _PyUnicode_get_wstr_length((PyObject*)op)
                                        ^
      /Users/pavlin/miniconda3/envs/ml/include/python3.10/cpython/unicodeobject.h:445:1: note: '_PyUnicode_get_wstr_length' has been explicitly marked deprecated here
      Py_DEPRECATED(3.3)
      ^
      /Users/pavlin/miniconda3/envs/ml/include/python3.10/pyport.h:513:54: note: expanded from macro 'Py_DEPRECATED'
      #define Py_DEPRECATED(VERSION_UNUSED) __attribute__((__deprecated__))
                                                           ^
      KDEpy/cutils.c:19320:52: warning: '_PyUnicode_get_wstr_length' is deprecated [-Wdeprecated-declarations]
                          (PyUnicode_GET_SIZE(**name) != PyUnicode_GET_SIZE(key)) ? 1 :
                                                         ^
      /Users/pavlin/miniconda3/envs/ml/include/python3.10/cpython/unicodeobject.h:261:7: note: expanded from macro 'PyUnicode_GET_SIZE'
            PyUnicode_WSTR_LENGTH(op) :                    \
            ^
      /Users/pavlin/miniconda3/envs/ml/include/python3.10/cpython/unicodeobject.h:451:35: note: expanded from macro 'PyUnicode_WSTR_LENGTH'
      #define PyUnicode_WSTR_LENGTH(op) _PyUnicode_get_wstr_length((PyObject*)op)
                                        ^
      /Users/pavlin/miniconda3/envs/ml/include/python3.10/cpython/unicodeobject.h:445:1: note: '_PyUnicode_get_wstr_length' has been explicitly marked deprecated here
      Py_DEPRECATED(3.3)
      ^
      /Users/pavlin/miniconda3/envs/ml/include/python3.10/pyport.h:513:54: note: expanded from macro 'Py_DEPRECATED'
      #define Py_DEPRECATED(VERSION_UNUSED) __attribute__((__deprecated__))
                                                           ^
      KDEpy/cutils.c:19320:52: warning: 'PyUnicode_AsUnicode' is deprecated [-Wdeprecated-declarations]
                          (PyUnicode_GET_SIZE(**name) != PyUnicode_GET_SIZE(key)) ? 1 :
                                                         ^
      /Users/pavlin/miniconda3/envs/ml/include/python3.10/cpython/unicodeobject.h:262:14: note: expanded from macro 'PyUnicode_GET_SIZE'
            ((void)PyUnicode_AsUnicode(_PyObject_CAST(op)),\
                   ^
      /Users/pavlin/miniconda3/envs/ml/include/python3.10/cpython/unicodeobject.h:580:1: note: 'PyUnicode_AsUnicode' has been explicitly marked deprecated here
      Py_DEPRECATED(3.3) PyAPI_FUNC(Py_UNICODE *) PyUnicode_AsUnicode(
      ^
      /Users/pavlin/miniconda3/envs/ml/include/python3.10/pyport.h:513:54: note: expanded from macro 'Py_DEPRECATED'
      #define Py_DEPRECATED(VERSION_UNUSED) __attribute__((__deprecated__))
                                                           ^
      KDEpy/cutils.c:19320:52: warning: '_PyUnicode_get_wstr_length' is deprecated [-Wdeprecated-declarations]
                          (PyUnicode_GET_SIZE(**name) != PyUnicode_GET_SIZE(key)) ? 1 :
                                                         ^
      /Users/pavlin/miniconda3/envs/ml/include/python3.10/cpython/unicodeobject.h:264:8: note: expanded from macro 'PyUnicode_GET_SIZE'
             PyUnicode_WSTR_LENGTH(op)))
             ^
      /Users/pavlin/miniconda3/envs/ml/include/python3.10/cpython/unicodeobject.h:451:35: note: expanded from macro 'PyUnicode_WSTR_LENGTH'
      #define PyUnicode_WSTR_LENGTH(op) _PyUnicode_get_wstr_length((PyObject*)op)
                                        ^
      /Users/pavlin/miniconda3/envs/ml/include/python3.10/cpython/unicodeobject.h:445:1: note: '_PyUnicode_get_wstr_length' has been explicitly marked deprecated here
      Py_DEPRECATED(3.3)
      ^
      /Users/pavlin/miniconda3/envs/ml/include/python3.10/pyport.h:513:54: note: expanded from macro 'Py_DEPRECATED'
      #define Py_DEPRECATED(VERSION_UNUSED) __attribute__((__deprecated__))
                                                           ^
      KDEpy/cutils.c:19336:26: warning: '_PyUnicode_get_wstr_length' is deprecated [-Wdeprecated-declarations]
                              (PyUnicode_GET_SIZE(**argname) != PyUnicode_GET_SIZE(key)) ? 1 :
                               ^
      /Users/pavlin/miniconda3/envs/ml/include/python3.10/cpython/unicodeobject.h:261:7: note: expanded from macro 'PyUnicode_GET_SIZE'
            PyUnicode_WSTR_LENGTH(op) :                    \
            ^
      /Users/pavlin/miniconda3/envs/ml/include/python3.10/cpython/unicodeobject.h:451:35: note: expanded from macro 'PyUnicode_WSTR_LENGTH'
      #define PyUnicode_WSTR_LENGTH(op) _PyUnicode_get_wstr_length((PyObject*)op)
                                        ^
      /Users/pavlin/miniconda3/envs/ml/include/python3.10/cpython/unicodeobject.h:445:1: note: '_PyUnicode_get_wstr_length' has been explicitly marked deprecated here
      Py_DEPRECATED(3.3)
      ^
      /Users/pavlin/miniconda3/envs/ml/include/python3.10/pyport.h:513:54: note: expanded from macro 'Py_DEPRECATED'
      #define Py_DEPRECATED(VERSION_UNUSED) __attribute__((__deprecated__))
                                                           ^
      KDEpy/cutils.c:19336:26: warning: 'PyUnicode_AsUnicode' is deprecated [-Wdeprecated-declarations]
                              (PyUnicode_GET_SIZE(**argname) != PyUnicode_GET_SIZE(key)) ? 1 :
                               ^
      /Users/pavlin/miniconda3/envs/ml/include/python3.10/cpython/unicodeobject.h:262:14: note: expanded from macro 'PyUnicode_GET_SIZE'
            ((void)PyUnicode_AsUnicode(_PyObject_CAST(op)),\
                   ^
      /Users/pavlin/miniconda3/envs/ml/include/python3.10/cpython/unicodeobject.h:580:1: note: 'PyUnicode_AsUnicode' has been explicitly marked deprecated here
      Py_DEPRECATED(3.3) PyAPI_FUNC(Py_UNICODE *) PyUnicode_AsUnicode(
      ^
      /Users/pavlin/miniconda3/envs/ml/include/python3.10/pyport.h:513:54: note: expanded from macro 'Py_DEPRECATED'
      #define Py_DEPRECATED(VERSION_UNUSED) __attribute__((__deprecated__))
                                                           ^
      KDEpy/cutils.c:19336:26: warning: '_PyUnicode_get_wstr_length' is deprecated [-Wdeprecated-declarations]
                              (PyUnicode_GET_SIZE(**argname) != PyUnicode_GET_SIZE(key)) ? 1 :
                               ^
      /Users/pavlin/miniconda3/envs/ml/include/python3.10/cpython/unicodeobject.h:264:8: note: expanded from macro 'PyUnicode_GET_SIZE'
             PyUnicode_WSTR_LENGTH(op)))
             ^
      /Users/pavlin/miniconda3/envs/ml/include/python3.10/cpython/unicodeobject.h:451:35: note: expanded from macro 'PyUnicode_WSTR_LENGTH'
      #define PyUnicode_WSTR_LENGTH(op) _PyUnicode_get_wstr_length((PyObject*)op)
                                        ^
      /Users/pavlin/miniconda3/envs/ml/include/python3.10/cpython/unicodeobject.h:445:1: note: '_PyUnicode_get_wstr_length' has been explicitly marked deprecated here
      Py_DEPRECATED(3.3)
      ^
      /Users/pavlin/miniconda3/envs/ml/include/python3.10/pyport.h:513:54: note: expanded from macro 'Py_DEPRECATED'
      #define Py_DEPRECATED(VERSION_UNUSED) __attribute__((__deprecated__))
                                                           ^
      KDEpy/cutils.c:19336:59: warning: '_PyUnicode_get_wstr_length' is deprecated [-Wdeprecated-declarations]
                              (PyUnicode_GET_SIZE(**argname) != PyUnicode_GET_SIZE(key)) ? 1 :
                                                                ^
      /Users/pavlin/miniconda3/envs/ml/include/python3.10/cpython/unicodeobject.h:261:7: note: expanded from macro 'PyUnicode_GET_SIZE'
            PyUnicode_WSTR_LENGTH(op) :                    \
            ^
      /Users/pavlin/miniconda3/envs/ml/include/python3.10/cpython/unicodeobject.h:451:35: note: expanded from macro 'PyUnicode_WSTR_LENGTH'
      #define PyUnicode_WSTR_LENGTH(op) _PyUnicode_get_wstr_length((PyObject*)op)
                                        ^
      /Users/pavlin/miniconda3/envs/ml/include/python3.10/cpython/unicodeobject.h:445:1: note: '_PyUnicode_get_wstr_length' has been explicitly marked deprecated here
      Py_DEPRECATED(3.3)
      ^
      /Users/pavlin/miniconda3/envs/ml/include/python3.10/pyport.h:513:54: note: expanded from macro 'Py_DEPRECATED'
      #define Py_DEPRECATED(VERSION_UNUSED) __attribute__((__deprecated__))
                                                           ^
      KDEpy/cutils.c:19336:59: warning: 'PyUnicode_AsUnicode' is deprecated [-Wdeprecated-declarations]
                              (PyUnicode_GET_SIZE(**argname) != PyUnicode_GET_SIZE(key)) ? 1 :
                                                                ^
      /Users/pavlin/miniconda3/envs/ml/include/python3.10/cpython/unicodeobject.h:262:14: note: expanded from macro 'PyUnicode_GET_SIZE'
            ((void)PyUnicode_AsUnicode(_PyObject_CAST(op)),\
                   ^
      /Users/pavlin/miniconda3/envs/ml/include/python3.10/cpython/unicodeobject.h:580:1: note: 'PyUnicode_AsUnicode' has been explicitly marked deprecated here
      Py_DEPRECATED(3.3) PyAPI_FUNC(Py_UNICODE *) PyUnicode_AsUnicode(
      ^
      /Users/pavlin/miniconda3/envs/ml/include/python3.10/pyport.h:513:54: note: expanded from macro 'Py_DEPRECATED'
      #define Py_DEPRECATED(VERSION_UNUSED) __attribute__((__deprecated__))
                                                           ^
      KDEpy/cutils.c:19336:59: warning: '_PyUnicode_get_wstr_length' is deprecated [-Wdeprecated-declarations]
                              (PyUnicode_GET_SIZE(**argname) != PyUnicode_GET_SIZE(key)) ? 1 :
                                                                ^
      /Users/pavlin/miniconda3/envs/ml/include/python3.10/cpython/unicodeobject.h:264:8: note: expanded from macro 'PyUnicode_GET_SIZE'
             PyUnicode_WSTR_LENGTH(op)))
             ^
      /Users/pavlin/miniconda3/envs/ml/include/python3.10/cpython/unicodeobject.h:451:35: note: expanded from macro 'PyUnicode_WSTR_LENGTH'
      #define PyUnicode_WSTR_LENGTH(op) _PyUnicode_get_wstr_length((PyObject*)op)
                                        ^
      /Users/pavlin/miniconda3/envs/ml/include/python3.10/cpython/unicodeobject.h:445:1: note: '_PyUnicode_get_wstr_length' has been explicitly marked deprecated here
      Py_DEPRECATED(3.3)
      ^
      /Users/pavlin/miniconda3/envs/ml/include/python3.10/pyport.h:513:54: note: expanded from macro 'Py_DEPRECATED'
      #define Py_DEPRECATED(VERSION_UNUSED) __attribute__((__deprecated__))
                                                           ^
      KDEpy/cutils.c:20396:16: warning: 'PyUnicode_FromUnicode' is deprecated [-Wdeprecated-declarations]
              return PyUnicode_FromUnicode(NULL, 0);
                     ^
      /Users/pavlin/miniconda3/envs/ml/include/python3.10/cpython/unicodeobject.h:551:1: note: 'PyUnicode_FromUnicode' has been explicitly marked deprecated here
      Py_DEPRECATED(3.3) PyAPI_FUNC(PyObject*) PyUnicode_FromUnicode(
      ^
      /Users/pavlin/miniconda3/envs/ml/include/python3.10/pyport.h:513:54: note: expanded from macro 'Py_DEPRECATED'
      #define Py_DEPRECATED(VERSION_UNUSED) __attribute__((__deprecated__))
                                                           ^
      13 warnings and 10 errors generated.
      error: command '/usr/bin/clang' 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 kdepy
  Running setup.py clean for kdepy
Failed to build kdepy
Installing collected packages: kdepy
  Running setup.py install for kdepy ... error
  error: subprocess-exited-with-error

  × Running setup.py install for kdepy did not run successfully.
  │ exit code: 1
  ╰─> [232 lines of output]
      running install
      /Users/pavlin/miniconda3/envs/ml/lib/python3.10/site-packages/setuptools/command/install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools.
        warnings.warn(
      running build
      running build_py
      creating build
      creating build/lib.macosx-11.1-arm64-cpython-310
      creating build/lib.macosx-11.1-arm64-cpython-310/KDEpy
      copying KDEpy/binning.py -> build/lib.macosx-11.1-arm64-cpython-310/KDEpy
      copying KDEpy/kernel_funcs.py -> build/lib.macosx-11.1-arm64-cpython-310/KDEpy
      copying KDEpy/__init__.py -> build/lib.macosx-11.1-arm64-cpython-310/KDEpy
      copying KDEpy/FFTKDE.py -> build/lib.macosx-11.1-arm64-cpython-310/KDEpy
      copying KDEpy/TreeKDE.py -> build/lib.macosx-11.1-arm64-cpython-310/KDEpy
      copying KDEpy/NaiveKDE.py -> build/lib.macosx-11.1-arm64-cpython-310/KDEpy
      copying KDEpy/BaseKDE.py -> build/lib.macosx-11.1-arm64-cpython-310/KDEpy
      copying KDEpy/bw_selection.py -> build/lib.macosx-11.1-arm64-cpython-310/KDEpy
      copying KDEpy/utils.py -> build/lib.macosx-11.1-arm64-cpython-310/KDEpy
      running build_ext
      skipping 'KDEpy/cutils.c' Cython extension (up-to-date)
      building 'cutils' extension
      creating build/temp.macosx-11.1-arm64-cpython-310
      creating build/temp.macosx-11.1-arm64-cpython-310/KDEpy
      clang -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O2 -Wall -fPIC -O2 -isystem /Users/pavlin/miniconda3/envs/ml/include -arch arm64 -fPIC -O2 -isystem /Users/pavlin/miniconda3/envs/ml/include -arch arm64 -I/Users/pavlin/miniconda3/envs/ml/lib/python3.10/site-packages/numpy/core/include -I/Users/pavlin/miniconda3/envs/ml/include/python3.10 -c KDEpy/cutils.c -o build/temp.macosx-11.1-arm64-cpython-310/KDEpy/cutils.o
      KDEpy/cutils.c:17398:5: error: expression is not assignable
          ++Py_REFCNT(o);
          ^ ~~~~~~~~~~~~
      KDEpy/cutils.c:17400:5: error: expression is not assignable
          --Py_REFCNT(o);
          ^ ~~~~~~~~~~~~
      KDEpy/cutils.c:17687:5: error: expression is not assignable
          ++Py_REFCNT(o);
          ^ ~~~~~~~~~~~~
      KDEpy/cutils.c:17689:5: error: expression is not assignable
          --Py_REFCNT(o);
          ^ ~~~~~~~~~~~~
      KDEpy/cutils.c:17926:5: error: expression is not assignable
          ++Py_REFCNT(o);
          ^ ~~~~~~~~~~~~
      KDEpy/cutils.c:17928:5: error: expression is not assignable
          --Py_REFCNT(o);
          ^ ~~~~~~~~~~~~
      KDEpy/cutils.c:18644:26: error: no member named 'tp_print' in 'struct _typeobject'
        __pyx_type___pyx_array.tp_print = 0;
        ~~~~~~~~~~~~~~~~~~~~~~ ^
      KDEpy/cutils.c:18649:32: error: no member named 'tp_print' in 'struct _typeobject'
        __pyx_type___pyx_MemviewEnum.tp_print = 0;
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^
      KDEpy/cutils.c:18664:31: error: no member named 'tp_print' in 'struct _typeobject'
        __pyx_type___pyx_memoryview.tp_print = 0;
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^
      KDEpy/cutils.c:18677:36: error: no member named 'tp_print' in 'struct _typeobject'
        __pyx_type___pyx_memoryviewslice.tp_print = 0;
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^
      KDEpy/cutils.c:19320:22: warning: '_PyUnicode_get_wstr_length' is deprecated [-Wdeprecated-declarations]
                          (PyUnicode_GET_SIZE(**name) != PyUnicode_GET_SIZE(key)) ? 1 :
                           ^
      /Users/pavlin/miniconda3/envs/ml/include/python3.10/cpython/unicodeobject.h:261:7: note: expanded from macro 'PyUnicode_GET_SIZE'
            PyUnicode_WSTR_LENGTH(op) :                    \
            ^
      /Users/pavlin/miniconda3/envs/ml/include/python3.10/cpython/unicodeobject.h:451:35: note: expanded from macro 'PyUnicode_WSTR_LENGTH'
      #define PyUnicode_WSTR_LENGTH(op) _PyUnicode_get_wstr_length((PyObject*)op)
                                        ^
      /Users/pavlin/miniconda3/envs/ml/include/python3.10/cpython/unicodeobject.h:445:1: note: '_PyUnicode_get_wstr_length' has been explicitly marked deprecated here
      Py_DEPRECATED(3.3)
      ^
      /Users/pavlin/miniconda3/envs/ml/include/python3.10/pyport.h:513:54: note: expanded from macro 'Py_DEPRECATED'
      #define Py_DEPRECATED(VERSION_UNUSED) __attribute__((__deprecated__))
                                                           ^
      KDEpy/cutils.c:19320:22: warning: 'PyUnicode_AsUnicode' is deprecated [-Wdeprecated-declarations]
                          (PyUnicode_GET_SIZE(**name) != PyUnicode_GET_SIZE(key)) ? 1 :
                           ^
      /Users/pavlin/miniconda3/envs/ml/include/python3.10/cpython/unicodeobject.h:262:14: note: expanded from macro 'PyUnicode_GET_SIZE'
            ((void)PyUnicode_AsUnicode(_PyObject_CAST(op)),\
                   ^
      /Users/pavlin/miniconda3/envs/ml/include/python3.10/cpython/unicodeobject.h:580:1: note: 'PyUnicode_AsUnicode' has been explicitly marked deprecated here
      Py_DEPRECATED(3.3) PyAPI_FUNC(Py_UNICODE *) PyUnicode_AsUnicode(
      ^
      /Users/pavlin/miniconda3/envs/ml/include/python3.10/pyport.h:513:54: note: expanded from macro 'Py_DEPRECATED'
      #define Py_DEPRECATED(VERSION_UNUSED) __attribute__((__deprecated__))
                                                           ^
      KDEpy/cutils.c:19320:22: warning: '_PyUnicode_get_wstr_length' is deprecated [-Wdeprecated-declarations]
                          (PyUnicode_GET_SIZE(**name) != PyUnicode_GET_SIZE(key)) ? 1 :
                           ^
      /Users/pavlin/miniconda3/envs/ml/include/python3.10/cpython/unicodeobject.h:264:8: note: expanded from macro 'PyUnicode_GET_SIZE'
             PyUnicode_WSTR_LENGTH(op)))
             ^
      /Users/pavlin/miniconda3/envs/ml/include/python3.10/cpython/unicodeobject.h:451:35: note: expanded from macro 'PyUnicode_WSTR_LENGTH'
      #define PyUnicode_WSTR_LENGTH(op) _PyUnicode_get_wstr_length((PyObject*)op)
                                        ^
      /Users/pavlin/miniconda3/envs/ml/include/python3.10/cpython/unicodeobject.h:445:1: note: '_PyUnicode_get_wstr_length' has been explicitly marked deprecated here
      Py_DEPRECATED(3.3)
      ^
      /Users/pavlin/miniconda3/envs/ml/include/python3.10/pyport.h:513:54: note: expanded from macro 'Py_DEPRECATED'
      #define Py_DEPRECATED(VERSION_UNUSED) __attribute__((__deprecated__))
                                                           ^
      KDEpy/cutils.c:19320:52: warning: '_PyUnicode_get_wstr_length' is deprecated [-Wdeprecated-declarations]
                          (PyUnicode_GET_SIZE(**name) != PyUnicode_GET_SIZE(key)) ? 1 :
                                                         ^
      /Users/pavlin/miniconda3/envs/ml/include/python3.10/cpython/unicodeobject.h:261:7: note: expanded from macro 'PyUnicode_GET_SIZE'
            PyUnicode_WSTR_LENGTH(op) :                    \
            ^
      /Users/pavlin/miniconda3/envs/ml/include/python3.10/cpython/unicodeobject.h:451:35: note: expanded from macro 'PyUnicode_WSTR_LENGTH'
      #define PyUnicode_WSTR_LENGTH(op) _PyUnicode_get_wstr_length((PyObject*)op)
                                        ^
      /Users/pavlin/miniconda3/envs/ml/include/python3.10/cpython/unicodeobject.h:445:1: note: '_PyUnicode_get_wstr_length' has been explicitly marked deprecated here
      Py_DEPRECATED(3.3)
      ^
      /Users/pavlin/miniconda3/envs/ml/include/python3.10/pyport.h:513:54: note: expanded from macro 'Py_DEPRECATED'
      #define Py_DEPRECATED(VERSION_UNUSED) __attribute__((__deprecated__))
                                                           ^
      KDEpy/cutils.c:19320:52: warning: 'PyUnicode_AsUnicode' is deprecated [-Wdeprecated-declarations]
                          (PyUnicode_GET_SIZE(**name) != PyUnicode_GET_SIZE(key)) ? 1 :
                                                         ^
      /Users/pavlin/miniconda3/envs/ml/include/python3.10/cpython/unicodeobject.h:262:14: note: expanded from macro 'PyUnicode_GET_SIZE'
            ((void)PyUnicode_AsUnicode(_PyObject_CAST(op)),\
                   ^
      /Users/pavlin/miniconda3/envs/ml/include/python3.10/cpython/unicodeobject.h:580:1: note: 'PyUnicode_AsUnicode' has been explicitly marked deprecated here
      Py_DEPRECATED(3.3) PyAPI_FUNC(Py_UNICODE *) PyUnicode_AsUnicode(
      ^
      /Users/pavlin/miniconda3/envs/ml/include/python3.10/pyport.h:513:54: note: expanded from macro 'Py_DEPRECATED'
      #define Py_DEPRECATED(VERSION_UNUSED) __attribute__((__deprecated__))
                                                           ^
      KDEpy/cutils.c:19320:52: warning: '_PyUnicode_get_wstr_length' is deprecated [-Wdeprecated-declarations]
                          (PyUnicode_GET_SIZE(**name) != PyUnicode_GET_SIZE(key)) ? 1 :
                                                         ^
      /Users/pavlin/miniconda3/envs/ml/include/python3.10/cpython/unicodeobject.h:264:8: note: expanded from macro 'PyUnicode_GET_SIZE'
             PyUnicode_WSTR_LENGTH(op)))
             ^
      /Users/pavlin/miniconda3/envs/ml/include/python3.10/cpython/unicodeobject.h:451:35: note: expanded from macro 'PyUnicode_WSTR_LENGTH'
      #define PyUnicode_WSTR_LENGTH(op) _PyUnicode_get_wstr_length((PyObject*)op)
                                        ^
      /Users/pavlin/miniconda3/envs/ml/include/python3.10/cpython/unicodeobject.h:445:1: note: '_PyUnicode_get_wstr_length' has been explicitly marked deprecated here
      Py_DEPRECATED(3.3)
      ^
      /Users/pavlin/miniconda3/envs/ml/include/python3.10/pyport.h:513:54: note: expanded from macro 'Py_DEPRECATED'
      #define Py_DEPRECATED(VERSION_UNUSED) __attribute__((__deprecated__))
                                                           ^
      KDEpy/cutils.c:19336:26: warning: '_PyUnicode_get_wstr_length' is deprecated [-Wdeprecated-declarations]
                              (PyUnicode_GET_SIZE(**argname) != PyUnicode_GET_SIZE(key)) ? 1 :
                               ^
      /Users/pavlin/miniconda3/envs/ml/include/python3.10/cpython/unicodeobject.h:261:7: note: expanded from macro 'PyUnicode_GET_SIZE'
            PyUnicode_WSTR_LENGTH(op) :                    \
            ^
      /Users/pavlin/miniconda3/envs/ml/include/python3.10/cpython/unicodeobject.h:451:35: note: expanded from macro 'PyUnicode_WSTR_LENGTH'
      #define PyUnicode_WSTR_LENGTH(op) _PyUnicode_get_wstr_length((PyObject*)op)
                                        ^
      /Users/pavlin/miniconda3/envs/ml/include/python3.10/cpython/unicodeobject.h:445:1: note: '_PyUnicode_get_wstr_length' has been explicitly marked deprecated here
      Py_DEPRECATED(3.3)
      ^
      /Users/pavlin/miniconda3/envs/ml/include/python3.10/pyport.h:513:54: note: expanded from macro 'Py_DEPRECATED'
      #define Py_DEPRECATED(VERSION_UNUSED) __attribute__((__deprecated__))
                                                           ^
      KDEpy/cutils.c:19336:26: warning: 'PyUnicode_AsUnicode' is deprecated [-Wdeprecated-declarations]
                              (PyUnicode_GET_SIZE(**argname) != PyUnicode_GET_SIZE(key)) ? 1 :
                               ^
      /Users/pavlin/miniconda3/envs/ml/include/python3.10/cpython/unicodeobject.h:262:14: note: expanded from macro 'PyUnicode_GET_SIZE'
            ((void)PyUnicode_AsUnicode(_PyObject_CAST(op)),\
                   ^
      /Users/pavlin/miniconda3/envs/ml/include/python3.10/cpython/unicodeobject.h:580:1: note: 'PyUnicode_AsUnicode' has been explicitly marked deprecated here
      Py_DEPRECATED(3.3) PyAPI_FUNC(Py_UNICODE *) PyUnicode_AsUnicode(
      ^
      /Users/pavlin/miniconda3/envs/ml/include/python3.10/pyport.h:513:54: note: expanded from macro 'Py_DEPRECATED'
      #define Py_DEPRECATED(VERSION_UNUSED) __attribute__((__deprecated__))
                                                           ^
      KDEpy/cutils.c:19336:26: warning: '_PyUnicode_get_wstr_length' is deprecated [-Wdeprecated-declarations]
                              (PyUnicode_GET_SIZE(**argname) != PyUnicode_GET_SIZE(key)) ? 1 :
                               ^
      /Users/pavlin/miniconda3/envs/ml/include/python3.10/cpython/unicodeobject.h:264:8: note: expanded from macro 'PyUnicode_GET_SIZE'
             PyUnicode_WSTR_LENGTH(op)))
             ^
      /Users/pavlin/miniconda3/envs/ml/include/python3.10/cpython/unicodeobject.h:451:35: note: expanded from macro 'PyUnicode_WSTR_LENGTH'
      #define PyUnicode_WSTR_LENGTH(op) _PyUnicode_get_wstr_length((PyObject*)op)
                                        ^
      /Users/pavlin/miniconda3/envs/ml/include/python3.10/cpython/unicodeobject.h:445:1: note: '_PyUnicode_get_wstr_length' has been explicitly marked deprecated here
      Py_DEPRECATED(3.3)
      ^
      /Users/pavlin/miniconda3/envs/ml/include/python3.10/pyport.h:513:54: note: expanded from macro 'Py_DEPRECATED'
      #define Py_DEPRECATED(VERSION_UNUSED) __attribute__((__deprecated__))
                                                           ^
      KDEpy/cutils.c:19336:59: warning: '_PyUnicode_get_wstr_length' is deprecated [-Wdeprecated-declarations]
                              (PyUnicode_GET_SIZE(**argname) != PyUnicode_GET_SIZE(key)) ? 1 :
                                                                ^
      /Users/pavlin/miniconda3/envs/ml/include/python3.10/cpython/unicodeobject.h:261:7: note: expanded from macro 'PyUnicode_GET_SIZE'
            PyUnicode_WSTR_LENGTH(op) :                    \
            ^
      /Users/pavlin/miniconda3/envs/ml/include/python3.10/cpython/unicodeobject.h:451:35: note: expanded from macro 'PyUnicode_WSTR_LENGTH'
      #define PyUnicode_WSTR_LENGTH(op) _PyUnicode_get_wstr_length((PyObject*)op)
                                        ^
      /Users/pavlin/miniconda3/envs/ml/include/python3.10/cpython/unicodeobject.h:445:1: note: '_PyUnicode_get_wstr_length' has been explicitly marked deprecated here
      Py_DEPRECATED(3.3)
      ^
      /Users/pavlin/miniconda3/envs/ml/include/python3.10/pyport.h:513:54: note: expanded from macro 'Py_DEPRECATED'
      #define Py_DEPRECATED(VERSION_UNUSED) __attribute__((__deprecated__))
                                                           ^
      KDEpy/cutils.c:19336:59: warning: 'PyUnicode_AsUnicode' is deprecated [-Wdeprecated-declarations]
                              (PyUnicode_GET_SIZE(**argname) != PyUnicode_GET_SIZE(key)) ? 1 :
                                                                ^
      /Users/pavlin/miniconda3/envs/ml/include/python3.10/cpython/unicodeobject.h:262:14: note: expanded from macro 'PyUnicode_GET_SIZE'
            ((void)PyUnicode_AsUnicode(_PyObject_CAST(op)),\
                   ^
      /Users/pavlin/miniconda3/envs/ml/include/python3.10/cpython/unicodeobject.h:580:1: note: 'PyUnicode_AsUnicode' has been explicitly marked deprecated here
      Py_DEPRECATED(3.3) PyAPI_FUNC(Py_UNICODE *) PyUnicode_AsUnicode(
      ^
      /Users/pavlin/miniconda3/envs/ml/include/python3.10/pyport.h:513:54: note: expanded from macro 'Py_DEPRECATED'
      #define Py_DEPRECATED(VERSION_UNUSED) __attribute__((__deprecated__))
                                                           ^
      KDEpy/cutils.c:19336:59: warning: '_PyUnicode_get_wstr_length' is deprecated [-Wdeprecated-declarations]
                              (PyUnicode_GET_SIZE(**argname) != PyUnicode_GET_SIZE(key)) ? 1 :
                                                                ^
      /Users/pavlin/miniconda3/envs/ml/include/python3.10/cpython/unicodeobject.h:264:8: note: expanded from macro 'PyUnicode_GET_SIZE'
             PyUnicode_WSTR_LENGTH(op)))
             ^
      /Users/pavlin/miniconda3/envs/ml/include/python3.10/cpython/unicodeobject.h:451:35: note: expanded from macro 'PyUnicode_WSTR_LENGTH'
      #define PyUnicode_WSTR_LENGTH(op) _PyUnicode_get_wstr_length((PyObject*)op)
                                        ^
      /Users/pavlin/miniconda3/envs/ml/include/python3.10/cpython/unicodeobject.h:445:1: note: '_PyUnicode_get_wstr_length' has been explicitly marked deprecated here
      Py_DEPRECATED(3.3)
      ^
      /Users/pavlin/miniconda3/envs/ml/include/python3.10/pyport.h:513:54: note: expanded from macro 'Py_DEPRECATED'
      #define Py_DEPRECATED(VERSION_UNUSED) __attribute__((__deprecated__))
                                                           ^
      KDEpy/cutils.c:20396:16: warning: 'PyUnicode_FromUnicode' is deprecated [-Wdeprecated-declarations]
              return PyUnicode_FromUnicode(NULL, 0);
                     ^
      /Users/pavlin/miniconda3/envs/ml/include/python3.10/cpython/unicodeobject.h:551:1: note: 'PyUnicode_FromUnicode' has been explicitly marked deprecated here
      Py_DEPRECATED(3.3) PyAPI_FUNC(PyObject*) PyUnicode_FromUnicode(
      ^
      /Users/pavlin/miniconda3/envs/ml/include/python3.10/pyport.h:513:54: note: expanded from macro 'Py_DEPRECATED'
      #define Py_DEPRECATED(VERSION_UNUSED) __attribute__((__deprecated__))
                                                           ^
      13 warnings and 10 errors generated.
      error: command '/usr/bin/clang' failed with exit code 1
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
error: legacy-install-failure

× Encountered error while trying to install package.
╰─> kdepy

note: This is an issue with the package mentioned above, not pip.
hint: See above for output from the failure.

pavlin-policar avatar Sep 30 '22 09:09 pavlin-policar

Seems like Gh actions don't support M1. I use cibuildwheel, and they also confirm that Cirrus CI is the first public CI platform that natively supports macOS Apple Silicon (so GH actions don't have M1 support). You're on your own basically. Try to use cibuildwheel like I do here to build a .whl file on your computer perhaps. I'll leave this issue open. When it's easy to build using Gh actions I will create or merge a PR so we can have M1 support, but I don't have the capacity to investigate other solutions to this problem in detail myself.

tommyod avatar Oct 02 '22 08:10 tommyod

I see. Hopefully, M1 support is added to GH actions soon. I was able to install the package locally by just cloning the repository and installing from source. I'm not sure why that worked as opposed to installing from sdist, but hey, it works now. I suppose that since I have cython installed in my environment, this may have re-cythonized the pyx files, but, skimming over the setup code, I can't really see how or why.

pavlin-policar avatar Oct 02 '22 08:10 pavlin-policar

@pavlin-policar Could you please share the steps you performed to install the package locally?

rohan097 avatar Nov 04 '22 01:11 rohan097

I've don't have the bash logs anymore, but it was probably something along the lines of

git clone [email protected]:tommyod/KDEpy.git
cd KDEpy
pip install .

Hope that helps!

pavlin-policar avatar Nov 04 '22 06:11 pavlin-policar

Thanks! I was able to get it installed.

rohan097 avatar Nov 04 '22 14:11 rohan097