1

我正在尝试编译openSSL,以便我可以重命名目标库,即 libssl 和 libcrypto 类似于 libssl_my 和 libcrypto_my。

为此,我尝试了以下操作:

  1. 在 openSSL Makefile 中更改了一些标志,如"SHARED_CRYPTO",等"SHARED_SSL"libcrypto$(SHLIB_EXT)但没有任何效果。是否可以从 Makefile 更改 Lib 名称,如果可以,我应该寻找哪些更改?

  2. 使用 patchelf 来修补 libcrypto 和 libssl 的 SONAME,它可以工作,但 libssl 仍在搜索 libcrypto.so.0.o。看起来我们无法通过 patchelf 更改 libssl 中的依赖库名称。如果有办法,请告诉我。

4

1 回答 1

0

我们可以在 Makefile 中替换以下字符串

  1. 将“libssl”替换为“libmy_ssl”
  2. 将“libcrypto”替换为“libmy_crypto”
  3. 将“-lssl”替换为“-lmy_ssl”
  4. 将“-lcrypto”替换为“-lmy_crypto”

对于 1.1.1 源代码树,请注意以下两条规则,将标记名称保持为 libcrypto.num 和 libssl.num

  1. libmy_crypto.map: util/mkdef.pl util/libcrypto.num
  2. libmy_ssl.map: util/mkdef.pl util/libssl.num

试试看,祝你好运!

于 2021-10-19T04:18:23.403 回答