73 votes

Bibliothèque non chargée : /opt/local/lib/libssl.1.0.0.dylib (LoadError)

Je viens de découvrir que je ne peux plus gem push … et quelques recherches m'ont conduit à la nécessité de mettre à jour mes certificats SSL RVM.

J'ai couru rvm osx-ssl-certs status all mais ça m'a donné :

/Users/davesag/.rvm/rubies/ruby-2.0.0-p195/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require': dlopen(/Users/davesag/.rvm/rubies/ruby-2.0.0-p195/lib/ruby/2.0.0/x86_64-darwin12.4.0/openssl.bundle, 9): Library not loaded: /opt/local/lib/libssl.1.0.0.dylib (LoadError)
  Referenced from: /Users/davesag/.rvm/rubies/ruby-2.0.0-p195/lib/ruby/2.0.0/x86_64-darwin12.4.0/openssl.bundle
  Reason: image not found - /Users/davesag/.rvm/rubies/ruby-2.0.0-p195/lib/ruby/2.0.0/x86_64-darwin12.4.0/openssl.bundle
    from /Users/davesag/.rvm/rubies/ruby-2.0.0-p195/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require'
    from /Users/davesag/.rvm/rubies/ruby-2.0.0-p195/lib/ruby/2.0.0/openssl.rb:17:in `<top (required)>'
    from /Users/davesag/.rvm/rubies/ruby-2.0.0-p195/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require'
    from /Users/davesag/.rvm/rubies/ruby-2.0.0-p195/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require'
Certificates for /usr/local/etc/openssl/cert.pem: Up to date.
Certificates for : Old.
Certificates for /etc/openssl/cert.pem: Up to date.

rvm -v montre que j'utilise la dernière version de RVM (à ce jour).

rvm 1.22.15 (stable) by Wayne E. Seguin <wayneeseguin@gmail.com>, Michal Papis <mpapis@gmail.com> [https://rvm.io/]

Bizarrement, je ne suis pas sûr de savoir pourquoi il s'agit de ruby-2.0.0-p195 Cependant, comme rvm list donne

rvm rubies

   ruby-1.9.3-p392 [ x86_64 ]
   ruby-2.0.0-p195 [ x86_64 ]
=* ruby-2.0.0-p247 [ x86_64 ]

Avez-vous une idée de la façon de résoudre ce problème ?

116voto

Pradeep S Points 685

Désinstaller openssl et le réinstaller a fonctionné pour moi.

brew remove openssl  

et ensuite

brew install openssl

1 votes

Cela a également fonctionné pour moi (et je suis allé jusqu'à imploser et réinstaller rvm). Merci.

5 votes

La mise à jour vers Mavricks a cassé openssl pour moi. Ceci l'a réparé.

0 votes

Cela a également fonctionné pour moi aussi ! Même problème... Mavericks est cassé openssl votre conseil l'a réparé !

50voto

mpapis Points 32015

Vos questions mentionnent trois pistes /opt/local , /usr/local y /etc/openssl ils appartiennent à Macports , Homebrew y Cadre SM respectivement.

Comme la dernière est utilisée pour construire des rubis statiques, elle est inoffensive et n'est pas liée au problème. Les deux autres suggèrent que vous êtes passé de macports à homebrew entre l'installation des rubis.

Vous devez réinstaller ruby-2.0.0-p195 qui fait toujours référence aux anciens chemins de macports vous pouvez le faire avec :

rvm reinstall ruby-2.0.0-p195

Vous pouvez obtenir plus de détails sur les chemins rubis et openssl qu'ils utilisent en exécutant :

rvm --debug osx-ssl-certs update all

2 votes

Merci - j'ai fini par effacer toutes les dernières reliques de macports qui traînaient, mettre à jour rvm, désinstaller ruby-2.0.0-p195 et réinstaller ruby-2.0.0-p247 et cela semble heureux maintenant.

0 votes

Notez que la version de ruby ici est périmée.

13voto

dman Points 443

En essayant d'exécuter 'bundle', j'ai également commencé à obtenir la plainte concernant openssl dylib, mais dans un chemin légèrement différent. J'ai essayé la plupart d'entre eux, et quelques autres choses. J'avais rvm, et quelques restes cassés d'une installation de fink, bien que j'aie essayé de le remplacer par brew il y a quelque temps. A plusieurs reprises, j'obtenais

Library not loaded: /sw/lib/libssl.1.0.0.dylib

Cependant, essayer de réinstaller openssl avec brew produit toujours

sudo brew link openssl
Warning: openssl is keg-only and must be linked with --force
Note that doing so can interfere with building software.

ou

Mac OS X already provides this software and installing another version in
parallel can cause all kinds of trouble.

Donc c'était assez confus ce que je devais faire. Ce qui semblait aider à la fin, après beaucoup d'essais, incluait :

$ rm /Users/dan/.rvm/rubies/default/lib/ruby/1.9.1/x86_64-darwin11.4.0/openssl.bundle

qui avait des références au fichier inexistant /sw/lib/libssl.1.0.0.dylib. Ensuite,

$ sudo brew update && sudo brew upgrade
$ rvm reset

a fait passer ma version de la 1.9.1 à la 1.9.2.

$ ruby --version
ruby 2.1.2p95 (2014-05-08 revision 45877) [x86_64-darwin13.0]

À ce moment-là, j'ai dû réinstaller bundler ( ?).

$ gem install bundler

Mais finalement, j'ai pu lancer 'bundle' sur mon projet et il semblait se comporter correctement.

1 votes

sudo brew update && sudo brew upgrade C'est réparé pour moi. Merci !

0 votes

J'ai eu un problème similaire récemment avec rbenv et j'ai dû le faire : rm /Users/Jeff/.rbenv/versions/2.6.3/lib/ruby/2.6.0/x86_64-darw‌​in18/openssl.bundle et ensuite : rbenv install 2.6.6

8voto

Homebrew a changé sa version de Openssl en 1.1 il y a quelques jours (Homebrew/homebrew-core@0349a7c 25 et Homebrew/homebrew-core@b4b9c1c 10). Nous pouvons rétrograder Openssl vers l'ancienne version pour résoudre temporairement temporairement ce problème en attendant la nouvelle reconstruction (ou le faire manuellement) :

J'ai donc résolu le problème de cette façon :

brew uninstall --ignore-dependencies openssl
brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/30fd2b68feb458656c2da2b91e577960b11c42f4/Formula/openssl.rb

UPDATE

A partir de catalina vous pourriez obtenir un message comme :

Erreur : Appeler l'installation d'openssl à partir d'une URL de commit GitHub est désactivé !

Dans ce cas, je vous recommande d'aller à l'URL et de télécharger le contenu dans un fichier (avec le nom openssl.rb). Ensuite vous pouvez le faire :

brew install openssl.rb

6voto

gsumk Points 46

Toutes les versions de ruby fonctionnaient pour moi et j'ai obtenu un projet sur ruby 2.6.5. Puis j'ai obtenu ceci library not found pour openssl. Pour résoudre ce problème, j'ai fait

brew update
brew upgrade
brew install openssl

Ensuite, toutes les autres versions cessent de fonctionner parce qu'il library not found pour un ssl ouvert. Comme j'utilise chruby pour le gestionnaire de version de ruby, je supprime le dossier de version et le réinstalle et ça marche.

Tl;dr mettre à jour et mettre à niveau brew, installer openssl et réinstaller la version ruby

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X