Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

error whille building on M2 ARM Mac: expression is not assignable ++Py_REFCNT(o) #80

Open
DSLituiev opened this issue Oct 21, 2022 · 2 comments

Comments

@DSLituiev
Copy link

DSLituiev commented Oct 21, 2022

I am trying to install / build blis on Mac M2 and running into such an issue:

Compiler gcc
            building 'blis.cy' extension
            creating build/temp.macosx-10.9-x86_64-3.10
            creating build/temp.macosx-10.9-x86_64-3.10/blis
            clang -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O2 -Wall -fPIC -O2 -isystem /Users/dlituiev/opt/anaconda3/envs/spacy3/include -fPIC -O2 -isystem /Users/dlituiev/opt/anaconda3/envs/spacy3/include -I/private/var/folders/qz/tt8wl6hn2cs6rw77r5mcmll00000gp/T/pip-install-tqzt5dlh/blis_e4a4e54f5c374774981f6ecff79be5af/include -I/private/var/folders/qz/tt8wl6hn2cs6rw77r5mcmll00000gp/T/pip-install-tqzt5dlh/blis_e4a4e54f5c374774981f6ecff79be5af/blis/_src/include/darwin-x86_64 -I/Users/dlituiev/.virtualenvs/clinspacy/include -I/Users/dlituiev/opt/anaconda3/envs/spacy3/include/python3.10 -c blis/cy.c -o build/temp.macosx-10.9-x86_64-3.10/blis/cy.o -std=c99
[...]
           executed [-Wunreachable-code]
                  PyErr_SetNone(PyExc_AssertionError);
                  ^~~~~~~~~~~~~
            blis/cy.c:2626:7: warning: code will never be executed [-Wunreachable-code]
                  PyErr_SetNone(PyExc_AssertionError);
                  ^~~~~~~~~~~~~
            blis/cy.c:2642:7: warning: code will never be executed [-Wunreachable-code]
                  PyErr_SetNone(PyExc_AssertionError);
                  ^~~~~~~~~~~~~
            blis/cy.c:2658:7: warning: code will never be executed [-Wunreachable-code]
                  PyErr_SetNone(PyExc_AssertionError);
                  ^~~~~~~~~~~~~
            blis/cy.c:2674:7: warning: code will never be executed [-Wunreachable-code]
                  PyErr_SetNone(PyExc_AssertionError);
                  ^~~~~~~~~~~~~
            blis/cy.c:2690:7: warning: code will never be executed [-Wunreachable-code]
                  PyErr_SetNone(PyExc_AssertionError);
                  ^~~~~~~~~~~~~
            blis/cy.c:2706:7: warning: code will never be executed [-Wunreachable-code]
                  PyErr_SetNone(PyExc_AssertionError);
                  ^~~~~~~~~~~~~
            blis/cy.c:2722:7: warning: code will never be executed [-Wunreachable-code]
                  PyErr_SetNone(PyExc_AssertionError);
                  ^~~~~~~~~~~~~
            blis/cy.c:2738:7: warning: code will never be executed [-Wunreachable-code]
                  PyErr_SetNone(PyExc_AssertionError);
                  ^~~~~~~~~~~~~
            blis/cy.c:5816:3: warning: code will never be executed [-Wunreachable-code]
              goto __pyx_L0;
              ^~~~~~~~~~~~~
            blis/cy.c:5947:3: warning: code will never be executed [-Wunreachable-code]
              goto __pyx_L0;
              ^~~~~~~~~~~~~
            blis/cy.c:20514:5: error: expression is not assignable
                ++Py_REFCNT(o);
                ^ ~~~~~~~~~~~~
            blis/cy.c:20516:5: error: expression is not assignable
                --Py_REFCNT(o);
                ^ ~~~~~~~~~~~~
            blis/cy.c:20809:5: error: expression is not assignable
                ++Py_REFCNT(o);
                ^ ~~~~~~~~~~~~
            blis/cy.c:20811:5: error: expression is not assignable
                --Py_REFCNT(o);
                ^ ~~~~~~~~~~~~
            blis/cy.c:21051:5: error: expression is not assignable
                ++Py_REFCNT(o);
                ^ ~~~~~~~~~~~~
            blis/cy.c:21053:5: error: expression is not assignable
                --Py_REFCNT(o);
                ^ ~~~~~~~~~~~~
