3

我正在尝试使用 SSL 在 Redhat 中构建 python 2.7。我取消了 Modules/Setup.dist 中的注释:

SSL=/urs/local/ssl
_ssl _ssl.c
-DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl
-L$(SSL)/lib -lssl -lcrypto

并且我确保系统上安装了 OpenSSL 以及 openssl-devel。

在运行 make 之后安装之前openssl-devel它会抱怨它无法构建模块_ssl。该错误现在消失了。成功构建_ssl.o,日志中没有报告错误,但没有构建lib-dynload/_ssl.so- 这显然是我需要让 ssl 工作的文件。我正在./configure使用--enable-shared标志运行,但到目前为止,无论我如何更改构建环境,我都无法加载该库文件。

4

1 回答 1

0

Make 成功构建了 _ssl.o,日志中没有报告任何错误,但没有构建 lib-dynload/_ssl.so - 这显然是我需要让 ssl 工作的文件。

我不知道构建 Python 的细节,但在 Red Hat 上,您可能需要使用以下命令构建 OpenSSL:

$ export CFLAGS="-fPIC"
$ ./config shared -no-ssl2 -no-ssl3 --openssldir=/usr/local/ssl ...
...
$ make depend
...
$ make all
...
$ sudo -E make install

进行安装后,请确保共享对象位于/usr/local/ssl/lib. 我在 Fedora 上遇到了“缺少共享对象”,上面为我解决了这个问题。

于 2013-12-19T00:07:39.747 回答