GLIBC_2.28 not found
OS: Ubuntu 18.04.6 LTS Version: 1.11.0
I've had broot installed through https://packages.azlux.fr/ for a while now with no problems.
I updated yesterday from version 1.9.4 to 1.11.0, and now whenever I run broot I get the following error message:
broot: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.28' not found (required by broot)
Running ldd --version returns
ldd (Ubuntu GLIBC 2.27-3ubuntu1.5) 2.27
So the error doesn't seem erroneous.
I'm under the impression that glibc doesn't really get updated that often if at all for a distribution, and that I'm not supposed to try to update it.
Does this mean broot doesn't support Ubuntu 18.04 anymore? Or did I break something else?
Does this mean broot doesn't support Ubuntu 18.04 anymore? Or did I break something else?
No, it means I have to find why broot has such requirement and fix it.
In the meantime, can you please try the "linux" and "linux/musl" versions that you can download from https://dystroy.org/broot/install/ ?
The underlying problem is probably you use a broot which was compiled for a newer version of glibc. I'm looking for a way to compile for an old glibc on a recent install but it doesn't look easy.
An alternative would be to compile yourself with cargo install broot but the rust toolchain takes a lot of space on disk.
Thank you for the quick response.
In the meantime, can you please try the "linux" and "linux/musl" versions that you can download from https://dystroy.org/broot/install/ ?
The "Linux" binary gives the same error, but the "Linux/musl" binary seems to work just fine. This solves my problem of how to use broot, but I'm probably not the only one on an older system so it might still be worth it to look into the dependency change. Either way, feel free to close the issue.
The musl binary should be a little slower, so this isn't a perfect solution.
I'll still need to look for a solution to build for an older glibc, maybe using cargo cross, so I keep the issue open.
If you feel like trying, you could try compiling broot yourself: https://dystroy.org/broot/install/#from-source It would probably work (but I'd welcome confirmation)
I haven't used the rust development environment so I'll probably wait for the weekend to give it a shot and update then.
Hi Had the same error installing from packages. Using Elementary Hera 5.1.7 (Ubuntu 18.04 based) and cannot upgrade GLIBC Removed it and installed manually 1.9.4
@XenonSup @kabeza Could you please test the version at https://dystroy.org/broot/download/tests/ and confirm it works on your env ?
(warning: for tests only)
Sorry for the late update:
- Installing straight from Crates.io
cargo install brootresults in a working binary (ver 1.11.1) - Installing from source using the Rust toolchain results in a working binary (ver 1.11.1)
- 1.12.0-dev from https://dystroy.org/broot/download/tests/ works as well
Where 'working' means it doesn't throw the glibc error at startup.
Thanks for confirmation. I'm trying to setup a build chain with an old glibc and the right features (current problem is having the clipboard working with the old glibc ^^).
@XenonSup @kabeza Could you please test the version at https://dystroy.org/broot/download/tests/ and confirm it works on your env ?
(warning: for tests only)
Hi. Worked fine I guess. I removed old, downloaded and installed manually and did a clean --install

Reopening: will close after official 1.12 release
meet same situation. // it's fine on ubuntu20, ubuntu22.
A temporary workaround
as a temporary workaround, I have to copy some depends libs (from ubuntu 22) to ubuntu 18, it just work:
LD_LIBRARY_PATH=./libc.u22 ./libc.u22/ld-linux-x86-64.so.2 ./broot
I copied those .so
libc.u22/
├── ld-linux-x86-64.so.2
├── libc.so.6
├── libdl.so.2
├── libm.so.6
├── libpthread.so.0
└── librt.so.1
maybe provide other build?
I seen other rust project using static build with musl to avoid depends problem
https://github.com/vicanso/diving-rs/issues/3 https://github.com/vicanso/diving-rs/compare/v0.4.13...v0.4.15
Oh, sorry,
I noticed it already in broot_1.23.0.zip at x86_64-unknown-linux-musl/broot
// and that's why the .zip so big.