mise icon indicating copy to clipboard operation
mise copied to clipboard

Error while installing inside Termux (android)

Open 80avin opened this issue 1 year ago • 1 comments

I tried installing inside Termux, the script completes but I'm not able to run mise

Getting following error

~ $ curl https://mise.run | MISE_DEBUG=1 sh
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  5897  100  5897    0     0   3383      0  0:00:01  0:00:01 --:--:--  3385
mise: installing mise...
> curl -#fLo /data/data/com.termux/files/usr/tmp/tmp.yZp8zhQJPQ/mise-v2024.4.8-linux-arm64.tar.gz https://github.com/jdx/mise/releases/download/v2024.4.8/mise-v2024.4.8-linux-arm64.tar.gz
######################################################################## 100.0%
mise-setup: tarball=/data/data/com.termux/files/usr/tmp/tmp.yZp8zhQJPQ/mise-v2024.4.8-linux-arm64.tar.gz
validating checksum
mise: installed successfully to /data/data/com.termux/files/home/.local/bin/mise
mise: run the following to activate mise in your shell:
echo "eval \"\$(/data/data/com.termux/files/home/.local/bin/mise activate bash)\"" >> ~/.bashrc

mise: this must be run in order to use mise in the terminal
mise: run `mise doctor` to verify this is setup correctly
~ $ ~/.local/bin/mise
bash: /data/data/com.termux/files/home/.local/bin/mise: cannot execute: required file not found

If I install using

curl https://mise.jdx.dev/mise-latest-linux-armv7 > ~/.local/bin/mise

I get following error on running mise

~ $ ~/.local/bin/mise
bash: /data/data/com.termux/files/home/.local/bin/mise: Bad address

System info

~ $ uname -a
Linux localhost 4.14.186-27095505 #1 SMP PREEMPT Fri Dec 29 13:19:18 KST 2023 aarch64 Android

80avin avatar Apr 27 '24 15:04 80avin

I was curious why it doesn't work, in my case the reason is

executable's TLS segment is underalignment: alignment is 16, needs to be at least 64 for ARM64 Bionic

In the next obvious thing to compile it by yourself one will face this issue

https://github.com/FillZpp/sys-info-rs/issues/116

Which is in turn used to detect Linux version here

https://github.com/jdx/mise/blob/b9bc7dfef5f804e5c6bb8bf474d857d74ee6eb92/src/env.rs#L368

If you'd comment out all the references to that cargo crate, you will be able to recompile it

After that, mise shell hook will be broken (easy to fix), and mise metadata server will be missing android catalog entirely (no way to fix it).

avoidik avatar Jul 21 '24 02:07 avoidik