使用 openssl-1.0.1e 进行编译,但链接到旧的 glibc

使用 openssl-1.0.1e 进行编译,但链接到旧的 glibc

期望结果:

编译一个二进制文件,其中静态链接的是 openssl 1.0.1e,但动态链接的是 glibc、stdc++ 等。二进制文件应该可以在大多数服务器上运行,例如 Ubuntu 11.04 或 RHEL 6、CentOS 6.4。

问题:

我想要编译的代码依赖于 openssl 1.0.1e。Openssl 1.0.1e 依赖于 Ubuntu 较新版本(如 12.04、glibc 2.13)中的 glibc,并且无法编译 Ubuntu 11.04 中的 glibc。

在 Ubuntu 12.04 上编译的二进制文件无法在 Ubuntu 11.04 上运行,并出现错误消息:

$BINARY: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by $BINARY)

我如何编译我的二进制文件以便它可以在旧的 Ubuntu 和 RHEL6、CentOS 6.4 上运行?

相关内容