Cómo hacer una instalación limpia de OpenSSL en El Capitán

1

Me temo que he hecho un lío con la versión (0.9.8zg) de OpenSSL que se instaló en mi Mac. Mientras intentaba actualizarlo, ahora tengo un error y, por alguna razón, aplicaciones como Apache o Google Drive ya no funcionan y ni siquiera se inician.

Me gustaría saber cuál sería la mejor manera de restaurar openssl a una versión que funcione sin reinstalar todo el sistema operativo.

¿Cómo puedo hacer eso? Hasta ahora he intentado descargar openssl-0.9.8zg y compilarlo con ./config , make y make install pero no resolvió el problema. Por favor, ayúdame si es posible.

Actualización:

Descargué openssl-0.9.8zg del sitio oficial y hice lo siguiente:

./Configure darwin64-x86_64-cc --prefix=/usr
make
sudo make install

Ahora las salidas de los comandos son:

$ openssl version
OpenSSL 0.9.8zg 11 Jun 2015
$ which openssl
/usr/bin/openssl
$ /usr/bin/openssl version
OpenSSL 0.9.8zg 11 Jun 2015
$ openssl version -a
OpenSSL 0.9.8zg 11 Jun 2015
built on: Wed Dec 30 19:50:01 CET 2015
platform: darwin64-x86_64-cc
options:  bn(64,64) md2(int) rc4(ptr,char) des(idx,cisc,16,int) idea(int) blowfish(idx) 
compiler: cc -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -arch x86_64 -O3 -fomit-frame-pointer -DL_ENDIAN -DMD32_REG_T=int -Wall
OPENSSLDIR: "/usr/ssl"

El problema persiste.

Estos son algunos errores que recibo: por ejemplo, al intentar iniciar Apache, dice:

  

Error de sintaxis en la línea 111 de /Applications/MAMP/conf/apache/httpd.conf: No se puede cargar /Applications/MAMP/Library/modules/mod_ssl.so en el servidor: dlopen (/ Applications / MAMP / Library / modules / mod_ssl.so, 10): Símbolo no encontrado: _SSLv2_client_method
  Referenciado en: /Applications/MAMP/Library/modules/mod_ssl.so
  Se espera en: /usr/lib/libssl.0.9.8.dylib en /Applications/MAMP/Library/modules/mod_ssl.so

pero libssl.0.9.8.dylib está presente dentro de / usr / lib , así que no sé por qué / qué no encuentra. ¿Es posible arreglar esto?

O, por ejemplo, si realizo brew install libssl , obtengo:

  

Error: dlopen (/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/universal-darwin15/openssl.bundle, 9): no se encuentra el símbolo: _SSLv2_client_metient     Referenciado en: /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/universal-darwin15/openssl.bundle     Se espera en: /usr/lib/libssl.0.9.8.dylib    en /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/universal-darwin15/openssl.bundle - /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr /lib/ruby/2.0.0/universal-darwin15/openssl.bundle

Además, Google Drive no se iniciará más

    
pregunta Lory Lory 30.12.2015 - 19:02

1 respuesta

2

No estoy seguro si esta es una solución completa pero OPENSSLDIR está apuntando al lugar equivocado. También varias instrucciones de compilación incluyen la opción "compartida".

Prueba esto y dinos cómo te va.

./Configure darwin64-x86_64-cc --prefix=/usr --openssldir=/System/Library/OpenSSL shared
make
sudo make install
    
respondido por el Alistair McMillan 30.12.2015 - 20:34

Lea otras preguntas en las etiquetas