homebrew: ¿problemas para actualizar openssl?

Estoy en osx 10.11.

(Antecedentes: tengo problemas para instalar Python en el sistema para usar TLS 1.1).

Por lo que he leído, necesito usar brew para administrar Python. Pero primero quiero actualizar openssl para que Python elija la versión correcta.

Hice brew update, brew upgrade, brew doctor (sin problemas)

Entonces probé:

$ 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

No estoy seguro de si funcionaron, pero aquí es donde estoy ahora:

$ 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

Entonces, parece que podría haber instalado la versión actualizada de openssl, pero ¿estoy listo para hacer brew install python y obtendrá la versión de openssl correcta y me permitirá usar TLS 1.1? (¿Es este el enfoque correcto para obtener compatibilidad con TLS 1.1 para Python?)

Algo está claramente mal, debe obtener OpenSSL 1.0.2h 3 May 2016para openssl version. ¿Cuál es la salida de command -V openssl?
Hmm, después de un reinicio, todo parece funcionar correctamente. Tal vez había algo que apuntaba al viejo de alguna manera. Estoy pensando en instalar Python manualmente en lugar de usar brew.

Respuestas (2)

solución para instalar desde la fuente y sortear el error homebrew

brew install openssl

-> Advertencia: openssl-1.0.2j ya está instalado, simplemente no está vinculado.

brew link openssl

->Advertencia: Negarse a vincular: openssl Vincular keg-only openssl significa que puede terminar vinculando contra el inseguro y obsoleto sistema OpenSSL mientras usa los encabezados de OpenSSL de Homebrew. En su lugar, pase las rutas completas de inclusión/biblioteca a su compilador, por ejemplo: -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

ahora, pensarás que fallaste. pero debido a que OpenSSL no se vincula con homebrew en El Capitan 10.11.6, debe cerrar su terminal y luego volver a abrirlo ahora

openssl version -a

mostrará que está utilizando la nueva versión.

Ejecutar hash -r(o simplemente abrir una nueva pestaña) puede funcionar mejor que reiniciar Terminal.app
Los makecomandos tardaron un poco en ejecutarse, pero al final todo funcionó a la perfección.

Usando: git clone git@github.com:openssl/openssl.gitresultó en

Permission denied (publickey).
fatal: Could not read from remote repository.

Busqué en Internet y luego probé:

git clone git://git.openssl.org/openssl.git

y eso funcionó.