Homebrew refusant de lien OpenSSL

Je suis sur: OSX 10.11.6, Homebrew version 0.9.9 m OpenSSL 0.9.8 zg 14 juillet 2015

Je suis en train de jouer avec dotnetcore et par suite de leur instructions,

J'ai mis à jour/installer la dernière version de openssl:

> brew install openssl
==> Downloading https://homebrew.bintray.com/bottles/openssl-1.0.2h_1.el_capitan.bottle.tar.gz
Already downloaded: /Users/administrator/Library/Caches/Homebrew/openssl-1.0.2h_1.el_capitan.bottle.tar.gz
==> Pouring openssl-1.0.2h_1.el_capitan.bottle.tar.gz
==> Caveats
A CA file has been bootstrapped using certificates from the system
keychain. To add additional certificates, place .pem files in
  /usr/local/etc/openssl/certs

and run
  /usr/local/opt/openssl/bin/c_rehash

This formula is keg-only, which means it was not symlinked into /usr/local.

Apple has deprecated use of OpenSSL in favor of its own TLS and crypto libraries

Generally there are no consequences of this for you. If you build your
own software and it requires this formula, you'll need to add to your
build variables:

    LDFLAGS:  -L/usr/local/opt/openssl/lib
    CPPFLAGS: -I/usr/local/opt/openssl/include

Mais quand j'essaie de lien openssl-je continuer à courir dans cette erreur de couplage:

> brew link --force openssl
Warning: Refusing to link: openssl
Linking keg-only OpenSSL means you may end up linking against the insecure,
deprecated system version while using the headers from the Homebrew version.
Instead, pass the full include/library paths to your compiler e.g.:
  -I/usr/local/opt/openssl/include -L/usr/local/opt/openssl/lib

L'option inclure les drapeaux du compilateur ne fait pas de sens pour moi, puisque je ne suis pas la compilation de ces bibliothèques que je suis dépendante.

MODIFIER dotnetcore a mis à jour ses instructions:

brew update    
brew install openssl    
ln -s /usr/local/opt/openssl/lib/libcrypto.1.0.0.dylib /usr/local/lib/   
ln -s /usr/local/opt/openssl/lib/libssl.1.0.0.dylib /usr/local/lib/
  • Pour .NET de Base vous avez besoin d'une version de OpenSSL, qui serait une version 1.0.1 ou version 1.0.2. Puisque vous êtes en train de une version 0.9.8 peut-être vous avez besoin de brew upgrade openssl en premier?
  • Je l'ai déjà fait. Je devrais l'avoir précisé, mais je n'ai pas ajouté les étapes à la question. Mais j'ai déjà fait la brew update et brew install openssl. C'est en essayant d'installer la version prise en charge.
  • Ressemble Homebrew a explicitement bloqué: github.com/Homebrew/brew/commit/....
  • Peut-être l'aide d'un autre HOMEBREW_PREFIX serait de travailler; mais c'est certainement au-delà de mon expérience.
  • Et.. pour continuer à compléter mes divagations, vous pourriez être intéressé par tout ce que développe sur github.com/Homebrew/brew/pull/597
  • "... quand j'essaie de lien openssl-je continuer à courir dans cette erreur de couplage:.." - voir Aussi Comment faire pour définir le chemin d'exécution (-rpath) d'un exécutable avec gcc sous Mac OSX?. Il peut vous aider à toujours charger la bibliothèque correcte au moment de l'exécution, si la bière n'est pas de l'ajouter.
  • le lien a fonctionné avec la version 1.0.1. Conformément à l'engagement que vous avez posté, qui était juste un il ya quelques jours, ma conjecture est que les anciennes versions ont un autre HOMEBREW_PREFIX. Je suis bon pour l'instant, mais à l'avenir je vais essayer votre suggestion d'essayer un préfixe différent.
  • J'ai essayé la plupart des solutions sur cette page, et aucune n'a fonctionné. J'ai été cependant en mesure d'obtenir .Net de base de travail avec cette solution: github.com/dotnet/cli/issues/3964#issuecomment-236485454
  • lien vers le github de discussion a fonctionné pour moi. Fondamentalement, il suffit d'exécuter: sudo install_name_tool -add_rpath /usr/local/opt/openssl/lib /usr/local/share/dotnet/shared/Microsoft.NETCore.App/1.0.0/System.Security.Cryptography.Native.dylib
  • Le rpath solution est meilleure. Il y a une raison Homebrew maintenant vous empêche de lier OpenSSL; c'est une mauvaise idée et peut casser des trucs sur votre ordinateur.
  • Vous devriez probablement mettre votre "dotnetcore a mis à jour ses directives d'installation" dans la question ou la réponse à votre propre question :\

InformationsquelleAutor daviddeath | 2016-07-30