hush-shell / hush

Hush is a unix shell based on the Lua programming language
MIT License
658 stars 23 forks source link

The binary doesn't work on my machine #4

Closed lyderic closed 2 years ago

lyderic commented 2 years ago

Hello,

I downloaded the binary archive (hush-0.1.1-x86_64.tar.gz) and extracted it. When I try to run it, I get the following error:

$ hush
hush: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.33' not found (required by hush)
hush: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.32' not found (required by hush)
hush: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.34' not found (required by hush)

My system is as follows (basically a bare bones Ubuntu LTS 20.04):

$ uname -srvmpo
Linux 5.13.0-40-generic #45~20.04.1-Ubuntu SMP Mon Apr 4 09:38:31 UTC 2022 x86_64 x86_64 GNU/Linux
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 20.04.4 LTS
Release:        20.04
Codename:       focal
$ ldd --version
ldd (Ubuntu GLIBC 2.31-0ubuntu9.7) 2.31

It looks like my glibc is too old (2.31). Would it be possible to provide a more "universal" binary, that would work on any major LTS that is still supported?

Note: running the binary on an up to date Archlinux is no problem.

Many thanks for looking at it.

CompuRoot commented 2 years ago

Second on this, officially supported, most used in production debian/buster:

./hush: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.29' not found (required by ./hush)
./hush: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.33' not found (required by ./hush)
./hush: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.32' not found (required by ./hush)
./hush: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.34' not found (required by ./hush)
    linux-vdso.so.1 (0x00007ffd157cb000)
    libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f36ab853000)
    libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f36ab6d0000)
    libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f36ab510000)
    /lib64/ld-linux-x86-64.so.2 (0x00007f36aba25000)

Why not to compile it against musl (in Alpine Linux) and make it static, so it will be really useful across all Linuxes and as replacement for a shell - it wont hung a system on some update since it might be fully independent solution

gahag commented 2 years ago

I have just updated the latest release with a binary built using Debian Bullseye (docker). Let me know if it works for you.

Update: also added a static binary.

lyderic commented 2 years ago

Many thanks. I confirm both static and debian tar archives work on Ubuntu 20.04. I also tested the static binary on Alpine 3.15 : it works. It also work on Archlinux.

I intend to use the static binary only as it works on all the environments I use. To me, the debian binary provides no added value (it's not significantly smaller in size and I see no difference in loading time).

Congratulations on this very nice tool!

CompuRoot commented 2 years ago

Update: also added a static binary.

Thank you ! Now it works across all linuxes regardless of distro