_ssl无法在Mac OS X Sierra上编译

时间:2016-12-05 16:39:24

标签: python macos makefile openssl python-3.5

我似乎无法在Mac OSX Sierra上构建_ssl_hashlib。我查看了make日志,并且我发现它甚至没有尝试查找包含的适当位置:

gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 
    -Wall -Wstrict-prototypes -Werror=declaration-after-statement -I./Include 
    -I. -IInclude -I/usr/local/include -I/usr/local/src/Python-3.5.2/Include 
    -I/usr/local/src/Python-3.5.2 -c /usr/local/src/Python-3.5.2/Modules/_ssl.c 
    -o build/temp.macosx-10.12-x86_64-3.5/usr/local/src/Python-3.5.2/Modules/_ssl.o

我在/usr/local中安装了更新版本的OpenSSL:

$ which openssl
/usr/local/bin/openssl
$ openssl version
OpenSSL 1.1.0c  10 Nov 2016

配置脚本已将OpenSSL库放在/usr/local/lib中,/usr/local/include/openssl中的标题和make似乎没有使用它们。所以我认为我可以通过正确设置CPPFLAGSLDFLAGS环境变量来解决问题,如here所述:

$ echo $CPPFLAGS
-I/usr/local/include/ -I/usr/local/include/openssl/
$ echo $LDFLAGS
-L/usr/local/lib/
$ echo $LD_LIBRARY_PATH 
/usr/local/lib/

但我仍然无法构建_ssl_hashlib。在我以这种方式阅读this回答之后,我还尝试修改Setup.local

$ cat Modules/Setup.local 
# Edit this file for local setup changes

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

没有成功。我注意到gcc命令改变了:

gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG
    -g -fwrapv -O3 -Wall -Wstrict-prototypes -Werror=declaration-after-statement   
    -I. -IInclude -I./Include    -DPy_BUILD_CORE  -DUSE_SSL -I/usr/local/include 
    -I/usr/local/include/openssl -c ./Modules/_ssl.c -o Modules/_ssl.o

任何帮助都将不胜感激。

0 个答案:

没有答案