-
-
Notifications
You must be signed in to change notification settings - Fork 51
Description
Hi,
Trying to run latest bob 4.1.4 on debian 12 arm64 (which ships glibc 2.36) shows
$ ./bob
bob: /lib/aarch64-linux-gnu/libc.so.6: version `GLIBC_2.39' not found (required by bob)
The same with the AppImage that was added for #259
$ ./bob-linux-arm-appimage/bob-arm.AppImage
./bob-linux-arm-appimage/bob-arm.AppImage: /lib/aarch64-linux-gnu/libc.so.6: version `GLIBC_2.39' not found (required by ./bob-linux-arm-appimage/bob-arm.AppImage)
The app image doesn't help because it still ships the binary built on the ubuntu-latest (ubuntu 24) github runner image.
As the docs for AppImage say https://docs.appimage.org/reference/best-practices.html#binaries-compiled-on-old-enough-base-system
an older distro has to be used to build binary.
There are a few approaches how to handle this.
One simple approach would be to build against musl, rather than glibc, as described at https://kobzol.github.io/rust/ci/2021/05/07/building-rust-binaries-in-ci-that-work-with-older-glibc.html#removing-dependency-on-glibc
Another is to cross-build against a sysroot with an older glibc with something like https://github.com/cross-rs/cross
Would be great if bob could run on older distros version like Debian 11 / RHEL 8