我最近开始使用自制软件,而且当我在我的系统上酿造一些东西时会发生什么事情我感到有点困惑,但是它的酿造依赖关系只是keg-only,这意味着它们被链接在一起/usr/local.
例如,我正在安装vips(图像处理库).它的众多依赖之一是pixman.Pixman仅作为keg安装,因为显然Mac OSX(在这种情况下是Snow Leopard)已经附带它(或它的一个版本).
这是否意味着vips将使用pixman的系统版本?如果是这样,是否存在与使用系统版本而不是依赖版本相关的潜在版本问题(假设它们不同)?
如何解决我在Vapor 2中遇到的这些OpenSSL/TLS问题?他们阻止我在命令行和Xcode中编译我的项目.
在SPM构建期间:
note: you may be able to install ctls using your system-packager:
brew install ctls
note: you may be able to install ctls using your system-packager:
brew install openssl
Run Code Online (Sandbox Code Playgroud)
SPM构建失败后:
Linking ./.build/debug/Run
ld: library not found for -lcrypto for architecture x86_64
<unknown>:0: error: link command failed with exit code 1 (use -v to see invocation)
<unknown>:0: error: build had 1 command failures
error: exit(1): /Library/Developer/Toolchains/swift-3.1-DEVELOPMENT-SNAPSHOT-2017-03-07-a.xctoolchain/usr/bin/swift-build-tool -f /Users/tanner/Desktop/PackageConfig/.build/debug.yaml
Run Code Online (Sandbox Code Playgroud)
同样在SPM中:
<module-includes>:1:9: note: in file included from <module-includes>:1:
#import "shim.h"
^ …Run Code Online (Sandbox Code Playgroud) 我进入"certificate verify failed (OpenSSL::SSL::SSLError)"我的ruby应用程序并决定是时候更新Mac OS X(Mountain Lion)系统上的旧openssl了.
我从这里抓住了最新的消息来源并按常规做了
......一切都完成没有明显的错误.但我注意到新的openssl并没有取代旧的openssl:
$ which openssl
/usr/bin/openssl
$ /usr/bin/openssl version
OpenSSL 0.9.8x 10 May 2012
$ /usr/local/ssl/bin/openssl version
OpenSSL 1.0.1e 11 Feb 2013
Run Code Online (Sandbox Code Playgroud)
我不愿意乱用重要的系统文件,因为害怕破坏现有的东西.推荐的方法是什么?我正在考虑将/ usr/bin/openssl替换为/ usr/local/ssl/bin版本的符号链接.那会有用吗?
在Python 3.6我得到一个ModuleNotFoundError:
>>> import OpenSSL
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'OpenSSL'
Run Code Online (Sandbox Code Playgroud)
Python为什么找不到OpenSSL模块?
我试图在Mac OS 10.12上使用libssl 安装Siege,但是当我对httpsURL 使用实用程序时,出现以下错误。
[错误] HTTPS需要libssl:无法访问https://example.com/ 使用此协议:套接字已连接
我正在从此Wiki使用以下命令进行安装:
./configure --with-ssl
make
make install
Run Code Online (Sandbox Code Playgroud) 我一直收到此错误,我正在运行OS X,PHP71,Apache 2.4,OpenSSL
php -i | grep“ SSL版本”返回SSL版本=> OpenSSL / 1.0.2k
PHP和CURL的安装如下:
$ brew install --with-openssl curl
$ brew install --with-homebrew-curl --with-httpd24 php71
Run Code Online (Sandbox Code Playgroud) 我正在使用编译器尝试生成一组给定的文件,#include 行因错误而中断:致命错误:找不到“openssl/conf.h”文件。
我已经使用brew安装了openssl,但它似乎不起作用。我是否需要以某种方式将 openssl 与我正在使用的文件夹连接?
我使用的是最新的 mac OS Sierra。
我正在尝试根据https://bugs.python.org/issue29095上的说明在macOS 10.11上编译Python 3.6.2 .
我用自制OpenSSL的安装到标准位置,然后加入LDFLAGS,CFLAGS以及CPPFLAGS我ENV:
$ printenv | grep FLAGS
LDFLAGS=/usr/local/Cellar/openssl/1.0.2l/lib/
CFLAGS=-I/usr/local/Cellar/openssl/1.0.2l/include/openssl
CPPFLAGS=-I/usr/local/Cellar/openssl/1.0.2l/include/openssl
Run Code Online (Sandbox Code Playgroud)
然后在同一个shell中,我将Python编译到我的用例所需的自定义位置:
$ sudo ./configure --prefix=/oebuild/python/python-3.6.1
$ sudo make
$ sudo make install
Run Code Online (Sandbox Code Playgroud)
但是,SSL模块无法构建.构建日志说明了这一点:
Python构建成功完成!找不到构建这些可选模块的必要位:_gdbm _ssl ossaudiodev
spwd
要查找必要的位,请在detect_modules()中的setup.py中查找模块的名称.
我正在尝试按照本教程更新OpenSSL
我跑:
brew update && brew upgrade
brew install openssl
brew link --force openssl
sudo ln -s /usr/local/Cellar/openssl/1.0.2j/bin/openssl /usr/bin/openssl
mkdir -p /usr/local/lib
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/
Run Code Online (Sandbox Code Playgroud)
当我检查
ls -l /usr/local/opt/openssl
Run Code Online (Sandbox Code Playgroud)
我明白了:
lrwxr-xr-x 1 Filipe admin 24 Apr 29 12:48 /usr/local/opt/openssl -> ../Cellar/openssl/1.0.2k
Run Code Online (Sandbox Code Playgroud)
但是当我跑步时:
openssl version -a
Run Code Online (Sandbox Code Playgroud)
我明白了:
-bash:openssl:找不到命令
我已经重启了终端,但没有改变.