Ubuntu无法找到glibc2.14

时间:2016-05-17 09:52:12

标签: ubuntu glibc libc

我正在尝试运行在2.6.24内核上编译的非常旧的应用程序。但每当我尝试运行该软件时,我都会收到错误 - :

./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)

我尝试了以下内容 - :

apt-get install libc6

我收到消息已经安装了最新版本的libc。我目前正在使用libc 2.7版。如何将版本降级到2.14?

我尝试从GNU网站的源代码编译2.14版,但没有运气。

如何将我的gibc降级为2.14?什么是正确的过程?我正在运行Ubuntu Hardy Heron,因为该程序是在2.6.24版本上专门编译的。

1 个答案:

答案 0 :(得分:1)

  

我正在尝试运行一个在2.6.24内核上编译的非常旧的应用程序。

内核版本无关紧要。

您的应用程序是使用GLIBC-2.14(或更新版本)在系统上编译的,因此不是那么老GLIBC-2.14 was released on 2011-06-01)。

  

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

上述错误表示您当前的GLIBC 太旧

  

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

上述错误表示您的libstdc++.so太旧

  

我目前正在使用libc 2.7版。如何将版本降级到2.14?

您认为版本2.7比版本2.14更新,但是真的。您需要GLIBC2.7升级到2.14(或更新)。

通常,给定的操作系统分发永远不会从最初附带的GLIBC升级(破坏旧应用程序的风险太高)。这就是您apt-get install libc6什么都不做的原因。

因此,您的选择是:

  1. 升级整个发行版,或
  2. 获取为您的(旧)发行版编译的二进制文件,或
  3. 安装较新版本的GLIBC
  4. 在非默认位置安装较新版本的GLIBC
  5. 选项#2是最简单的。

    选项#1可能是最好的(您将获得安全修复程序,您下载的其他应用程序将开箱即用)。

    选项#3风险很大:除了可能以微妙的方式破坏现有应用程序之外,如果在更新过程中出错,升级系统libc是使系统无法启动的最简单方法。

    选项#4在技术上非常重要。您可以找到更多详细信息here