Kramer786
Kramer786

Reputation: 1298

Ubuntu Unable to find glibc2.14

I am trying to run a really old application that was compiled on the 2.6.24 kernel. But whenever I try to run the software I get the error-:

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

I have tried the following-:

apt-get install libc6

And I get the message the latest version of libc is already installed. I am currently using libc version 2.7. How do I downgrade the version to 2.14 ?

I have tried compiling version 2.14 from source from the GNU site with no luck.

How can I downgrade my gibc to 2.14 ? Whats the proper process ? I am running Ubuntu Hardy Heron since the program was specifically compiled on version 2.6.24.

Upvotes: 1

Views: 2883

Answers (1)

Employed Russian
Employed Russian

Reputation: 213877

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.

Upvotes: 2

Related Questions