c++ - 将库与较新的 GLIBC 依赖项链接
问题描述
我有一个编译为使用旧系统 GLIBC 2.15 (ld-linux.so.3 / ld-2.15.so) 的可执行文件,它是具有较新 GLIBC 2.20 依赖项的共享库的引导程序。
谁可以加载库并指示更改为更新的 GLIBC 链接器(ld-linux.so.3 / ld-2.20.so)?
解决方案
您可以升级系统 glibc,但这通常会使系统失去支持,因此它很少是合适的方法。
您可以自己编译 glibc,将其安装在非标准位置(例如/opt/gnu/glibc-2.27
),然后以使用新 glibc 而不是系统 glibc 的方式链接您的应用程序。glibc wiki 包含带有所需链接器标志的说明:
如果您无法重新链接主程序,您将不得不使用显式加载程序调用,也许使用一个小的包装脚本,例如testrun.sh
glibc 自动生成的脚本。
推荐阅读
- microsoft-graph-api - Microsoft Graph (OneDrive) API - Resumable Upload Content-Type
- java - Itext java digital signature text and border color and
- c - Segmentation fault: but why?
- c++ - qt无法打开串口
- javascript - how do I return a variable outside an onload function?
- java - Convert 13 digit UTC epoch time to Java Instant UTC format?
- php - 在OceanWP主题的Woocommerce单品页面中显示SKU
- ios - Flutter [firebase_messaging] IOS 构建错误
- python - User Input Based Requests Python
- tcp - 如何使用 ftrace 进行 tcp 探测?