在尝试在启用 OpenSSL 扩展的 Debian jessie 上构建 PHP 5.3.3 时(不问原因,节省一些理智),我undefined reference to symbol 'X509_free@@OPENSSL_1.0.0'
在 Makefile 的链接步骤中遇到,无法弄清楚为什么 (libssl-dev
存在并libssl.so
包含请求的符号)。我尝试使用pbuilder
包含 Debian jessie 以及更新的库(如 OpenSSL 1.0.1 而不是 0.9.8)的基于 chroot 的环境构建 Debian 挤压中包含的官方 Debian 软件包。我确认 PHP 5.3.3 与 OpenSSL 1.0.1 兼容,方法是在 chroot 环境之外使用./configure --disable-all --with-openssl=/usr; make
. 生成的 CGI 和 CLI 二进制文件确实与 OpenSSL 相关联,这可以通过ldd sapi/cli/php
. 然而在 chroot 环境中,它失败了。
不要打扰,我已经找出了大部分原因和解决方法/黑客来实现成功的构建。