dog icon indicating copy to clipboard operation
dog copied to clipboard

version `GLIBC_2.32' not found (required by dog)

Open cb3inco opened this issue 5 years ago • 16 comments

If dog does something unexpected, or displays an error on the screen, or if it outright crashes, then please include the following information in your report:

  • The version of dog being used (dog --version) - v.0.1.0
  • The command-line arguments you are using - dog
  • Your operating system and hardware platform - Intel CPU, Ubuntu 20.04 (Pop_OS!)

If it’s a crash, please include the full text of the crash that gets printed to the screen. If you’re seeing unexpected behaviour, a screenshot of the issue will help a lot.

Placed the binary in /usr/local/bin and try to run dog or dog --version results in the following error:

user@laptop:~$ dog dog: /lib/x86_64-linux-gnu/libc.so.6: version GLIBC_2.32' not found (required by dog) user@laptop:~$ dog --version dog: /lib/x86_64-linux-gnu/libc.so.6: version GLIBC_2.32' not found (required by dog)

It appears that 20.04 LTS has 2.31 by default, where 20.10 has the 2.32. Is it not possible to run on Ubuntu without manually installing the newer packages?

cb3inco avatar Nov 12 '20 09:11 cb3inco

same

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

rmrf avatar Nov 13 '20 06:11 rmrf

Ubuntu 20.04 (Focal) has libc6 of version 2.31 by default, however dog which is available here was compiled against libc6 of version 2.32, and this version of libc6 will be available only in Ubuntu 20.10 (Groovy). It might be much easier to recompile it yourself for 20.04. Or you can take mine.

dog.zip

avoidik avatar Nov 13 '20 11:11 avoidik

It's the same on Debian.

Azlux@testdevice:~/bin$ sudo apt list libc6
Listing... Done
libc6/stable,now 2.28-10 amd64 [installed]

Azlux@testdevice:~/bin$ ./dog
./dog: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.32' not found (required by ./dog)

Azlux@testdevice:~/bin$

Is that possible to be glibc independent or to use a lower version for public release ?

azlux avatar Nov 19 '20 10:11 azlux

Seconded. Having a multitude of debian and ubuntu systems that still are actively supported (e.g. 16.04, 18.04 as LTS versions), using a library version that not even the current LTS can natively run is not a good idea.

Perhaps consider lowering the dependencies or building a statically linked version for linux x64 as servers never tend to run "in-between" or bleeding edge versions of OS'es ;)

JeGr avatar Nov 20 '20 16:11 JeGr

What about a musl build?

jc00ke avatar Nov 20 '20 17:11 jc00ke

I have a sidetrack mirror CI project where I've done a musl build, the pipeline is available on https://gitlab.com/mirrorbuilds/dog/-/pipelines

The CI config is also available on https://gitlab.com/mirrorbuilds/ci-configs/-/blob/master/dog/.gitlab-ci.yml

cc @jc00ke

linuxgemini avatar Nov 25 '20 10:11 linuxgemini

Same issue

patsevanton avatar Nov 27 '20 03:11 patsevanton

Ok, I've compiled myself and add everything into https://packages.azlux.fr/ It's an apt repository based on github release. Since the release don't have runnable binary, I've disabled the auto-update (I will do manually until @ogham fix the current issue, and maybe add arm build too (#33))

The build script is on the website. Autocompletion and manual are also installed automatically.

azlux avatar Dec 01 '20 16:12 azlux

No news about this issue ?

azlux avatar Mar 09 '21 15:03 azlux

This error is a side-effect of me building on one version of Linux, only testing on that same version of Linux, then (incorrectly!) assuming that it would work for slightly older versions too. This happened to me once before when exa accidentally required a library that I happened to have on my own machine — I didn't notice, but everyone else did!

I'll do my best to support more versions and architectures in the next release.

ogham avatar Mar 31 '21 22:03 ogham

May be build dog on old version glibc? Where build dog now?

patsevanton avatar Apr 01 '21 02:04 patsevanton

Everyone who is on Debian based distribution, you can adapt the Dockerfile found on master branch to build the executable from source and then copy in on your system. For instance :

FROM rust

WORKDIR /build
COPY /src /build/src
COPY /dns /build/dns
COPY /dns-transport /build/dns-transport
COPY /man /build/man
COPY build.rs Cargo.toml /build/

RUN cargo build --release

Then:

docker build -t dog .
docker run --rm -it -d --name dog dog:latest
docker cp dog:/build/target/release/dog ./
docker stop dog

Using rust:latest image, the produced executable works on Ubuntu 20.04, but you can take an older image like rust:stretch if it is not the case for you.

auktis avatar Aug 05 '21 12:08 auktis

You can also compile a static binary using musl libc. You just need to add the openssl dependency with the vendored features mentioned in the documentation.

I added to the root Cargo.toml the dependency : openssl = { version = "0.10", features = ["vendored"] }

And compiled using musl target : cargo build --target x86_64-unknown-linux-musl --release

cdemoulins avatar Jan 28 '22 09:01 cdemoulins

Same here with latest openSUSE 15.3:

./dog: /lib64/libc.so.6: version `GLIBC_2.32' not found (required by ./dog)

Latest glibc on latest openSUSE 15.3 is "only" 2.31… 😞

thomasmerz avatar Feb 09 '22 16:02 thomasmerz

Ok, I've compiled myself and add everything into https://packages.azlux.fr/ It's an apt repository based on github release. Since the release don't have runnable binary, I've disabled the auto-update (I will do manually until @ogham fix the current issue, and maybe add arm build too (#33))

The build script is on the website. Autocompletion and manual are also installed automatically.

The direct link to download is https://packages.azlux.fr/debian/pool/main/d/dog/

ayanamist avatar Feb 27 '22 07:02 ayanamist

@ayanamist , hm, no RPMs overthere… I'm currently fine with the docker-solution 👍🏻

thomasmerz avatar Mar 18 '22 09:03 thomasmerz