mise icon indicating copy to clipboard operation
mise copied to clipboard

Problems installing with `curl https://mise.run | sh` on an `raspberry pi 3 model b+`.

Open dominik-schwabe opened this issue 9 months ago • 3 comments

Describe the bug

Installing mise with curl https://mise.run | sh and running it with any command gives the following error:

mise --version
# bash: /home/pi/.local/bin/mise: cannot execute: required file not found

To Reproduce

Have a Raspberry Pi 3 Model B+ and install archlinuxarm on it (http://os.archlinuxarm.org/os/ArchLinuxARM-rpi-armv7-latest.tar.gz).

Expected behavior

mise --version should output its version.

mise doctor output

Not possible

Additional context

uname -a
# Linux pipi 6.6.28-2-rpi #1 SMP Fri Apr 19 12:18:22 MDT 2024 armv7l GNU/Linux
curl https://mise.run | MISE_DEBUG=true sh
# mise: installing mise...
# > curl -#fLo /tmp/tmp.5hD9ZrH6FQ/mise-v2024.5.2-linux-armv7.tar.gz https://github.com/jdx/mise/releases/download/v2024.5.2/mise-v2024.5.2-linux-armv7.tar.gz
# ######################################################################## 100.0%
# mise-setup: tarball=/tmp/tmp.5hD9ZrH6FQ/mise-v2024.5.2-linux-armv7.tar.gz
# validating checksum
# mise: installed successfully to /home/pi/.local/bin/mise
# mise: run the following to activate mise in your shell:
# echo "eval \"\$(/home/pi/.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
ls -al $HOME/.local/bin/mise
# -rwxr-xr-x 1 pi pi 20443788 May  2 04:07 .local/bin/mise
ldd /bin/ls
#       linux-vdso.so.1 (0xbef84000)
#       libcap.so.2 => /usr/lib/libcap.so.2 (0xb6f40000)
#       libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0xb6f10000)
#       libc.so.6 => /usr/lib/libc.so.6 (0xb6d70000)
#       /lib/ld-linux-armhf.so.3 => /usr/lib/ld-linux-armhf.so.3 (0xb6f99000)

Output of all latests mise builds:

/home/pi/mise_installs/mise-v2024.5.2-linux-arm64 --version
# bash: /home/pi/mise_installs/mise-v2024.5.2-linux-arm64: cannot execute binary file: Exec format error
/home/pi/mise_installs/mise-v2024.5.2-linux-arm64-musl --version
# bash: /home/pi/mise_installs/mise-v2024.5.2-linux-arm64-musl: cannot execute binary file: Exec format error
/home/pi/mise_installs/mise-v2024.5.2-linux-armv6 --version
# bash: /home/pi/mise_installs/mise-v2024.5.2-linux-armv6: cannot execute: required file not found
/home/pi/mise_installs/mise-v2024.5.2-linux-armv6-musl --version
# mise 2024.5.2 linux-arm (2576af6 2024-05-02)
/home/pi/mise_installs/mise-v2024.5.2-linux-armv7 --version
# bash: /home/pi/mise_installs/mise-v2024.5.2-linux-armv7: cannot execute: required file not found
/home/pi/mise_installs/mise-v2024.5.2-linux-armv7-musl --version
# mise 2024.5.2 linux-arm (2576af6 2024-05-02)
/home/pi/mise_installs/mise-v2024.5.2-linux-x64 --version
# bash: /home/pi/mise_installs/mise-v2024.5.2-linux-x64: cannot execute binary file: Exec format error
/home/pi/mise_installs/mise-v2024.5.2-linux-x64-musl --version
# bash: /home/pi/mise_installs/mise-v2024.5.2-linux-x64-musl: cannot execute binary file: Exec format error
/home/pi/mise_installs/mise-v2024.5.2-macos-arm64 --version
# bash: /home/pi/mise_installs/mise-v2024.5.2-macos-arm64: cannot execute binary file: Exec format error
/home/pi/mise_installs/mise-v2024.5.2-macos-x64 --version
# bash: /home/pi/mise_installs/mise-v2024.5.2-macos-x64: cannot execute binary file: Exec format error

dominik-schwabe avatar May 06 '24 16:05 dominik-schwabe

Which kernel/distro you have ? Bookwork throw a Floating point exception

seuros avatar May 08 '24 12:05 seuros

Archlinuxarm (http://os.archlinuxarm.org/os/ArchLinuxARM-rpi-armv7-latest.tar.gz) with the core/linux-rpi kernel (https://github.com/raspberrypi/linux)

dominik-schwabe avatar May 08 '24 13:05 dominik-schwabe

the mise should be linked to /home/pi/mise_installs/mise-v2024.5.2-linux-armv7-musl

seuros avatar May 08 '24 15:05 seuros

I assume the condition for libc does not match in this case, not setting the -musl suffix.

roele avatar May 20 '24 07:05 roele

what's the output of these?

getconf GNU_LIBC_VERSION
ldd --version

jdx avatar May 20 '24 12:05 jdx

getconf GNU_LIBC_VERSION
# glibc 2.35
ldd --version
# ldd (GNU libc) 2.35
# Copyright (C) 2022 Free Software Foundation, Inc.
# This is free software; see the source for copying conditions.  There is NO
# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
# Written by Roland McGrath and Ulrich Drepper.

dominik-schwabe avatar May 20 '24 12:05 dominik-schwabe

everything seems to be saying libc ¯\_(ツ)_/¯

is the issue the glibc version maybe? or maybe we should just use musl by default

jdx avatar May 20 '24 13:05 jdx

I updated the system and now glibc is the latest version but this did not fix the issue.

getconf GNU_LIBC_VERSION
# glibc 2.39
ldd --version
# ldd (GNU libc) 2.39
# Copyright (C) 2024 Free Software Foundation, Inc.
# This is free software; see the source for copying conditions.  There is NO
# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
# Written by Roland McGrath and Ulrich Drepper.

I also searched for some rust applications on https://github.com/rust-unofficial/awesome-rust that use a similar installation script and tried to install them. Maybe this can help you in deciding what to do.

doesn't have precompiled binaries for armv7:

  • https://github.com/bytecodealliance/wasmtime
  • https://github.com/datanymizer/datanymizer
  • https://github.com/dotenv-linter/dotenv-linter
  • https://github.com/casey/just
  • https://github.com/metalbear-co/mirrord
  • https://github.com/wasmerio/wasmer

installs wrong binary:

  • https://github.com/denoland/deno

installs working binary:

  • https://github.com/ducaale/xh Detected target: arm-unknown-linux-gnueabihf
  • https://github.com/ajeetdsouza/zoxide Detected architecture: armv7-unknown-linux-musleabihf

dominik-schwabe avatar May 21 '24 11:05 dominik-schwabe