You don't have a high enough version of libc6, that is causing the error.

From How to fix “/lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.14' not found”? – Super User:

That means the program was compiled against glibc version 2.14, and it requires that version to run, but your system has an older version installed. You'll need to either recompile the program against the version of glibc that's on your system, or install a newer version of glibc (the "libc6" package in Debian).

So, you just need to upgrade your libc6 package. All versions of Ubuntu have at least version 2.15 because it's a faily important package (reference).

To upgrade it, use these commands in a terminal:

sudo apt-get update
sudo apt-get install libc6
Answer from kiri on askubuntu.com
Top answer
1 of 1
2

I am trying to run a really old application that was compiled on the 2.6.24 kernel.

The kernel version is irrelevant.

Your application was compiled on a system using GLIBC-2.14 (or newer), so it's not that old (GLIBC-2.14 was released on 2011-06-01).

./deskewDeslant: /lib/libc.so.6: version 'GLIBC_2.14' not found (required by ./deskewDeslant)

The error above means that your current GLIBC is too old.

./deskewDeslant: /usr/lib/libstdc++.so.6: version 'GLIBCXX_3.4.15' not found (required by ./deskewDeslant)

The error above means that your libstdc++.so is also too old.

I am currently using libc version 2.7. How do I downgrade the version to 2.14 ?

You believe that version 2.7 is newer than version 2.14, but the inverse is true. You need to upgrade your GLIBC from 2.7 to 2.14 (or newer).

In general, a given OS distribution will never upgrade GLIBC from the one it originally shipped with (the risk of breaking older applications is deemed too high). This is why your apt-get install libc6 does nothing.

Therefore, your choices are:

  1. upgrade the entire distribution, or
  2. obtain a binary compiled for your (old) distro, or
  3. install a newer version of GLIBC, or
  4. install a newer version of GLIBC in non-default location.

Option #2 is the simplest.

Option #1 may be the best (you would get security fixes, and other applications you download will work out of the box).

Option #3 is very risky: in addition to potentially breaking existing applications in subtle ways, upgrading system libc is the easiest way to render your system unbootable if you make a mistake in the update process.

Option #4 is quite involved technically. You can find more details here.

Top answer
1 of 3
65

That means the program was compiled against glibc version 2.14, and it requires that version to run, but your system has an older version installed. You'll need to either recompile the program against the version of glibc that's on your system, or install a newer version of glibc (the "libc6" package in Debian).

Debian has glibc 2.16 in the "experimental" repository, but recompiling the program is the safer option. Glibc is the library that everything depends on, so upgrading it can have far-reaching implications. Although there's probably nothing wrong with Debian's glibc 2.16 package, the fact that it's in the experimental repository means it hasn't received as much testing.

2 of 3
28

I have posted my solution here, repost it for reference.

In my situation, the error appears when I try to run an application (compiled on Ubuntu 12.04 LTS) using GLIBC_2.14 on Debian Wheezy (which installs glibc 2.13 by default).

I use a tricky way to run it, and get correct result:

  1. Download libc6 and libc6-dev from Ubuntu 12.04 LTS

  2. Run dpkg command to install them into a directory (/home/user/fakeroot/ for example):

    $ dpkg -x libc6-dev_2.15-0ubuntu10.6_amd64.deb /home/user/fakeroot/
    $ dpkg -x libc6_2.15-0ubuntu10.6_amd64.deb /home/user/fakeroot/
    
  3. Run your command with specified LD_LIBRARY_PATH:

    $ LD_LIBRARY_PATH=/home/user/fakeroot/lib/x86_64-linux-gnu/ YOUR_COMMAND
    
  4. My application only uses memcpy() from GLIBC_2.14, and it works.

I don't know whether it will work successfully for other applications. Wish it helpful.

