You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在AIX上使用xlC编译:如何指定libssl库的特定版本链接?

在AIX上使用xlC链接特定版本的libssl

我在AIX开发机器上使用xlC编译器将C++应用程序与libssl(及libcrypto)进行动态链接。开发机安装的libssl版本为1.1,但目标系统是1.0.2版本,导致应用程序在开发系统运行正常,却无法在目标系统启动,报错如下:

exec(): 0509-036 Cannot load program /path/to/app because of the following errors:
        0509-150   Dependent module /usr/lib/libssl.a(libssl.so.1.1) could not be loaded.
        0509-152   Member libssl.so.1.1 is not found in archive 

需要说明的是,该应用程序并未使用libssl 1.1版本新增的符号,理论上可以在libssl.so.1.0.2环境下正常运行。

我调研发现AIX上的libssl.a归档文件可包含多个版本的库,我的开发机上的libssl.a正是如此:

$ ar tv /usr/lib/libssl.a
rw-r--r--     0/0     728674 Sep 22 08:09 2022 libssl.so
rw-r--r--     0/0     510766 Sep 22 08:09 2022 libssl.so.0.9.8
rw-r--r--     0/0     728674 Sep 22 08:09 2022 libssl.so.1.0.0
rw-r--r--     0/0     728674 Sep 22 08:09 2022 libssl.so.1.0.2
rwxr-xr-x     0/0     1030429 Sep 22 08:10 2022 libssl.so.1.1

开发机上理论可以使用libssl.so.1.0.2,但不确定xlC编译器默认如何选择链接的库版本,猜测它会选最新版本。

请问是否可以让xlC编译器将我的应用程序与特定版本的libssl进行链接?


内容的提问来源于stack exchange,提问作者Athazo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 04:15:14