dnscontrol: Can't run the v3.27.2 release on Debian because of glibc issue

It seems that the version 3.27.2 dnscontrol requires a newer glibc-library than what seems to available on Debian.

Here is the error that I’m getting:

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

My system is up to date and seems to have version 2.31-13+deb11u5 of glibc installed.

Version 3.27.1 runs just fine so something has happened between these two releases.

About this issue

  • Original URL
  • State: closed
  • Created a year ago
  • Comments: 41 (19 by maintainers)

Most upvoted comments

@DavidZidar thanks for the testing! The next release should fix this.

Thanks for understanding. I’ll close the issue.

Re-opening.

Can confirm, binary from archive is working, from dnscontrol-Linux isn’t:

user$ ls -l dnscontrol*
-rwxr-xr-x 1 user group 33570816 Mar 24 16:12 dnscontrol
-rw-r--r-- 1 user group 33779712 Mar 24 17:00 dnscontrol-Linux

user$ ldd dnscontrol-Linux
./dnscontrol-Linux: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.32' not found (required by ./dnscontrol-Linux)
./dnscontrol-Linux: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.34' not found (required by ./dnscontrol-Linux)
        linux-vdso.so.1 (0x00007ffd0097d000)
        libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f81bd17e000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f81bd35d000)

user$ ldd dnscontrol
        not a dynamic executable

That worked better and it’s working perfectly in my Debian 11 install too. 😄

Glad to hear it! Thank you for your patience.

The comment before the one I linked is also interesting, it might actually link to the root cause of the issue. It seems they stopped shipping .a-files with Go in version 1.20 to make the Go distribution smaller which means that all of a sudden it matters what version of glibc is installed on the system doing the building. So the combination of Go 1.20 plus ubuntu-latest which is now Ubuntu 22.04 which contains newer versions of glibc makes it so that the binary no longer works on systems with older versions of glibc.

Setting CGO_ENABLED=0 to false should solve this, but I don’t know how large the binary will get.

Might be the same as this issue some people run into. https://github.com/golang/go/issues/58550

(sorry for the delayed reply. I’m traveling and have limited internet access)

I’m getting the same error.

I’ve set 3.27.1 as the “latest release” and marked 3.27.2 as a “pre-release”. Hopefully that will steer people away from the bad release until I can look into this further.

Tom

CC @cdhunt for visibility.