Skip to content

Wrong blis version on Termux #924

@Manamama

Description

@Manamama

When installing spacy on Termux, the dependencies chain kept failing with your thinc.

When looking closer :

... 
Collecting blis<0.8.0,>=0.7.8 (from thinc<8.3.0,>=8.2.2)
  Downloading blis-0.7.11.tar.gz (2.9 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.9/2.9 MB 667.4 kB/s eta 0:00:00
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Installing backend dependencies ... done
  Preparing metadata (pyproject.toml) ... done
Requirement already satisfied: murmurhash<1.1.0,>=1.0.2 in /data/data/com.termux/files/usr/lib/python3.11/site-packages (from thinc<8.3.0,>=8.2.2) (1.0.10)
Requirement already satisfied: cymem<2.1.0,>=2.0.2 in /data/data/com.termux/files/usr/lib/python3.11/site-packages (from thinc<8.3.0,>=8.2.2) (2.0.8)
Requirement already satisfied: preshed<3.1.0,>=3.0.2 in /data/data/com.termux/files/usr/lib/python3.11/site-packages (from thinc<8.3.0,>=8.2.2) (3.0.9)
Requirement already satisfied: wasabi<1.2.0,>=0.8.1 in /data/data/com.termux/files/usr/lib/python3.11/site-packages (from thinc<8.3.0,>=8.2.2) (1.1.2)
Requirement already satisfied: srsly<3.0.0,>=2.4.0 in /data/data/com.termux/files/usr/lib/python3.11/site-packages (from thinc<8.3.0,>=8.2.2) (2.4.8)
Requirement already satisfied: catalogue<2.1.0,>=2.0.4 in /data/data/com.termux/files/usr/lib/python3.11/site-packages (from thinc<8.3.0,>=8.2.2) (2.0.10)
Requirement already satisfied: confection<1.0.0,>=0.0.1 in /data/data/com.termux/files/usr/lib/python3.11/site-packages (from thinc<8.3.0,>=8.2.2) (0.1.4)
Requirement already satisfied: setuptools in /data/data/com.termux/files/usr/lib/python3.11/site-packages (from thinc<8.3.0,>=8.2.2) (69.1.0)
Requirement already satisfied: pydantic!=1.8,!=1.8.1,<3.0.0,>=1.7.4 in /data/data/com.termux/files/usr/lib/python3.11/site-packages (from thinc<8.3.0,>=8.2.2) (2.6.1)
Requirement already satisfied: packaging>=20.0 in /data/data/com.termux/files/usr/lib/python3.11/site-packages (from thinc<8.3.0,>=8.2.2) (24.0)
Requirement already satisfied: numpy>=1.19.0 in /data/data/com.termux/files/usr/lib/python3.11/site-packages (from thinc<8.3.0,>=8.2.2) (1.26.4)
Requirement already satisfied: annotated-types>=0.4.0 in /data/data/com.termux/files/usr/lib/python3.11/site-packages (from pydantic!=1.8,!=1.8.1,<3.0.0,>=1.7.4->thinc<8.3.0,>=8.2.2) (0.5.0)
Requirement already satisfied: pydantic-core==2.16.2 in /data/data/com.termux/files/usr/lib/python3.11/site-packages (from pydantic!=1.8,!=1.8.1,<3.0.0,>=1.7.4->thinc<8.3.0,>=8.2.2) (2.16.2)
Requirement already satisfied: typing-extensions>=4.6.1 in /data/data/com.termux/files/usr/lib/python3.11/site-packages (from pydantic!=1.8,!=1.8.1,<3.0.0,>=1.7.4->thinc<8.3.0,>=8.2.2) (4.10.0)
Building wheels for collected packages: blis
  Building wheel for blis (pyproject.toml) ... error
  error: subprocess-exited-with-error
  
  × Building wheel for blis (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [107 lines of output]
... 
        File "/data/data/com.termux/files/usr/tmp/pip-build-env-e04p2970/overlay/lib/python3.11/site-packages/setuptools/command/build_ext.py", line 91, in run
          _build_ext.run(self)
        File "/data/data/com.termux/files/usr/tmp/pip-build-env-e04p2970/overlay/lib/python3.11/site-packages/Cython/Distutils/old_build_ext.py", line 186, in run
          _build_ext.build_ext.run(self)
        File "/data/data/com.termux/files/usr/tmp/pip-build-env-e04p2970/overlay/lib/python3.11/site-packages/setuptools/_distutils/command/build_ext.py", line 345, in run
          self.build_extensions()
        File "<string>", line 104, in build_extensions
        File "<string>", line 232, in compile_objects
        File "<string>", line 247, in build_object
        File "/data/data/com.termux/files/usr/lib/python3.11/subprocess.py", line 413, in check_call
          raise CalledProcessError(retcode, cmd)
      subprocess.CalledProcessError: Command '['clang', '-c', '/data/data/com.termux/files/usr/tmp/pip-install-y8rnef8j/blis_711203a8e9a447a2b9dcb45ec3fd79d7/blis/_src/kernels/armv8a/3/bli_gemm_armv8a_asm_d6x8.c', '-o', '/data/data/com.termux/files/usr/tmp/tmp741d3zs7/bli_gemm_armv8a_asm_d6x8.o', '-O3', '-ftree-vectorize', '-mtune=cortex-a57', '-march=armv8-a+fp+simd', '-mcpu=cortex-a57', '-fPIC', '-std=c99', '-D_GNU_SOURCE', '-D_POSIX_C_SOURCE=200112L', '-DBLIS_VERSION_STRING="0.7.0"', '-DBLIS_IS_BUILDING_LIBRARY', '-Iinclude/linux-cortexa57', '-I./frame/3/', '-I./frame/ind/ukernels/', '-I./frame/3/', '-I./frame/1m/', '-I./frame/1f/', '-I./frame/1/', '-I./frame/include', '-I/data/data/com.termux/files/usr/tmp/pip-install-y8rnef8j/blis_711203a8e9a447a2b9dcb45ec3fd79d7/blis/_src/include/linux-cortexa57']' returned non-zero exit status 1.
      [end of output]

i realzed that it is because of the too strict version of blis in your requirements.

This blis installs "natively" in Termux:

~/downloads/spaCy $ pip show blis
Name: blis
Version: 0.9.1
Summary: The Blis BLAS-like linear algebra library, as a self-contained C-extension.
Home-page: https://github.com/explosion/cython-blis
Author: Explosion
Author-email: contact@explosion.ai
License: BSD
Location: /data/data/com.termux/files/usr/lib/python3.11/site-packages
Requires: numpy
Required-by: thinc
~/downloads/spaCy $ 

Advice: be less restrictive in these.

Ref.

/downloads/spaCy $ termux-info

Termux Variables:
TERMUX_API_VERSION=0.50.1
TERMUX_APK_RELEASE=F_DROID
TERMUX_APP_PACKAGE_MANAGER=apt
TERMUX_APP_PID=19453
TERMUX_IS_DEBUGGABLE_BUILD=0
TERMUX_MAIN_PACKAGE_FORMAT=debian
TERMUX_VERSION=0.118.0
TERMUX__USER_ID=0
Packages CPU architecture:
aarch64
Subscribed repositories:

sources.list

deb https://mirror.sunred.org/termux/termux-main stable main

sources.list.d/x11.list

deb https://mirror.sunred.org/termux/termux-x11 x11 main

sources.list.d/tur.list

deb https://tur.kcubeterm.com tur-packages tur tur-on-device tur-continuous

sources.list.d/root.list

deb https://mirror.sunred.org/termux/termux-root root stable

sources.list.d/pointless.list

deb https://its-pointless.github.io/files/21 termux extras
Updatable packages:
All packages up to date
termux-tools version:
1.41.2
Android version:
11
Kernel build information:
Linux localhost 4.14.186+ #1 SMP PREEMPT Thu Mar 17 16:28:22 CST 2022 aarch64 Android
Device manufacturer:
realme
Device model:
RMX3085
LD Variables:
LD_LIBRARY_PATH=
LD_PRELOAD=/data/data/com.termux/files/usr/lib/libtermux-exec.so
Installed termux plugins:
com.termux.api versionCode:51
com.termux.x11 versionCode:14
com.termux.boot versionCode:7
com.termux.widget versionCode:13

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions