Repository: sharkdp/bat (language: rust)

Issue:
GLIBC 2.29 required by bat_0.20.0_amd64.deb
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 :)
GLIBC 2.29 required by bat_0.20.0_amd64.deb
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 :)


Discussion / hints:
Thank you for reporting this.

I would assume this is due to the Ubuntu 18.04 => 20.04 change (https://github.com/sharkdp/bat/commit/ecdb17148df60743460ecdb258d86c049f0c3667) 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).
HI. I have the same issue on ubuntu 18.04. Is it a supported platform?
> 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 :)
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](https://github.com/sharkdp/bat/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:

```zsh
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 
```
just use older version of bat;
if you system is ubuntu18, then use bat 0.18
Thank you for reporting this.

I would assume this is due to the Ubuntu 18.04 => 20.04 change (https://github.com/sharkdp/bat/commit/ecdb17148df60743460ecdb258d86c049f0c3667) 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).
HI. I have the same issue on ubuntu 18.04. Is it a supported platform?
> 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 :)
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](https://github.com/sharkdp/bat/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:

```zsh
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 
```
just use older version of bat;
if you system is ubuntu18, then use bat 0.18

Fix patch:
diff --git a/.github/workflows/CICD.yml b/.github/workflows/CICD.yml
index dc1fcbcbb0..dee474b20c 100644
--- a/.github/workflows/CICD.yml
+++ b/.github/workflows/CICD.yml
@@ -154,7 +154,7 @@ jobs:
           - { target: x86_64-apple-darwin         , os: macos-10.15                   }
           - { target: x86_64-pc-windows-gnu       , os: windows-2019                  }
           - { target: x86_64-pc-windows-msvc      , os: windows-2019                  }
-          - { target: x86_64-unknown-linux-gnu    , os: ubuntu-20.04                  }
+          - { target: x86_64-unknown-linux-gnu    , os: ubuntu-20.04, use-cross: true }
           - { target: x86_64-unknown-linux-musl   , os: ubuntu-20.04, use-cross: true }
     steps:
     - name: Checkout source code
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 2682d63871..302f16c16f 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -6,6 +6,8 @@
 
 ## Other
 
+- Relaxed glibc requirements on amd64, see #2106 and #2194 (@sharkdp)
+
 ## Syntaxes
 
 ## Themes


Test patch: