我在 CentOS 5.2 系统上工作。
我尝试启动的应用程序被拒绝,因为引用libgio-2.0.so.0
似乎不存在。
这似乎是由于 GLibC 版本的问题,所以我曾想过升级它,既然无论如何我都需要升级,为什么不采用最新版本 2.23 呢?
不幸的是,GLibC 2.23 似乎不支持 CentOS 5.2。
另一方面,我已经将许多其他库(GCC、GDB、binutils、Texinfo、MakeInfo 等)升级到较新的版本,而升级到 GLibC 2.6 则抱怨那些其他库太新。
我不想继续反复试验,而是想知道在 CentOS 5.2 机器上可以安装的最高 GLibC 版本是什么?
答案1
我正在使用 CentOS 5.2 系统。
CentOS 5 的当前版本是 5.11。你的系统太过时了。
libgio-2.0.so.0 似乎不存在。
在 CentOS 6 及更新版本中,glib2 软件包提供了此功能。CentOS 5 中的 glib2 软件包不提供此功能。省去麻烦,只需升级到 CentOS 6 或 7 即可。
嗯,不幸的是,GLibC 2.23 似乎不支持 CentOS 5.2。
CentOS 不是这样运作的。大多数应用程序的版本基本上是冻结的,然后它们会收到反向移植的安全修复。 这一页解释一切。不建议升级系统软件包之外的软件包,这通常会导致系统严重崩溃。
另一方面,我已经将许多其他库(GCC、GDB、binutils、Texinfo、MakeInfo 等)升级到较新的版本,而升级到 GLibC 2.6 则抱怨那些其他库太新。
就像我说的,这是一个严重崩溃的系统。
答案2
看来我的应用程序引用了 libglass.so,而 JFRT.jar java 包又调用了它。然而,这个包的使用对我的应用程序来说并不重要(它只用于渲染和显示 HTML 消息,这不是必需的),所以我们决定删除应用程序的这一部分。
我的应用程序仍然包含对 JFRT.jar 的引用,但由于该 jar 文件仅是动态加载的,我们可以使用解决方法(由此再次证明了动态加载的实用性 :-))