我有一个可执行文件编译为使用旧系统GLIBC 2.15(ld-linux.so.3 / ld-2.15.so),这是一个带有较新GLIBC 2.20依赖项的共享库的引导程序。
谁可以加载库并指示更改为更新的GLIBC链接器(ld-linux.so.3 / ld-2.20.so)?
答案 0 :(得分:2)
您可以升级系统glibc,但这通常会使系统失去支持,因此很少采用适当的方法。
您可以自己编译glibc,将其安装在非标准位置(比如/opt/gnu/glibc-2.27
),然后链接您的应用程序,使其使用这个新的glibc而不是系统glibc。 glibc wiki包含带有所需链接器标志的指令:
如果你不能重新链接主程序,你将不得不使用explicit loader invocation,也许使用一个小的包装脚本,例如glibc自动生成的testrun.sh
脚本。