我似乎无法在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
似乎没有使用它们。所以我认为我可以通过正确设置CPPFLAGS
和LDFLAGS
环境变量来解决问题,如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
任何帮助都将不胜感激。