[...]

            blis/cy.c:24316:22: warning: '_PyUnicode_get_wstr_length' is deprecated [-Wdeprecated-declarations]
                                (PyUnicode_GET_SIZE(**name) != PyUnicode_GET_SIZE(key)) ? 1 :
                                 ^
            /Users/dlituiev/opt/anaconda3/envs/spacy3/include/python3.10/cpython/unicodeobject.h:261:7: note: expanded from macro 'PyUnicode_GET_SIZE'
                  PyUnicode_WSTR_LENGTH(op) :                    \
                  ^
            /Users/dlituiev/opt/anaconda3/envs/spacy3/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/dlituiev/opt/anaconda3/envs/spacy3/include/python3.10/cpython/unicodeobject.h:445:1: note: '_PyUnicode_get_wstr_length' has been explicitly marked deprecated here
            Py_DEPRECATED(3.3)
            ^
            /Users/dlituiev/opt/anaconda3/envs/spacy3/include/python3.10/pyport.h:513:54: note: expanded from macro 'Py_DEPRECATED'
            #define Py_DEPRECATED(VERSION_UNUSED) __attribute__((__deprecated__))
                                                                 ^
            blis/cy.c:24316:22: warning: 'PyUnicode_AsUnicode' is deprecated [-Wdeprecated-declarations]
                                (PyUnicode_GET_SIZE(**name) != PyUnicode_GET_SIZE(key)) ? 1 :
                                 ^
            /Users/dlituiev/opt/anaconda3/envs/spacy3/include/python3.10/cpython/unicodeobject.h:262:14: note: expanded from macro 'PyUnicode_GET_SIZE'
                  ((void)PyUnicode_AsUnicode(_PyObject_CAST(op)),\
                         ^
            /Users/dlituiev/opt/anaconda3/envs/spacy3/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/dlituiev/opt/anaconda3/envs/spacy3/include/python3.10/pyport.h:513:54: note: expanded from macro 'Py_DEPRECATED'
            #define Py_DEPRECATED(VERSION_UNUSED) __attribute__((__deprecated__))
                                                                 ^
            blis/cy.c:24316:22: warning: '_PyUnicode_get_wstr_length' is deprecated [-Wdeprecated-declarations]
                                (PyUnicode_GET_SIZE(**name) != PyUnicode_GET_SIZE(key)) ? 1 :
                                 ^
            /Users/dlituiev/opt/anaconda3/envs/spacy3/include/python3.10/cpython/unicodeobject.h:264:8: note: expanded from macro 'PyUnicode_GET_SIZE'
                   PyUnicode_WSTR_LENGTH(op)))
                   ^
            /Users/dlituiev/opt/anaconda3/envs/spacy3/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/dlituiev/opt/anaconda3/envs/spacy3/include/python3.10/cpython/unicodeobject.h:445:1: note: '_PyUnicode_get_wstr_length' has been explicitly marked deprecated here
            Py_DEPRECATED(3.3)
            ^
            /Users/dlituiev/opt/anaconda3/envs/spacy3/include/python3.10/pyport.h:513:54: note: expanded from macro 'Py_DEPRECATED'
            #define Py_DEPRECATED(VERSION_UNUSED) __attribute__((__deprecated__))
                                                                 ^
            blis/cy.c:24316:52: warning: '_PyUnicode_get_wstr_length' is deprecated [-Wdeprecated-declarations]
                                (PyUnicode_GET_SIZE(**name) != PyUnicode_GET_SIZE(key)) ? 1 :
                                                               ^
            /Users/dlituiev/opt/anaconda3/envs/spacy3/include/python3.10/cpython/unicodeobject.h:261:7: note: expanded from macro 'PyUnicode_GET_SIZE'
                  PyUnicode_WSTR_LENGTH(op) :                    \
                  ^
            /Users/dlituiev/opt/anaconda3/envs/spacy3/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/dlituiev/opt/anaconda3/envs/spacy3/include/python3.10/cpython/unicodeobject.h:445:1: note: '_PyUnicode_get_wstr_length' has been explicitly marked deprecated here
            Py_DEPRECATED(3.3)
            ^
            /Users/dlituiev/opt/anaconda3/envs/spacy3/include/python3.10/pyport.h:513:54: note: expanded from macro 'Py_DEPRECATED'
            #define Py_DEPRECATED(VERSION_UNUSED) __attribute__((__deprecated__))
                                                                 ^
            blis/cy.c:24316:52: warning: 'PyUnicode_AsUnicode' is deprecated [-Wdeprecated-declarations]
                                (PyUnicode_GET_SIZE(**name) != PyUnicode_GET_SIZE(key)) ? 1 :
                                                               ^
            /Users/dlituiev/opt/anaconda3/envs/spacy3/include/python3.10/cpython/unicodeobject.h:262:14: note: expanded from macro 'PyUnicode_GET_SIZE'
                  ((void)PyUnicode_AsUnicode(_PyObject_CAST(op)),\
                         ^
            /Users/dlituiev/opt/anaconda3/envs/spacy3/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/dlituiev/opt/anaconda3/envs/spacy3/include/python3.10/pyport.h:513:54: note: expanded from macro 'Py_DEPRECATED'
            #define Py_DEPRECATED(VERSION_UNUSED) __attribute__((__deprecated__))
                                                                 ^
            blis/cy.c:24316:52: warning: '_PyUnicode_get_wstr_length' is deprecated [-Wdeprecated-declarations]
                                (PyUnicode_GET_SIZE(**name) != PyUnicode_GET_SIZE(key)) ? 1 :
                                                               ^
            /Users/dlituiev/opt/anaconda3/envs/spacy3/include/python3.10/cpython/unicodeobject.h:264:8: note: expanded from macro 'PyUnicode_GET_SIZE'
                   PyUnicode_WSTR_LENGTH(op)))
                   ^
            /Users/dlituiev/opt/anaconda3/envs/spacy3/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/dlituiev/opt/anaconda3/envs/spacy3/include/python3.10/cpython/unicodeobject.h:445:1: note: '_PyUnicode_get_wstr_length' has been explicitly marked deprecated here
            Py_DEPRECATED(3.3)
            ^
            /Users/dlituiev/opt/anaconda3/envs/spacy3/include/python3.10/pyport.h:513:54: note: expanded from macro 'Py_DEPRECATED'
            #define Py_DEPRECATED(VERSION_UNUSED) __attribute__((__deprecated__))
                                                                 ^
            blis/cy.c:24332:26: warning: '_PyUnicode_get_wstr_length' is deprecated [-Wdeprecated-declarations]
                                    (PyUnicode_GET_SIZE(**argname) != PyUnicode_GET_SIZE(key)) ? 1 :
                                     ^
            /Users/dlituiev/opt/anaconda3/envs/spacy3/include/python3.10/cpython/unicodeobject.h:261:7: note: expanded from macro 'PyUnicode_GET_SIZE'
                  PyUnicode_WSTR_LENGTH(op) :                    \
                  ^
            /Users/dlituiev/opt/anaconda3/envs/spacy3/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/dlituiev/opt/anaconda3/envs/spacy3/include/python3.10/cpython/unicodeobject.h:445:1: note: '_PyUnicode_get_wstr_length' has been explicitly marked deprecated here
            Py_DEPRECATED(3.3)
            ^
            /Users/dlituiev/opt/anaconda3/envs/spacy3/include/python3.10/pyport.h:513:54: note: expanded from macro 'Py_DEPRECATED'
            #define Py_DEPRECATED(VERSION_UNUSED) __attribute__((__deprecated__))
                                                                 ^
            blis/cy.c:24332:26: warning: 'PyUnicode_AsUnicode' is deprecated [-Wdeprecated-declarations]
                                    (PyUnicode_GET_SIZE(**argname) != PyUnicode_GET_SIZE(key)) ? 1 :
                                     ^
            /Users/dlituiev/opt/anaconda3/envs/spacy3/include/python3.10/cpython/unicodeobject.h:262:14: note: expanded from macro 'PyUnicode_GET_SIZE'
                  ((void)PyUnicode_AsUnicode(_PyObject_CAST(op)),\
                         ^
            /Users/dlituiev/opt/anaconda3/envs/spacy3/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/dlituiev/opt/anaconda3/envs/spacy3/include/python3.10/pyport.h:513:54: note: expanded from macro 'Py_DEPRECATED'
            #define Py_DEPRECATED(VERSION_UNUSED) __attribute__((__deprecated__))
                                                                 ^
            blis/cy.c:24332:26: warning: '_PyUnicode_get_wstr_length' is deprecated [-Wdeprecated-declarations]
                                    (PyUnicode_GET_SIZE(**argname) != PyUnicode_GET_SIZE(key)) ? 1 :
                                     ^
            /Users/dlituiev/opt/anaconda3/envs/spacy3/include/python3.10/cpython/unicodeobject.h:264:8: note: expanded from macro 'PyUnicode_GET_SIZE'
                   PyUnicode_WSTR_LENGTH(op)))
                   ^
            /Users/dlituiev/opt/anaconda3/envs/spacy3/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/dlituiev/opt/anaconda3/envs/spacy3/include/python3.10/cpython/unicodeobject.h:445:1: note: '_PyUnicode_get_wstr_length' has been explicitly marked deprecated here
            Py_DEPRECATED(3.3)
            ^
            /Users/dlituiev/opt/anaconda3/envs/spacy3/include/python3.10/pyport.h:513:54: note: expanded from macro 'Py_DEPRECATED'
            #define Py_DEPRECATED(VERSION_UNUSED) __attribute__((__deprecated__))
                                                                 ^
            blis/cy.c:24332:59: warning: '_PyUnicode_get_wstr_length' is deprecated [-Wdeprecated-declarations]
                                    (PyUnicode_GET_SIZE(**argname) != PyUnicode_GET_SIZE(key)) ? 1 :
                                                                      ^
            /Users/dlituiev/opt/anaconda3/envs/spacy3/include/python3.10/cpython/unicodeobject.h:261:7: note: expanded from macro 'PyUnicode_GET_SIZE'
                  PyUnicode_WSTR_LENGTH(op) :                    \
                  ^
            /Users/dlituiev/opt/anaconda3/envs/spacy3/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/dlituiev/opt/anaconda3/envs/spacy3/include/python3.10/cpython/unicodeobject.h:445:1: note: '_PyUnicode_get_wstr_length' has been explicitly marked deprecated here
            Py_DEPRECATED(3.3)
            ^
            /Users/dlituiev/opt/anaconda3/envs/spacy3/include/python3.10/pyport.h:513:54: note: expanded from macro 'Py_DEPRECATED'
            #define Py_DEPRECATED(VERSION_UNUSED) __attribute__((__deprecated__))
                                                                 ^
            blis/cy.c:24332:59: warning: 'PyUnicode_AsUnicode' is deprecated [-Wdeprecated-declarations]
                                    (PyUnicode_GET_SIZE(**argname) != PyUnicode_GET_SIZE(key)) ? 1 :
                                                                      ^
            /Users/dlituiev/opt/anaconda3/envs/spacy3/include/python3.10/cpython/unicodeobject.h:262:14: note: expanded from macro 'PyUnicode_GET_SIZE'
                  ((void)PyUnicode_AsUnicode(_PyObject_CAST(op)),\
                         ^
            /Users/dlituiev/opt/anaconda3/envs/spacy3/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/dlituiev/opt/anaconda3/envs/spacy3/include/python3.10/pyport.h:513:54: note: expanded from macro 'Py_DEPRECATED'
            #define Py_DEPRECATED(VERSION_UNUSED) __attribute__((__deprecated__))
                                                                 ^
            blis/cy.c:24332:59: warning: '_PyUnicode_get_wstr_length' is deprecated [-Wdeprecated-declarations]
                                    (PyUnicode_GET_SIZE(**argname) != PyUnicode_GET_SIZE(key)) ? 1 :
                                                                      ^
            /Users/dlituiev/opt/anaconda3/envs/spacy3/include/python3.10/cpython/unicodeobject.h:264:8: note: expanded from macro 'PyUnicode_GET_SIZE'
                   PyUnicode_WSTR_LENGTH(op)))
                   ^
            /Users/dlituiev/opt/anaconda3/envs/spacy3/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/dlituiev/opt/anaconda3/envs/spacy3/include/python3.10/cpython/unicodeobject.h:445:1: note: '_PyUnicode_get_wstr_length' has been explicitly marked deprecated here
            Py_DEPRECATED(3.3)
            ^
            /Users/dlituiev/opt/anaconda3/envs/spacy3/include/python3.10/pyport.h:513:54: note: expanded from macro 'Py_DEPRECATED'
            #define Py_DEPRECATED(VERSION_UNUSED) __attribute__((__deprecated__))
                                                                 ^
            blis/cy.c:25165:16: warning: 'PyUnicode_FromUnicode' is deprecated [-Wdeprecated-declarations]
                    return PyUnicode_FromUnicode(NULL, 0);
                           ^
            /Users/dlituiev/opt/anaconda3/envs/spacy3/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/dlituiev/opt/anaconda3/envs/spacy3/include/python3.10/pyport.h:513:54: note: expanded from macro 'Py_DEPRECATED'
            #define Py_DEPRECATED(VERSION_UNUSED) __attribute__((__deprecated__))
                                                                 ^
            28 warnings and 6 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.
      ╰─> blis
      
      note: This is an issue with the package mentioned above, not pip.
      hint: See above for output from the failure.
      [end of output]
  
  note: This error originates from a subprocess, and is likely not a problem with pip.
