macos - Homebrew 拒绝链接 OpenSSL

标签 macos openssl homebrew .net-core

我使用的是:OSX 10.11.6,Homebrew 版本 0.9.9m OpenSSL 0.9.8zg 2015 年 7 月 14 日

我正在尝试使用 dotnetcore 并遵循他们的 instructions ,

我已经升级/安装了最新版本的 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

但是当我尝试链接 openssl 时,我继续遇到此链接错误:

> 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

包含编译器标志的选项对我来说没有意义,因为我没有编译我依赖的这些库。

编辑 dotnetcore 已更新其说明:

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/

最佳答案

这对我有用:

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/
ln -s /usr/local/Cellar/openssl/1.0.2j/bin/openssl /usr/local/bin/openssl

感谢此线程上的@dorlandode https://github.com/Homebrew/brew/pull/597

注意:我只是将其用作临时修复,直到我可以花时间从头开始正确安装 Openssl。我记得我花了一天的大部分时间进行调试并遇到问题,然后才意识到最好的方法是手动一一安装我需要的证书。在尝试此操作之前,请先阅读@bouke 评论中的链接。

关于macos - Homebrew 拒绝链接 OpenSSL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38670295/

相关文章:

python - Homebrew 在 vi​​rtualenv 中断开了到 Python 的链接

cocoa - 显示主机菜单时更新 NSMenuItem

java - Java Mac OSX native 外观和感觉是否尊重 UIManager 字体更改?

c++ - 使用 openssl 库的编译问题

git - 为什么 git hash-object 返回的哈希值与 openssl sha1 不同?

c - RSA 加密/解密

macos - 在brew install php56后库未加载错误

macos - 是否有适用于 Mac OS X 的图形 "sudo"?

swift - 如何刷新弹出窗口

php - homebrew-php 中缺少 PHP53 或 PHP54