systeminit/si

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

Workaround (and related talk) meanwhile in PR #2645

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.