【问题标题】:RHEL 6 - how to install 'GLIBC_2.14' or 'GLIBC_2.15'?RHEL 6 - 如何安装“GLIBC_2.14”或“GLIBC_2.15”?
【发布时间】:2015-11-25 19:26:54
【问题描述】:

我需要在 RHEL 6 linux 系统上安装这 2 个软件包。 其他几个程序都需要它们。

当我这样做时:

sudo yum install glibc-devel

这是输出:

Loaded plugins: product-id, security
Setting up Install Process
Package glibc-devel-2.12-1.166.el6_7.1.x86_64 already installed and latest version
Nothing to do

是否有一些用于 RHEL 的带有 GLIBC_2.15 的 EPEL? 如果没有 - 这里有什么解决方法?

【问题讨论】:

  • 这些需要什么?你看到什么错误?当您收到该错误时,您在做什么?
  • 任何需要这些库的程序都会显示错误。下面是一个示例: $ lzturbo lzturbo: /lib64/libm.so.6: version GLIBC_2.15' not found (required by lzturbo) lzturbo: /lib64/libc.so.6: version GLIBC_2.14' not found (lzturbo 需要)
  • 你从哪里得到lzturbo?任何官方的 RHEL 6 软件都不应该有这个问题。您在 RHEL 6 上从源代码构建的任何东西也不应该。那么这个“随机”二进制文件是从哪里来的呢?你为什么要安装它?
  • 它以下载二进制文件的形式出现。它来自公司下载站点。这是否意味着没有 RHEL 的“官方祝福”,任何实验软件都不能在 RHEL 上运行?这太疯狂了。如果你想用不同的软件做出新的发现怎么办?你需要等待 RHEL 吗?无论如何,让我们关注一个主要问题:如何在 RHEL 上安装/指向 GLIBC_2.15?如果您认为有关官方/非官方 RHEL 软件的讨论会以某种方式帮助我 - 请继续朝这个方向发展。如果没有 - 如果有,请提供想法/解决方案。谢谢
  • 我建议你不要安装它,因为它太新了。这取决于 RHEL 6 不包含的软件版本。是的,如果您需要 RHEL 的支持,我相信您确实需要等待他们打包软件。我想如果你要求他们支持你在外部安装的东西,他们会告诉你他们不会支持它,并询问该软件的供应商。 (这并不是说它不工作只是当它坏了你可以保留两个部分。)供应商给你的软件不会在 RHEL 6 上工作。去向他们索要 RHEL 6 兼容版本。

标签: dependencies glibc yum rhel


【解决方案1】:

天真的问题:是否有可能以某种方式下载 GLIBC 2.15,将其放入任何文件夹(例如 /tmp/myglibc),然后仅在执行需要此特定版本 glibc 的操作时才指向此路径?

是的,它是possible

【讨论】:

  • 鉴于这似乎是一个供应商分发的二进制文件,它使得简单的“重新编译它”选项不可用(这很可能首先完全避免这个问题),它只会留下 chroot(实际上是完全不同的系统)或需求的二进制编辑(假设您的列表很详尽)。
  • 对不起,我没听懂你在说什么。什么是 chroot 以及如何进行二进制编辑?
  • @Joe 你读过链接的答案吗?解决方案非常非常重要,如果您懒得去了解(通过谷歌搜索)什么是 chroot 以及如何进行二进制编辑,那么恐怕您的问题不会是由你解决。
  • 是的.. 对于那些自定义的东西,我仍然是初学者。我知道 Linux 中的一些东西,但以前从未处理过 chroot 和二进制编辑。我阅读了链接的答案,但不确定我是否容易做到这一点......
【解决方案2】:

对于另一个 Glibc 实例,例如从 github repo (although an official source would be better) 下载 gcc 4.7.2 并将其解压缩到某个文件夹,然后使用您解压缩 glib 的路径更新 LD_LIBRARY_PATH

export LD_LIBRARY_PATH=$glibpath/glib-2.49.4-kgesagxmtbemim2denf65on4iixy3miy/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=$glibpath/libffi-3.2.1-wk2luzhfdpbievnqqtu24pi774esyqye/lib64:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=$glibpath/pcre-8.39-itdbuzevbtzqeqrvna47wstwczud67wx/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=$glibpath/gettext-0.19.8.1-aoweyaoufujdlobl7dphb2gdrhuhikil/lib:$LD_LIBRARY_PATH

这应该可以防止您的 CentOS* 变砖。

*免责声明:我刚刚完成了看起来 OP 试图表达的想法,但我并不完全同意。

【讨论】:

    【解决方案3】:

    当您在 RHEL 7 中构建软件并尝试在 RHEL 6 上运行时,通常会发生这种情况。

    要将 GLIBC 更新到任何版本,只需从

    下载软件包

    https://ftp.gnu.org/gnu/libc/

    例如 glibc-2.14.tar.gz 在你的情况下。

    1. tar xvfz glibc-2.14.tar.gz
    2. cd glibc-2.14
    3. mkdir build
    4. cd build
    5. ../configure --prefix=/opt/glibc-2.14
    6. make
    7. sudo make install
    8. export LD_LIBRARY_PATH=/opt/glibc-2.14/lib:$LD_LIBRARY_PATH
    

    然后尝试运行你的软件,glibc-2.14应该已经链接了。

    【讨论】:

    • 我使用了 glibc-2.15。因此我不得不做touch /opt/glibc-2.15/etc/ld.so.conf 因为否则make install 会失败。
    • 在 RHEL 6.5 中不起作用,我也遇到了分段错误。
    • @syam 在这些安装步骤中的哪个步骤中,您是否收到分段错误错误?
    • 我这样做了,但我尝试安装的程序仍然抱怨找不到 lib.so.6 (GLIBC_2.14)(64 位)....有什么想法吗?
    • 第 6 步:与sudo make 一起使用效果更好,而不仅仅是make
    【解决方案4】:

    下载rpm包并运行以下命令:

    rpm -Uvh glibc-2.15-60.el6.x86_64.rpm \
    glibc-common-2.15-60.el6.x86_64.rpm \
    glibc-devel-2.15-60.el6.x86_64.rpm \
    glibc-headers-2.15-60.el6.x86_64.rpm
    

    【讨论】:

      猜你喜欢
      • 2021-07-30
      • 2016-12-10
      • 2014-08-31
      • 2013-09-15
      • 2016-01-20
      • 2016-06-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多