致命错误:';openssl/bio.h';找不到文件
我试图在我的Mac上安装Apache Thrift,但遇到了一个问题。 我遵循了上的安装步骤,但当我尝试执行安装致命错误:';openssl/bio.h';找不到文件,openssl,thrift,libevent,Openssl,Thrift,Libevent,我试图在我的Mac上安装Apache Thrift,但遇到了一个问题。 我遵循了上的安装步骤,但当我尝试执行安装libevent的步骤时,在运行make命令时出现以下错误: 由于找不到“openssl/bio.h”文件,出现致命错误 我已经检查了我正在使用的openSSL版本,它是“0.9.8zg” 我该怎么做才能解决这个问题?你在El Capitan吗?这似乎是我的问题 杰里米对美洲狮问题的回答对我很有用: 我的问题与Puma gem特别相关,但如果在El Capitan上,您的问题可能类
libevent
的步骤时,在运行make
命令时出现以下错误:
由于找不到“openssl/bio.h”文件,出现致命错误
我已经检查了我正在使用的openSSL版本,它是“0.9.8zg”
我该怎么做才能解决这个问题?你在El Capitan吗?这似乎是我的问题 杰里米对美洲狮问题的回答对我很有用:
我的问题与Puma gem特别相关,但如果在El Capitan上,您的问题可能类似。我在安装apache Thrift时也遇到了这个问题,下面是我在系统设置中解决这个问题的方法 我的操作系统是El Capitan(10.11.1),安装了所有最新更新,我使用MacPorts安装openssl(版本1.0.2e,2015年12月3日)。这是在
/opt/local
中安装的openssl。在任何情况下,请尝试查找bio.h
(我的案例位于/opt/local/include/openssl/bio.h
),您可能会知道为您的设置安装openssl的位置。当您在libevent
文件夹中并运行:
./configure --help
你会看到的
--includedir=DIR C header files [PREFIX/include]
由于按照说明,前缀
是/usr/local
,因此我只需在/usr/local/include
中创建一个符号链接
cd /usr/local/include
sudo ln -s /opt/local/include/openssl/ openssl
现在
make
执行时没有错误 我和其他人一样安装Thrift时也遇到同样的问题。在我的例子中,我解决了以下问题:
另一种方法是,在“brew安装openssl”之后,执行“brew链接”
openssl--force”,它将头安装到
/usr/local/include/openssl.
出于某种原因,自制的pkg配置知道OpenSSL是自制的,只有在您运行“链接OpenSSL--force”时:
$pkg config--variable=includedir-openssl
/usr/local/ceral/openssl/1.0.2d_1/include用于在Mac上安装libevent: 本网站的外卖:
/configure cxflags='-I/usr/local/bin-L usr/local/include'我在El Capitan 10.11.6上,手动安装mongodb php扩展时遇到问题 我按照@user7059092关于配置阶段的指示解决了这个问题:
$。/configure LDFLAGS='-L/usr/local/opt/openssl/lib'CPPFLAGS='-I/usr/local/opt/openssl/include'
我从一个不相关的工作问题上偷了这个提示,它对我来说是一个魅力:
brew安装openssl@1.1
OPENSSL_ROOT=$(brew--Cell OPENSSL)/$(brew列表--版本OPENSSL | tr'''\n'| tail-1)
./configure“-with openssl=$openssl\u ROOT”
ln-s$OPENSSL\u ROOT/include/OPENSSL
LIBRARY\u PATH=$LIBRARY\u PATH:$OPENSSL\u ROOT/lib makeStack Overflow是一个关于编程和开发问题的网站。这个问题似乎离题了,因为它与编程或开发无关。请参见帮助中心中的。也许或者会是一个更好的提问的地方。另请参阅。如果您只是想安装Thrift,为什么不
brew安装Thrift
?谢谢您的帮助,我在EI Capitan上,我按照Jeremy的回答做,但我现在仍然无法工作,错误仍然存在。但我发现我没有类似“/usr/local/opt/openssl”的目录,我只有类似“/usr/local/openssl”的目录,但不管我走哪条路,它对我还是不起作用。你还有别的办法吗?这解决了我的问题,谢谢。具体来说:gem install puma--with opt include=/usr/local/opt/openssl/include
@Lewis Eric-我需要查看更多的错误日志详细信息以获得帮助。很抱歉看起来您已经安装了openssl,但由于某些原因,路径不起作用。@Lewis Eric希望这一问题现在已经解决,但如果没有解决,则brew安装openssl
应该为您提供正确版本的openssl。帮助我的具体评论是。本质上,如果您使用的是bundle install
,它不一定会读取gem安装的puma,因此您需要为bundle/puma设置全局选项:bundle config build.puma--使用opt dir=/usr/local/opt/openssl
,非常感谢。我在这个问题上纠缠了一段时间。你的解决方案为我工作,我可以确认,这是工程,同时安装节俭以及。应在制造前完成配置。
$ brew install openssl
$ brew link openssl --force