19
votes

OpenSSL 1.0.2m sur macOS

Pour construire une bibliothèque particulière, j'ai besoin de la version 1.0.2m de la bibliothèque openssl avec le package devel. Je travaille sur macOS. L'utilisation de brew install openssl installe la dernière version 1.1.1d.


0 commentaires

6 Réponses :


32
votes

Étant donné qu'OpenSSL 1.0.2 est en fin de vie d'ici la fin de 2019, il n'est plus disponible via Homebrew. Ceci est mentionné dans l' annonce de Homebrew 2.2.0 .

Il est assez simple de créer et d'installer vous-même OpenSSL 1.0.2 à partir des sources. Vous pouvez télécharger votre version requise à partir de la page Anciennes versions 1.0.2 et suivre les instructions trouvées dans INSTALL .


Il est peut-être également possible de récupérer une formule plus ancienne et de l'installer à partir de cela, mais je ne peux pas garantir à quel point cela fonctionne. Les étapes suivantes ont terminé le processus d'installation:

$ git log -- Formula/openssl.rb
...
commit 75b573845a17aaf3f7c84dc58e97cf5fe39a502b
Author: BrewTestBot <brew-test-bot@googlegroups.com>
Date:   Thu Nov 2 17:20:33 2017 +0000

    openssl: update 1.0.2m bottle.

Pour moi, cela a montré:

$ /usr/local/opt/openssl/bin/openssl version
OpenSSL 1.0.2m  2 Nov 2017

et a continué joyeusement après cela. Un essai rapide à la fin donne une certaine confiance que cela a bien fonctionné:

Warning: openssl 1.1.1d is available and more recent than version 1.0.2m.
==> Downloading https://homebrew.bintray.com/bottles/openssl-1.0.2m.high_sierra.bottle.tar.gz

Si vous préférez ne pas utiliser git directement, vous pouvez également essayer de télécharger cette version de openssl.rb depuis gitHub.com et exécuter brew install dessus.


Si vous vous demandez d'où vient ce hachage de commit, je savais que la formule s'appelait openssl.rb - surprise - openssl.rb (mais utiliser git pour interroger les fichiers supprimés aurait également fonctionné). Par conséquent, j'ai inspecté l'historique de Formula/openssl.rb et Formula/openssl.rb trouvé:

$ git clone https://github.com/Homebrew/homebrew-core.git
$ cd homebrew-core
$ git checkout 75b57384 Formula/openssl.rb
$ brew install Formula/openssl.rb


1 commentaires

Il m'a fallu une éternité pour trouver une solution fonctionnelle - merci beaucoup pour cela!



14
votes

Au lieu de télécharger la version spécifique de Formula/openssl.rb vous pouvez simplement utiliser la référence brute au fichier avec le SHA de validation spécifique comme mentionné ici .

Donc, pour la dernière mise à jour vers la version 1.0.2t, le SHA est 8b9d6d688f483a0f33fcfc93d433de501b9c3513

brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/8b9d6d688f483a0f33fcfc93d433de501b9c3513/Formula/openssl.rb

J'exécuterais donc la commande suivante pour installer 1.0.2t.

commit 8b9d6d688f483a0f33fcfc93d433de501b9c3513
Author: BrewTestBot <homebrew-test-bot@lists.sfconservancy.org>
Date:   Sat Sep 28 19:38:49 2019 +0000

    openssl: update 1.0.2t bottle.


1 commentaires

Pour moi, la commande a abouti à une erreur: "Calling Installation of openssl from a GitHub commit URL is disabled! Use 'brew extract openssl' to stable tap on GitHub instead." : /



16
votes

Récemment, je me débattais en raison de la récente mise à jour de la version openssl de 1.0 à 1.1 et je voulais la revenir à une version plus ancienne. Aucune autre solution à l'exception de celle donnée ci-dessous n'a fonctionné pour moi:

brew install rbenv/tap/openssl@1.0 rvm reinstall 1.9.3-p551 --with-openssl-dir='/usr/local/opt/openssl@1.0' gem update --system


3 commentaires

La première commande seule a fonctionné pour moi, même si j'ai dû corriger manuellement les liens symboliques dans /usr/local/opt/openssl/lib pour qu'il soit récupéré.


incroyable. m'a tellement aidé!


@LarsMariusGarshol Cela fonctionne si vous ne vous souciez pas d'avoir également OpenSSL 1.1 disponible.



7
votes

1- Téléchargez le fichier:

wget https://github.com/tebelorg/Tump/releases/download/v1.0.0/openssl.rb

2 - Exécutez infusion avec le fichier téléchargé:

brew install openssl.rb


2 commentaires

Cela a fonctionné! J'ai d'abord dû installer wget via "brew install wget", qui a mis à jour de nombreux paquets en cours de route. J'ai alors pu "brasser le commutateur openssl 1.0.2t"


Commentaire supplémentaire (impossible de modifier ci-dessus car plus de 5 minutes). Pour PHP5.6 (malheureusement toujours nécessaire sur un ancien projet, ne demandez pas), j'ai également dû "wget raw.githubusercontent.com/Homebrew/homebrew-core/... " pour obtenir icu4c 64.2 et y passer avec "brew commutateur icu4c 64.2 ".



7
votes

D'autres solutions ne fonctionneront pas car vous obtiendrez cette erreur "Calling Installation of openssl from a GitHub commit URL is disabled! Use 'brew extract openssl' to stable tap on GitHub instead." les étapes suivantes vont le réparer:

  1. Allez d'abord à l'installation locale de homebrew
brew switch openssl 1.0.2t
  1. Homebrew 2.5 supprime l'option d'installation des formules directement à partir des dépôts git, nous devons donc récupérer une version plus ancienne
git co -
  1. Installez la dernière version 1.0.x d'OpenSL
HOMEBREW_NO_AUTO_UPDATE=1 brew install https://github.com/tebelorg/Tump/releases/download/v1.0.0/openssl.rb
  1. Revenir à la version actuelle de l'homebrew
git checkout 2.3.0
  1. Dites à Brew d'utiliser l'ancienne version d' openssl cette façon, vous pouvez choisir la version à utiliser si vous avez installé les deux
cd /usr/local/Homebrew/


1 commentaires

co est un alias courant pour le checkout . Si vous ne l'avez pas configuré, lancez git checkout -o pour passer à la version actuelle de homebrew.



0
votes

Ce n'est peut-être pas une idée parfaite, mais cela a résolu mon problème (image libssl.1.0.0.dylib introuvable):

sudo ln -s /usr/lib/libssl.dylib /usr/local/opt/openssl/lib/libssl.1.0.0.dylib
sudo ln -s /usr/lib/libcrypto.dylib /usr/local/opt/openssl/lib/libcrypto.1.0.0.dylib

J'espère que ça marche pour toi!

Voir cette réponse


0 commentaires