Make SI work on older glibc (or static link)
Closed this issue · 5 comments
What happened?
Current "si" is not compatible with Ubuntu 2.0.04 LTS. glibc in this Ubuntu is too old. Installation completed OK but "si" does not launch.
--- Installation of 'si' release 'bin/si/binary/20230819.004856.0-sha.ac833bf05' complete /home/gconnor/.local/bin/si: /lib/x86_64-linux-gnu/libc.so.6: version
GLIBC_2.32' not found (required by /home/gconnor/.local/bin/si)
/home/gconnor/.local/bin/si: /lib/x86_64-linux-gnu/libc.so.6: version GLIBC_2.33' not found (required by /home/gconnor/.local/bin/si) /home/gconnor/.local/bin/si: /lib/x86_64-linux-gnu/libc.so.6: version
GLIBC_2.34' not found (required by /home/gconnor/.local/bin/si)
!!! We're sorry, but it looks like something might have gone wrong during installation.
`
How can we reproduce this?
Used normal install curl method on Ubuntu 20.04
curl -sSfL https://auth.systeminit.com/install.sh | sh
Operating system
Linux
Architecture
x86_64 / amd64
What browsers are you seeing the problem on?
No response
Code of Conduct
- I agree to follow this project's Code of Conduct
Additional context
No response
You can upgrade your distribution if that's an option. That's what I did. If you need help just let me know and I can talk you through the commands.
I can confirm the issue on my WSL :
% si start
si: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.38' not found (required by si)
si: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.32' not found (required by si)
si: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.33' not found (required by si)
si: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.34' not found (required by si)
~
1 % cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=20.04
DISTRIB_CODENAME=focal
DISTRIB_DESCRIPTION="Ubuntu 20.04.6 LTS"
I upgraded ubuntu release but did not solve the problem yet (system is fully up to date)
~
125 % cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=22.04
DISTRIB_CODENAME=jammy
DISTRIB_DESCRIPTION="Ubuntu 22.04.3 LTS"
~
% si
si: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.38' not found (required by si)
finally I found workaround. It turns out that building and replacing GLIBC is not easy. Solution based on #PR2645 with small tweak - use arch becase they keep things up to date (watch out for --rm
flag):
docker run -it --rm --privileged -v /var/run/docker.sock:/var/run/docker.sock -v /root/.local/share/:/root/.local/share/ archlinux bash
pacman -Syu
curl -sSfL https://auth.systeminit.com/install.sh | sh
si start
Given that we no longer produce the si
binary, this issue can be closed.
We're looking into more ways for you to be able to use System Initiative, but for now, check out our README on how to get started.