Como fazer uma instalação limpa do OpenSSL no El Capitan

1

Eu tenho medo de ter feito uma bagunça com a versão (0.9.8zg) do OpenSSL que foi instalado no meu Mac. Enquanto eu estava tentando atualizá-lo, agora eu tenho algum erro e, por alguns motivos, aplicativos como Apache ou Google Drive não funcionam mais e nem sequer começam.

Gostaria de saber qual seria a melhor maneira de restaurar o openssl para uma versão funcional sem reinstalar todo o sistema operacional.

Como eu posso fazer isso? Até agora eu tentei baixar openssl-0.9.8zg e construí-lo com ./config, make e make install mas não resolveu o problema. Por favor me ajude se possível.

Atualizar:

Eu baixei openssl-0.9.8zg do site oficial e fiz o seguinte:

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

Agora as saídas dos comandos são:

$ 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"

Ainda assim, o problema persiste.

Estes são alguns erros que recebo: por exemplo, ao tentar iniciar o Apache, ele diz:

Erro de sintaxe na linha 111 de /Applications/MAMP/conf/apache/httpd.conf: Não é possível carregar /Applications/MAMP/Library/modules/mod_ssl.so no servidor: dlopen (/Applications/MAMP/Library/modules/mod_ssl.so , 10): Símbolo não encontrado: _SSLv2_client_method
Referenciado de: /Applications/MAMP/Library/modules/mod_ssl.so
Esperado em: /usr/lib/libssl.0.9.8.dylib em /Applications/MAMP/Library/modules/mod_ssl.so

mas libssl.0.9.8.dylib está presente dentro / usr / lib então eu não sei porque / o que não encontra. É possível consertar isso?

Ou, por exemplo, se eu executar brew install libssl, Eu recebo:

Erro: dlopen (/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/universal-darwin15/openssl.bundle, 9): Símbolo não encontrado: _SSLv2_client_method     Referenciado de: /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/universal-darwin15/openssl.bundle     Esperado em: /usr/lib/libssl.0.9.8.dylib    em /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

Além disso, o Google Drive não será mais iniciado

Lory Lory
fonte
Por favor, abra uma nova janela do Terminal, execute openssl version, which openssl e /usr/bin/openssl version e atualize sua pergunta com os resultados.
Alistair McMillan
@AlistairMcMillan: pronto, acabei de adicioná-los à minha pergunta
Lory Lory
Desculpe mais um comando openssl version -a. Você desativou o System Integrity Protection (SIP)?
Alistair McMillan
@AlistairMcMillan: feito. Talvez sim ... Eu tenho medo de ter desabilitado o SIP, mas não me lembro por que ... talvez instalar algo
Lory Lory
Além disso. Por favor, atualize a questão com os erros reais que você está recebendo. :)
Alistair McMillan

Respostas:

2

Não tenho certeza se esta é uma solução completa, mas OPENSSLDIR está apontando para o lugar errado. Também várias instruções de compilação incluem a opção "compartilhada".

Então tente isso e deixe-nos saber como você está.

./Configure darwin64-x86_64-cc --prefix=/usr --openssldir=/System/Library/OpenSSL shared
make
sudo make install
Alistair McMillan
fonte
Eu adicionei a mensagem de erros que recebo. Vou tentar de uma vez o que você escreveu. Obrigado pelo momento
Lory Lory
1
Parece mesmo que você é meu salvador! realmente agradeço de coração! Agora tudo parece rodar novamente, eu também compilei e instalei openssl-1.0.2e com os comandos que você escreveu. Obrigado. Posso perguntar mais duas coisas? 1 - como posso limpar meu macbook? Porque eu tinha triend muitas coisas antes e imagino que há muitos arquivos de lixo ... 2 - Eu tenho medo de ter desinstalado o homem. Se eu correr man something diz "comando não encontrado". Como posso restaurá-lo?
Lory Lory
Que bom que ajudou. Eu realmente recomendo ligar novamente o SIP. :) Melhor não fazer alterações em coisas que são empacotadas com o sistema operacional. Se por nenhum outro motivo, a não ser quando o El Capitan 10.11.3 for lançado, há uma boa chance de que eles sobrescrevam as coisas que você instalou em / usr / bin.
Alistair McMillan
Sobre suas outras perguntas ... registre-as como perguntas separadas. Vou ficar de olho e tentar responder se puder. :)
Alistair McMillan
1
você tem sido muito gentil comigo como poucas pessoas eram. Obrigado ... se você quiser dar uma olhada na "questão do homem", está aqui: apple.stackexchange.com/questions/221597/…
Lory Lory