error: subprocess-exited-with-error

× pip subprocess to install build dependencies did not run successfully.
│ exit code: 1
╰─> See above for output.
@DSLituiev DSLituiev changed the title error whille building on M1 ARM Mac: expression is not assignable ++Py_REFCNT(o) error whille building on M2 ARM Mac: expression is not assignable ++Py_REFCNT(o) Oct 21, 2022
@DSLituiev
Copy link
Author

DSLituiev commented Oct 21, 2022

The abovementioned installation was launched from R clinspacy package.

I now try to install / build it manually. Strangely, pip install blis runs w/o errors, but pip install spacy or pip install spacy --no-binary blis returns errors:

BLIS_ARCH="arm64" pip install spacy==2.3
or
BLIS_ARCH="arm64" pip install spacy==2.3 --no-binary blis

No such file or directory: '.../blis/_src/make/darwin-arm64.jsonl'
DEPRECATION: --no-binary currently disables reading from the cache of locally built wheels. In the future --no-binary will not influence the wheel cache. pip 23.1 will enforce this behaviour change. A possible replacement is to use the --no-cache-dir option. You can use the flag --use-feature=no-binary-enable-wheel-cache to test the upcoming behaviour. Discussion can be found at https://github.com/pypa/pip/issues/11453
Collecting spacy==2.3
  Using cached spacy-2.3.0.tar.gz (6.0 MB)
  Installing build dependencies ... error
  error: subprocess-exited-with-error

  × pip subprocess to install build dependencies did not run successfully.
  │ exit code: 1
  ╰─> [75 lines of output]
      DEPRECATION: --no-binary currently disables reading from the cache of locally built wheels. In the future --no-binary will not influence the wheel cache. pip 23.1 will enforce this behaviour change. A possible replacement is to use the --no-cache-dir option. You can use the flag --use-feature=no-binary-enable-wheel-cache to test the upcoming behaviour. Discussion can be found at https://github.com/pypa/pip/issues/11453
      Collecting setuptools
        Using cached setuptools-65.5.0-py3-none-any.whl (1.2 MB)
      Collecting wheel
        Using cached wheel-0.37.1-py2.py3-none-any.whl (35 kB)
      Collecting cython>=0.25
        Using cached Cython-0.29.32-py2.py3-none-any.whl (986 kB)
      Collecting cymem<2.1.0,>=2.0.2
        Using cached cymem-2.0.7-cp38-cp38-macosx_11_0_arm64.whl (31 kB)
      Collecting preshed<3.1.0,>=3.0.2
        Using cached preshed-3.0.8-cp38-cp38-macosx_11_0_arm64.whl (101 kB)
      Collecting murmurhash<1.1.0,>=0.28.0
        Using cached murmurhash-1.0.9-cp38-cp38-macosx_11_0_arm64.whl (19 kB)
      Collecting thinc==7.4.1
        Using cached thinc-7.4.1-cp38-cp38-macosx_11_0_arm64.whl
      Collecting tqdm<5.0.0,>=4.10.0
        Using cached tqdm-4.64.1-py2.py3-none-any.whl (78 kB)
      Collecting blis<0.5.0,>=0.4.0
        Using cached blis-0.4.1.tar.gz (1.8 MB)
        Preparing metadata (setup.py): started
        Preparing metadata (setup.py): finished with status 'done'
      Collecting numpy>=1.7.0
        Using cached numpy-1.23.4-cp38-cp38-macosx_11_0_arm64.whl (13.3 MB)
      Collecting wasabi<1.1.0,>=0.0.9
        Using cached wasabi-0.10.1-py3-none-any.whl (26 kB)
      Collecting plac<1.2.0,>=0.9.6
        Using cached plac-1.1.3-py2.py3-none-any.whl (20 kB)
      Collecting srsly<1.1.0,>=0.0.6
        Using cached srsly-1.0.6-cp38-cp38-macosx_11_0_arm64.whl (206 kB)
      Collecting catalogue<1.1.0,>=0.0.7
        Using cached catalogue-1.0.2-py2.py3-none-any.whl (16 kB)
      Installing collected packages: wasabi, plac, cymem, wheel, tqdm, srsly, setuptools, numpy, murmurhash, cython, catalogue, preshed, blis, thinc
        DEPRECATION: blis is being installed using the legacy 'setup.py install' method, because the '--no-binary' option was enabled for it and this currently disables local wheel building for projects that don't have a 'pyproject.toml' file. pip 23.1 will enforce this behaviour change. A possible replacement is to enable the '--use-pep517' option. Discussion can be found at https://github.com/pypa/pip/issues/11451
        Running setup.py install for blis: started
        Running setup.py install for blis: finished with status 'error'
        error: subprocess-exited-with-error

        × Running setup.py install for blis did not run successfully.
        │ exit code: 1
        ╰─> [25 lines of output]
            BLIS_COMPILER? None
            running install
            /Users/dlituiev/Library/r-miniconda-arm64/envs/clinspacy/lib/python3.8/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.0-arm64-cpython-38
            creating build/lib.macosx-11.0-arm64-cpython-38/blis
            copying blis/benchmark.py -> build/lib.macosx-11.0-arm64-cpython-38/blis
            copying blis/__init__.py -> build/lib.macosx-11.0-arm64-cpython-38/blis
            copying blis/about.py -> build/lib.macosx-11.0-arm64-cpython-38/blis
            creating build/lib.macosx-11.0-arm64-cpython-38/blis/tests
            copying blis/tests/__init__.py -> build/lib.macosx-11.0-arm64-cpython-38/blis/tests
            copying blis/tests/test_dotv.py -> build/lib.macosx-11.0-arm64-cpython-38/blis/tests
            copying blis/tests/test_gemm.py -> build/lib.macosx-11.0-arm64-cpython-38/blis/tests
            copying blis/tests/common.py -> build/lib.macosx-11.0-arm64-cpython-38/blis/tests
            copying blis/cy.pyx -> build/lib.macosx-11.0-arm64-cpython-38/blis
            copying blis/py.pyx -> build/lib.macosx-11.0-arm64-cpython-38/blis
            copying blis/__init__.pxd -> build/lib.macosx-11.0-arm64-cpython-38/blis
            copying blis/cy.pxd -> build/lib.macosx-11.0-arm64-cpython-38/blis
            running build_ext
            unix
            py_compiler gcc
            error: [Errno 2] No such file or directory: '/private/var/folders/qz/tt8wl6hn2cs6rw77r5mcmll00000gp/T/pip-install-617je19m/blis_2a2c0b6972204108a3a7b5a1a8ab7f6d/blis/_src/make/darwin-arm64.jsonl'
            [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.
      ╰─> blis

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

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

× pip subprocess to install build dependencies did not run successfully.
│ exit code: 1
╰─> See above for output.

note: This error originates from a subprocess, and is likely not a problem with pip

Similarly with BLIS_ARCH="generic":

No such file or directory: .../blis/_src/make/darwin-generic.jsonl

@adrianeboyd
Copy link
Collaborator

If you want to use spacy v2, please try using 'spacy~=2.3.0' instead, which will install the latest version of v2.3.x, which should have binary wheels for osx arm64 (and should also compile from source correctly).

blis v0.7.x uses the generic arch for M1/M2 and will be very slow. For spacy v3 you should install spacy with 'spacy[apple]' to install thinc-apple-ops, which uses apple's Accelerate library instead of blis. There's no equivalent package for spacy v2, though.

There's no arm64 architecture for blis. You should be able to rely on the autodetection for newer releases, but you can see the supported architectures here: https://github.com/explosion/cython-blis/tree/v0.7.x/blis/_src/make . blis v0.9.x supports firestorm, but there are bugs in some kernels that are preventing us from using it generally for spacy yet.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants