el-capitan – 自制软件 – 无法升级openssl?

我在osx 10.11上.

(背景:
我无法让系统安装Python以使用TLS 1.1.)

what I’ve read开始,我需要使用brew来管理Python.但我想首先升级openssl,以便Python选择合适的版本?

我做过brew更新,brew升级,brew医生(没问题)

然后我尝试了:

$brew install openssl
Warning: openssl-1.0.2h_1 already installed
$brew link openssl --force
Linking /usr/local/Cellar/openssl/1.0.2h_1... 
Error: Could not symlink ../../../opt/openssl/include/openssl/aes.h
/opt/openssl/include/openssl is not writable.
$brew link --force openssl
Linking /usr/local/Cellar/openssl/1.0.2h_1... 1601 symlinks created

我不确定那些是否有效,但这就是我现在的位置:

$openssl version
OpenSSL 0.9.8zg 14 July 2015
$which openssl
/usr/local/bin/openssl
$ls -l /usr/local/bin/openssl
lrwxr-xr-x  1 greg  admin  46 Jun 27 15:23 /usr/local/bin/openssl -> /usr/local/Cellar/openssl/1.0.2h_1/bin/openssl
$/usr/local/Cellar/openssl/1.0.2h_1/bin/openssl version
OpenSSL 1.0.2h  3 May 2016

所以看起来我可能已经安装了升级的openssl版本,但我准备做brew install python并且它将获得正确的openssl版本并让我使用TLS 1.1?
(这甚至是获得Python的TLS 1.1支持的正确方法吗?)

解决方法:

解决方案从源安装并绕过自制错误

brew install openssl

– &GT警告:openssl-1.0.2j已经安装,它只是没有链接.

brew link openssl

– >警告:拒绝链接:openssl
链接keg-only openssl意味着你可能最终链接到不安全的,
在使用Homebrew的openssl的头文件时弃用系统OpenSSL.
相反,将完整的include / library路径传递给您的编译器,例如:
  -I /usr/local/opt / openssl / include -L /usr/local/opt / openssl / lib

cd ~/scratch
git clone git@github.com:openssl/openssl.git
cd openssl
sudo mkdir /usr/local/ssl
sudo chmod 777 /usr/local/ssl
./config -I/usr/local/opt/openssl/include -L/usr/local/opt/openssl/lib
make
make test
make install

现在,你会认为你失败了.但是每OpenSSL not getting linked with homebrew on El Capitan 10.11.6
你必须关闭你的终端然后重新打开它
现在

openssl version -a

将显示您正在使用新版本.

上一篇:software-installation – 如何在SUSE Linux Enterprise Server 11上进行Python 2.7的二进制安装?


下一篇:Clang教程之实现源源变化(5)