droidrun icon indicating copy to clipboard operation
droidrun copied to clipboard

how to build the droidrun on the termux

Open l2002924700 opened this issue 4 months ago • 6 comments

Thank you for your great work. I want build the droidrun on the termux which runs on the android phone. My environments are as follows:

  • android phone
  • termux
  • python 3.12

First I git clone the code with command "git clone https://github.com/droidrun/droidrun.git" and then python -m env myenv, source myenv/bin/activate pip install -e . however I got the error as follows:

Preparing metadata (pyproject.toml) did not run successfully. │ exit code: 1 ╰─> [3 lines of output] Python reports SOABI: cpython-312 Unsupported platform: 312 Rust not found, installing into a temporary directory [end of output]
note: This error originates from a subprocess, and is likely not a problem with pip. error: metadata-generation-failed
× Encountered error while generating package metadata. ╰─> See above for output. note: This is an issue with the package mentioned above, not pip. hint: See above for details. [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.

how can i fix this issue? thank you in advanced

l2002924700 avatar Aug 22 '25 07:08 l2002924700

Currently not possible. There are some workarounds depending on what you are trying to achieve.

johnmalek312 avatar Aug 22 '25 07:08 johnmalek312

There are some workarounds depending on what you are trying to achieve.

However in this issue " https://github.com/droidrun/droidrun/issues/75#issue-3184099932",

the asker has said that he install droidrun in Termux on the Client device and the Client device is android.

So i think it can install droidrun in Termux

l2002924700 avatar Aug 22 '25 07:08 l2002924700

Thats actually dope. Thanks for pointing that out.

To address your error, I would try run this instead.

git clone and change directory to droidrun cd

pip install -U uv uv venv --python 3.13 source .venv/bin/activate uv pip install -e .

johnmalek312 avatar Aug 22 '25 08:08 johnmalek312

Thats actually dope. Thanks for pointing that out.

To address your error, I would try run this instead.

git clone and change directory to droidrun cd

pip install -U uv uv venv --python 3.13 source .venv/bin/activate uv pip install -e .

Thank you for ur kindly reply. I just tried as ur steps. The only difference is I use the uv venv --python 3.12. unfortunely, there are also errors:

Resolved 177 packages in 2.83s Building droidrun @ file:///data/data/com.termux/ Building cffi==1.17.1 Building regex==2025.7.34 Building tokenizers==0.21.4 Building safetensors==0.6.2 Building psutil==7.0.0 Building greenlet==3.2.4 Building hf-xet==1.1.8 Building jiter==0.10.0 × Failed to build tiktoken==0.11.0 ├─▶ The build backend returned an error ╰─▶ Call to setuptools.build_meta.build_wheel failed (exit status: 1) [stdout] running bdist_wheel running build running build_py creating build/lib.linux-aarch64-cpython-312/tiktoken copying tiktoken/init.py -> build/lib.linux-aarch64-cpython-312/tiktoken copying tiktoken/_educational.py -> build/lib.linux-aarch64-cpython-312/tiktoken copying tiktoken/core.py -> build/lib.linux-aarch64-cpython-312/tiktoken copying tiktoken/load.py -> build/lib.linux-aarch64-cpython-312/tiktoken copying tiktoken/model.py -> build/lib.linux-aarch64-cpython-312/tiktoken copying tiktoken/registry.py -> build/lib.linux-aarch64-cpython-312/tiktoken creating build/lib.linux-aarch64-cpython-312/tiktoken_ext copying tiktoken_ext/openai_public.py -> build/lib.linux-aarch64-cpython-312/tiktoken_ext running egg_info writing tiktoken.egg-info/PKG-INFO writing dependency_links to tiktoken.egg-info/dependency_links.txt writing requirements to tiktoken.egg-info/requires.txt writing top-level names to tiktoken.egg-info/top_level.txt reading manifest file 'tiktoken.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' adding license file 'LICENSE' writing manifest file 'tiktoken.egg-info/SOURCES.txt' copying tiktoken/py.typed -> build/lib.linux-aarch64-cpython-312/tiktoken running build_ext running build_rust
[stderr] /data/data/com.termux/files/home/.cache/uv/builds-v0/.tmpPcwXWK/lib/python3.12/site-packages/setuptools/config/_apply_pyprojecttoml.py:82: SetuptoolsDeprecationWarning: project.license as a TOML table is deprecated !!

  ********************************************************************************
          Please use a simple string
  containing a SPDX expression for
  `project.license`. You can also use
  `project.license-files`. (Both options available on setuptools>=77.0.0).

          By 2026-Feb-18, you need to update your project and remove
  deprecated calls or your builds will no longer be
  supported.

          See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license
  for details.

  ********************************************************************************
                                                  !!
    corresp(dist, value, root_dir) warning: no files found matching 'Makefile'
  error: can't find Rust compiler

  If you are using an outdated pip
  version, it is possible a prebuilt wheel is available for this package but pip is
  not able to install from it. Installing from the wheel would avoid the need for
  a Rust compiler.

  To update pip, run:

      pip install --upgrade pip

  and then retry package installation.      
  If you did intend to build this package
  from source, try installing a Rust compiler from your system package
  manager and ensure it is on the PATH
 [ during installation. Alternatively, rustup (available at https://rustup.rs) is the recommended way to download and](https://protect2.fireeye.com/v1/url?k=f2c9f3e8-ad52caf7-f2c878a7-000babdfecba-0bff1804db15f604&q=1&e=deb65fa0-e404-452b-9c9c-31764110bda6&u=https%3A%2F%2Frustup.rs%2F)
  update the Rust compiler toolchain.
                                                  hint: This usually indicates a
  problem with the package or the build
  environment. help: `tiktoken` (v0.11.0) was included
    because `droidrun` (v0.3.5) depends
    on `llama-index-llms-openai` (v0.4.7) which depends on `llama-index-core`
    (v0.12.52.post1) which depends on
    `tiktoken`

l2002924700 avatar Aug 22 '25 08:08 l2002924700

I modified my bashrc file to start termux with an options menu. Standard ui or directly to the gemini cli which i run directly in the home directory (despite the warnings which are dumb because it is the best thing to ever happen to my tmux env.).

Long story short, add shizuku to your termux and then the gemini cli and have gemini run the commands and diagnose / correct the errors as they occur. It's pretty useful for objectives like this. That's how i made it work for me. Non rooted moto g stylus 2023 4g.

longdonjohnson avatar Aug 23 '25 03:08 longdonjohnson

I modified my bashrc file to start termux with an options menu. Standard ui or directly to the gemini cli which i run directly in the home directory (despite the warnings which are dumb because it is the best thing to ever happen to my tmux env.).

Long story short, add shizuku to your termux and then the gemini cli and have gemini run the commands and diagnose / correct the errors as they occur. It's pretty useful for objectives like this. That's how i made it work for me. Non rooted moto g stylus 2023 4g.

In fact , My android phone has already been rooted.

l2002924700 avatar Aug 24 '25 08:08 l2002924700