🌐
Quora
quora.com › How-do-you-resolve-lib-libc-so-6-version-glibc_2-14-not-found-on-a-Ubuntu-machine-server-glibc-Linux
How to resolve '/lib/libc.so.6: version `glibc_2.14'' not found on a Ubuntu machine (server, glibc, Linux) - Quora
Answer: The issue is that the executable or share library (.so file) was either compiled on a newer distribution of Ubuntu or a much older distribution of Ubuntu. Where I work, we compile our sofrware on Ubuntu 16.04.7 so that it can be run on Ubuntu 16, 18, 20. All user-space software built fo...
🌐
DigitalOcean
digitalocean.com › community › questions › how-install-glibc-2-29-or-higher-in-ubuntu-18-04
How install GLIBC 2.29 or higher in Ubuntu 18.04 | DigitalOcean
June 6, 2020 - The first option is to migrate your application to a system that supports GLIBC higher than or equal to 2.29. This would mean a lot of work though. It seems Ubuntu 19.04 actually uses that version.
🌐
Ubuntu
packages.ubuntu.com › search
Ubuntu – Package Search Results -- glibc
resolute (devel): GNU C Library: sources [universe] 2.42-2ubuntu5: all · jammy (22.04LTS) (utils): Tools and libraries that used to be part of glibc [universe] 0.0~git3.23fd2b9-0ubuntu1: amd64 arm64 armhf i386 ppc64el riscv64 s390x
🌐
Ask Ubuntu
askubuntu.com › questions › 440529 › how-to-install-glibc-2-12-or-2-14-on-ubuntu-12-04
java - How to install glibc 2.12 or 2.14 on Ubuntu 12.04? - Ask Ubuntu
I am making a JNI call to a C++ library and it is compiled in glibc v2.12 or v2.14, but Ubuntu 12.04 has glibc 2.15. Whenever I make a call to the C++ library I get the error glibc 2.14 not found...
🌐
Ubuntu
launchpad.net › ubuntu › focal › +source › glibc
Focal (20.04) : glibc package : Ubuntu
2.31-0ubuntu9.14 · 2.31-0ubuntu9.15 · 2.31-0ubuntu9.15 · 2.31-0ubuntu9.16 · 2.31-0ubuntu9.16 · 2.31-0ubuntu9.17 · 2.31-0ubuntu9.17 · 2.31-0ubuntu9.18 · 2.31-0ubuntu9.18 · Show builds · glibc-doc (amd64) (arm64) (armhf) (i386) (ppc64el) (riscv64) (s390x) glibc-source (amd64) (arm64) (armhf) (i386) (ppc64el) (riscv64) (s390x) libc-bin (amd64) (arm64) (armhf) (i386) (ppc64el) (riscv64) (s390x) libc-bin-dbgsym (amd64) (arm64) (armhf) (i386) (ppc64el) (riscv64) (s390x) libc-dev-bin (amd64) (arm64) (armhf) (i386) (ppc64el) (riscv64) (s390x) libc-dev-bin-dbgsym (amd64) (arm64) (armhf) (i386
Find elsewhere
🌐
Launchpad
launchpad.net › glibc › +packages
Linked packages : GLibC
It is used by almost all C programs and provides the most essential program interface to operating system services.
🌐
Ubuntu Packages
ubuntu.pkgs.org › 20.04 › ubuntu-main-amd64 › glibc-doc_2.31-0ubuntu9_all.deb.html
glibc-doc_2.31-0ubuntu9_all.deb Ubuntu 20.04 LTS Download
2020-04-14 - Balint Reczey <rbalint@ubuntu.com> glibc (2.31-0ubuntu9) focal; urgency=medium * Ship arm64 variant with LSE support in libc6-lse * debian/testsuite-xfail-debian.mk: Mark as XFAIL malloc/tst-mxfast and nptl/tst-mutex10 to fix riscv64 FTBFS.
🌐
GitHub
gist.github.com › wagenet › 35adca1a032cec2999d47b6c40aa45b1
glibc Versions - Gist - GitHub
If CentOS 6 and 7 are eliminated, the oldest glibc is 2.23 in Ubuntu and Slackware. ... NOTE: No EOLs are published. 14.2 was released in 2016.
🌐
Ubuntu
packages.ubuntu.com › source › focal › glibc
Ubuntu – Details of source package glibc in focal
September 1, 2022 - two or more packages specified (glibc focal) Content Copyright © 2026 Canonical Ltd.; See license terms. Ubuntu is a trademark of Canonical Ltd. Learn more about this site.
🌐
GitHub
github.com › tensorflow › tensorboard › issues › 6578
rustboard's GLIBC dependency is too high, need to lower GLIBC requirement · Issue #6578 · tensorflow/tensorboard
September 13, 2023 - The rustboard extension (--load_fast=True) of Tensorboard 2.12 ~ 2.14 cannot run on old(?) linux systems, including Ubuntu 20.04, because of the GLIBC dependency >= 2.34. I think this is a too high or strict requirement; Ubuntu 20.04 LTS is still popular in many dev environments and should still be supported.
Author   tensorflow
🌐
Linux Mint Forums
forums.linuxmint.com › board index › chat › chat about linux mint
Has anyone made any attempt to upgrade glibc? - Linux Mint Forums
January 27, 2024 - [...] On Ubuntu Mantic or on incoming Noble it is 2.38. Note that a given version of glibc offers an ascending compatibility and can be used by programs requiring a lower version: ... strings /usr/lib/x86_64-linux-gnu/libc.so.6|grep GLIBC_ GLIBC_2.2.5 GLIBC_2.2.6 GLIBC_2.3 GLIBC_2.3.2 GLIBC_2.3.3 GLIBC_2.3.4 GLIBC_2.4 GLIBC_2.5 GLIBC_2.6 GLIBC_2.7 GLIBC_2.8 GLIBC_2.9 GLIBC_2.10 GLIBC_2.11 GLIBC_2.12 GLIBC_2.13 GLIBC_2.14 ...
🌐
Linuxier
linuxier.com › how-to-install-glibc-on-ubuntu
How to Install GLIBC on Ubuntu [22 Simple Steps] - Linuxier
May 12, 2024 - To install GLIBC on Ubuntu, start by opening your terminal and checking your current version with lsb_release -a. Next, install essential building tools using sudo apt-get install build-essential.
🌐
GitHub
gist.github.com › zchrissirhcz › ee13f604996bbbe312ba1d105954d2ed
Ubuntu Distro GCC GLIBC GLIBCXX C++-Standard versions · GitHub
GLIBC versions: https://launchpad.net/ubuntu/+source/glibc https://code.launchpad.net/ubuntu/+source/glibc ... strings /usr/lib/gcc/x86_64-linux-gnu/11/libstdc++.so | grep -oP 'GLIBCXX_\d+\.\d+\.\d+' | sort -V | tail -n1 ... gcc -v --help 2> /dev/null | grep -iv deprecated | grep "C++" | sed -n '/^ *-std=\([^<][^ ]\+\).*/ {s//\1/p}'
🌐
Ubuntu
launchpad.net › ubuntu › +source › glibc › +changelog
Change log : glibc package : Ubuntu - Launchpad
diff from 2.31-0ubuntu9.12 (in ~schopin/ubuntu/riscv64-deletedppa) to 2.31-0ubuntu9.14 (9.3 KiB) diff from 2.31-0ubuntu9.7 to 2.31-0ubuntu9.14 (23.6 KiB) diff from 2.31-0ubuntu9.13 to 2.31-0ubuntu9.14 (634 bytes) ... glibc (2.35-0ubuntu3.5) jammy-security; urgency=medium * SECURITY UPDATE: use-after-free through getcanonname_r plugin call - debian/patches/any/CVE-2023-4806-pre1.patch: sort tests and tests-container and put one test per line (nss).