【问题标题】:Linking a library with newer GLIBC dependencies将库与较新的 GLIBC 依赖项链接
【发布时间】:2018-06-16 20:34:21
【问题描述】:

我有一个编译为使用旧系统 GLIBC 2.15 (ld-linux.so.3 / ld-2.15.so) 的可执行文件,它是具有较新 GLIBC 2.20 依赖项的共享库的引导程序。

谁可以加载库并指示更改为更新的 GLIBC 链接器 (ld-linux.so.3 / ld-2.20.so)?

【问题讨论】:

    标签: c++ c linux glibc dynamic-linking


    【解决方案1】:

    您可以升级系统 glibc,但这通常会使系统失去支持,因此这很少是合适的方法。

    您可以自己编译 glibc,将其安装在非标准位置(例如/opt/gnu/glibc-2.27),然后以这样一种方式链接您的应用程序,即它使用这个新的 glibc 而不是系统 glibc。 glibc wiki 包含带有所需链接器标志的说明:

    如果您无法重新链接主程序,则必须改用explicit loader invocation,也许使用一个小的包装脚本,例如glibc 自动生成的testrun.sh 脚本。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-02-02
      • 1970-01-01
      • 2011-01-18
      • 1970-01-01
      • 2017-06-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多