当前位置: 首页 > news >正文

--group-start/--group-end 能不能解决 OpenSSL 1.0 vs 1.1 的优先级问题?

--group-start / --group-end 其实是 ld 链接器的一个功能,专门用来解决 循环依赖的静态库 问题。

例如:

-Wl,--start-group -lfoo -lbar -lbaz -Wl,--end-group

会让链接器在这几个库之间反复扫描,直到符号解析完为止。


🔎 那么能不能用它来“优先选 1.0 而不是 1.1”?

答案是:不行,原因如下:

  1. --start-group/--end-group 只是解决静态库依赖次序的问题,不会影响动态库选择优先级。

    • 它能帮你在 libA.a 依赖 libB.a,而 libB.a 又依赖 libA.a 这种场景下成功链接。

    • 但是它不会改变 libssl.so 版本选择。

  2. 动态库(.so)的版本选择规则是:

    • 链接时:按 -L 搜索路径的顺序找到的第一个匹配 -lssl 的库。

    • 运行时:由 RPATH/RUNPATH + LD_LIBRARY_PATH + 系统默认搜索路径 决定。

    • 这和 group 没关系。

  3. 所以如果你机器上 /usr/liblibssl.so -> libssl.so.1.1,而你想用 libssl.so.1.0.1
    那么即使写成:

    -Wl,--start-group -L/path/to/ssl101 -lsrosssl101 -L/usr/lib -lssl -Wl,--end-group
    

    链接器依然可能拉错,因为 .so 是动态符号,最后由 搜索路径顺序 决定。


✅ 正确能保证 1.0 在前的方法

  1. 明确用绝对路径

    $(OPENSSL101_LIBDIR)/libsrosssl101.so \
    $(OPENSSL101_LIBDIR)/libsroscrypto101.so
    

    这样就不会被 /usr/lib/libssl.so.1.1 抢走。

  2. 确保 RPATH 先搜 1.0 路径

    -Wl,-rpath,/usr/lib/openssl101 -Wl,-rpath,/usr/lib
    

    这样运行时也会先加载 1.0。

  3. shim/dlopen 隔离(我之前建议的方法 3)
    这是彻底避免 1.1 被拖进来的办法。


👉 所以结论:
--group-start/--group-end 不能解决 OpenSSL 1.0 vs 1.1 的优先级问题,它只能解决静态库互相依赖的问题。
你要么用 绝对路径,要么用 RPATH 控制,或者直接上 shim 隔离

http://www.dtcms.com/a/418771.html

相关文章:

  • 中国品牌网官方网站甘肃网络推广公司
  • 使用Trae配置MySQL MCP智能体进行数据库
  • RPA:开启数字化办公的新时代
  • 打工人日报#20250928
  • 怎么用html做移动网站吗wordpress网页设定
  • 门户网站做等保需要备案哪些php 家政网站
  • 扩散模型-上下文学习第一篇【In-Context Learning Unlocked for Diffusion Models】
  • 信息系统项目的成本管理(智能园区)
  • LeetCode:82.杨辉三角
  • 快速交付与弹性扩展,轻量化5GC融合边缘云与专网方案
  • maptalks-根据后端返回的坐标(WKT格式)在地图上绘制图斑
  • BERT 总结
  • java设计模式五、适配器模式
  • 语音识别的评价指标
  • 成都建设企业网站果麦传媒的网站怎么做的
  • python:Django 和 Vue.js 技术栈解析
  • (二十六)、Kuboard 部署网络问题 k8s 使用本地镜像 k8s使用 register本地镜像站 综合应用
  • 腾讯云上TKE集群中通过clb-ingress公网访问到后端服务
  • 信阳做网站公司编程培训机构加盟怎样
  • vps空间如何做网站备份如何提高网站的搜索
  • 广州免费自助建站开发建设工程什么意思
  • Apache Doris 4.0 AI 能力揭秘(二):为企业级应用而生的 AI 函数设计与实践
  • 用deepseek部署全自动的机器人--bytebot
  • 网站开发者模式下怎么保存图片建设网站空间
  • 兰州新区建站07073游戏网
  • 营销型网站建站教程wordpress edit lock
  • 如何将华为手机的照片转移到电脑
  • 云手机的主要核心是什么
  • 三防手机是什么?有哪些值得购入的三防手机?
  • 网站的文件夹上海网站备案在哪里查询