Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

GLIBC 2.29 required by bat_0.20.0_amd64.deb #2106

Closed
l0f4r0 opened this issue Mar 2, 2022 · 11 comments · Fixed by #2194
Closed

GLIBC 2.29 required by bat_0.20.0_amd64.deb #2106

l0f4r0 opened this issue Mar 2, 2022 · 11 comments · Fixed by #2194
Labels
help wanted Extra attention is needed packaging/tooling

Comments

@l0f4r0
Copy link

l0f4r0 commented Mar 2, 2022

Hi,

I've just installed bat_0.20.0_amd64.deb successfully on my Debian 10.

However, I cannot run bat utility now as I get the following blocking error messages:

bat: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.29' not found (required by bat)
bat: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.29' not found (required by bat)

If I'm not wrong, I need package libc6-dev>=2.29 but in Debian 10 there is only 2.28.

  • Am I correct please?
  • Are the functionalities of GLIBC 2.29 essential to the program or could the latter be built with an older version?
  • Maybe dependencies could be explicitly specified somewhere in the GitHub, especially when a breaking upgrade is required?

NB: I've never experienced issues when installing and launching previous bat versions on my Debian 10.

Thanks in advance and keep the good work with this great utility :)

@sharkdp
Copy link
Owner

sharkdp commented Mar 6, 2022

Thank you for reporting this.

I would assume this is due to the Ubuntu 18.04 => 20.04 change (ecdb171) in our CI runners.

Are the functionalities of GLIBC 2.29 essential to the program or could the latter be built with an older version?

I'm pretty sure they are not. I would hope that we can fix this somehow. I had a similar problem in another project of mine which we actually solved by "cross"-compiling using https://github.com/cross-rs/cross, because their Docker images use quite old versions of libc (maybe on purpose?): 2.15 for x86_64-unknown-linux-gnu (https://github.com/cross-rs/cross#supported-targets)

In the meantime, you can always use the statically linked versions of bat (the *-musl versions).

@DrPyser
Copy link

DrPyser commented Mar 7, 2022

HI. I have the same issue on ubuntu 18.04. Is it a supported platform?

@l0f4r0
Copy link
Author

l0f4r0 commented Mar 8, 2022

In the meantime, you can always use the statically linked versions of bat (the *-musl versions).

Indeed, it works. Thanks for the workaround.

Do not hesitate to keep us informed with the cross-compiling solution even if it's not blocking anymore :)

@CouldBeThis
Copy link

Thanks for the workaround; had same problem. Will just add some clarifying info for others who stumble on this (probably obvious to many):

  • the staticlly-linked files mentioned above are available on the releases page
  • bat will install without the library, it just won't run, so it is required to first uninstall prior version if you got that far:
    • sudo dpkg -r bat for example, then install

or, download and install for amd64 (for example) with this:

curl -s https://api.github.com/repos/sharkdp/bat/releases/latest \
| grep "browser_download_url.*amd64.deb" \
| grep "bat-musl_" \
| cut -d : -f 2,3 \
| tr -d \" \
| wget -P "$TempFileDirectory" -qi - &&
 sudo dpkg -i bat-musl*_amd64.deb 

@pzh2386034
Copy link

just use older version of bat;
if you system is ubuntu18, then use bat 0.18

@Enselic Enselic added the help wanted Extra attention is needed label Mar 30, 2022
sharkdp added a commit that referenced this issue May 16, 2022
We do this in order to link against older versions of glibc.

closes #2106
sharkdp added a commit that referenced this issue May 16, 2022
We do this in order to link against older versions of glibc.

closes #2106
@eyal-engel-pan
Copy link

why did you close the issue?
I'm still having this problem as the merged code wasn't released yet,
couldn't find the issue bc it's marked 'closed'

@sharkdp
Copy link
Owner

sharkdp commented May 17, 2022

why did you close the issue?
I'm still having this problem as the merged code wasn't released yet,

We close tickets as soon as we merge the fix to master. This helps developers have a better overview of the current state of the repo. We have a user-facing CHANGELOG.md file where you can clearly see which feature/fix/change goes into what version of bat.

couldn't find the issue bc it's marked 'closed'

You can easily search for closed tickets: https://github.com/sharkdp/bat/search?q=GLIBC_2.29&type=issues

@SamuelMarks
Copy link

Would be great to get a release for old glibc versions. Here I'm using a standard Debian install provided officially by a proprietary cloud provider [Debian 10, Debian GLIBC 2.28-10+deb10u1].

@l0f4r0
Copy link
Author

l0f4r0 commented Sep 6, 2022

Would be great to get a release for old glibc versions. Here I'm using a standard Debian install provided officially by a proprietary cloud provider [Debian 10, Debian GLIBC 2.28-10+deb10u1].

Can't you install the bat -musl version?
See Comment 1060023043 above.

Otherwise, does your proprietary cloud company provide Debian 11? The latter runs GLIBC 2.31 and is not under LTS ;)

@sharkdp
Copy link
Owner

sharkdp commented Sep 6, 2022

Would be great to get a release for old glibc versions. Here I'm using a standard Debian install provided officially by a proprietary cloud provider [Debian 10, Debian GLIBC 2.28-10+deb10u1].

Done: https://github.com/sharkdp/bat/releases/tag/v0.22.0

@SamuelMarks
Copy link

Great, thanks

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted Extra attention is needed packaging/tooling
Projects
None yet
Development

Successfully merging a pull request may close this issue.

8 participants