Error while installing inside Termux (android)
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
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).