【问题标题】:Installing new GLIBC while keeping old version [duplicate]在保留旧版本的同时安装新的 GLIBC [重复]
【发布时间】:2016-07-02 09:18:39
【问题描述】:

有没有办法在本地文件夹中安装新版本的 GLIBC?我以后可以在不干扰系统库的情况下将其库路径添加到LD_LIBRARY_PATH?。

我没有找到这样的解决方案。对我来说,这意味着所有系统都应该为此目的而升级,这不是我想要的。

P.S:有人说了一些here,但没有任何细节。

【问题讨论】:

    标签: glibc


    【解决方案1】:

    是的,你可以做到;我建议以普通用户的权限进行操作,以免意外破坏整个系统。手动解包应该更容易,不使用操作系统包设置工具。

    然后您应该能够将路径添加到LD_LIBRARY_PATH,并且应该优先于系统库目录。您可以使用ldd 命令查看实际使用的运行时库。它应该不显示not found 条目,如果确实如此,则说明您遗漏了什么。

    您需要进行一些实验才能使其真正发挥作用,但这样您将一次中断一个控制台会话,您可以轻松地重新启动该会话。另一种方法可能是硬链接 chroot 环境,但这看起来有点矫枉过正。

    【讨论】:

    • 我在互联网上看到的所有建议使用我不喜欢的系统包管理器(yum 或 apt)。你知道手动构建它的简单步骤吗?
    • 是的,这是官方说明:gnu.org/software/libc/manual/html_node/…。我的观点是,你可以直接下载你的操作系统 glibc 包而不安装它(不管有没有管理器),然后手动解包,因为这个包通常是某种形式的存档。
    • 好的,这是一个解释所有选项的综合指南。我不知道我是否应该使用 binutils 和 bla bla ... 默认步骤是什么?我的意思是我应该使用./configuremake
    • 为什么要构建libc?你读过那页的第一段吗? configure 有很多选项,但通常唯一必须的选项是 --prefix。 GNU C 库不能在源目录中编译。所以你应该阅读它然后运行 ​​$ ../glibc-version/configure --prefix=~/libc 然后 make
    【解决方案2】:

    有没有办法在本地文件夹中安装新版本的 GLIBC?

    是的,请参阅this answer

    以后我可以在不干扰系统库的情况下将其库路径添加到LD_LIBRARY_PATH?。

    正如答案所解释的,你不能这样做。

    【讨论】:

    • 这是一个很好的参考,但答案并不能说明您不能使用 LD_LIBRARY_PATH。可以,但在此之前,无论如何您都需要匹配版本的动态加载器。
    猜你喜欢
    • 2013-02-14
    • 1970-01-01
    • 2010-11-08
    • 2014-03-03
    • 2017-06-05
    • 1970-01-01
    • 1970-01-01
    • 2012-09-16
    • 2015-04-24
    相关资源
    最近更新 更多