numba / numba/llvmlite

Feature request: run llvmlite on android

Open
#772 11 comments 0 reactions 0 assignees View on GitHub
question
Dominant language
Python
Stars
2.3k
Forks
373
Avg merge
3d 2h
Merged PRs (30d)
10

Description

When running ```pip3 install numba```
I get:
```
Requirement already satisfied: numpy<1.21,>=1.17 in /data/data/com.termux/files/usr/lib/python3.9/site-packages (from numba) (1.20.3) Requirement already satisfied: setuptools in /data/data/com.termux/files/usr/lib/python3.9/site-packages (from numba) (56.0.0) Using legacy 'setup.py install' for numba, since package 'wheel' is not installed. Using legacy 'setup.py install' for llvmlite, since package 'wheel' is not installed. Installing collected packages: llvmlite, numba Running setup.py install for llvmlite ... error ERROR: Command errored out with exit status 1: command: /data/data/com.termux/files/usr/bin/python3 -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/data/data/com.termux/files/usr/tmp/pip-install-68rfq9cy/llvmlite_0e6c1f574b22496692e567e14318404e/setup.py'"'"'; __file__='"'"'/data/data/com.termux/files/usr/tmp/pip-install-68rfq9cy/llvmlite_0e6c1f574b22496692e567e14318404e/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /data/data/com.termux/files/usr/tmp/pip-record-0oeyooa3/install-record.txt --single-version-externally-managed --compile --install-headers /data/data/com.termux/files/usr/include/python3.9/llvmlite cwd: /data/data/com.termux/files/usr/tmp/pip-install-68rfq9cy/llvmlite_0e6c1f574b22496692e567e14318404e/ Complete output (14 lines): running install running build got version from file /data/data/com.termux/files/usr/tmp/pip-install-68rfq9cy/llvmlite_0e6c1f574b22496692e567e14318404e/llvmlite/_version.py {'version': '0.37.0', 'full': 'd77dc1bcdb5af040c549f4d1ceeb4db7c8d08718'} running build_ext /data/data/com.termux/files/usr/bin/python3 /data/data/com.termux/files/usr/tmp/pip-install-68rfq9cy/llvmlite_0e6c1f574b22496692e567e14318404e/ffi/build.py LLVM version... Traceback (most recent call last): File "/data/data/com.termux/files/usr/tmp/pip-install-68rfq9cy/llvmlite_0e6c1f574b22496692e567e14318404e/ffi/build.py", line 220, in main() File "/data/data/com.termux/files/usr/tmp/pip-install-68rfq9cy/llvmlite_0e6c1f574b22496692e567e14318404e/ffi/build.py", line 210, in main main_posix('linux', '.so') File "/data/data/com.termux/files/usr/tmp/pip-install-68rfq9cy/llvmlite_0e6c1f574b22496692e567e14318404e/ffi/build.py", line 134, in main_posix raise RuntimeError(msg) from None RuntimeError: Could not find a `llvm-config` binary. There are a number of reasons this could occur, please see: https://llvmlite.readthedocs.io/en/latest/admin-guide/install.html#using-pip for help. error: command '/data/data/com.termux/files/usr/bin/python3' failed with exit code 1 ---------------------------------------- ERROR: Command errored out with exit status 1: /data/data/com.termux/files/usr/bin/python3 -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/data/data/com.termux/files/usr/tmp/pip-install-68rfq9cy/llvmlite_0e6c1f574b22496692e567e14318404e/setup.py'"'"'; __file__='"'"'/data/data/com.termux/files/usr/tmp/pip-install-68rfq9cy/llvmlite_0e6c1f574b22496692e567e14318404e/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /data/data/com.termux/files/usr/tmp/pip-record-0oeyooa3/install-record.txt --single-version-externally-managed --compile --install-headers /data/data/com.termux/files/usr/include/python3.9/llvmlite Check the logs for full command output.
```
I am using python 3.9.6 and I can't solve this

Contributor guide

No contributing guide indexed for this repository

Research direction

Reproduce `pip3 install numba` in the reported Termux Python 3.9 environment and start with llvmlite/ffi/build.py, where the failure reports that `llvm-config` cannot be found. Review the linked installation guidance and determine the Android build requirements; done means llvmlite installs successfully on Android and allows the requested numba installation to complete.

Written by the indexing model from the issue text.

Assessment

Tech stack
android, python
Domain
compilers, mobile-dev
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.