Mac OS X安装libevent库报Install libevent bufferevent_openssl.c:60:10: fatal error: 'openssl/bio.h' file_mac error installing libevent-程序员宅基地

技术标签: linux  openssl  libevent  brew  mac os x  

编译 libevent(源文件在/Users/carl/Downloads/libevent-2.1.8-stable),执行make命令是,报

Install libevent bufferevent_openssl.c:60:10: fatal error: 'openssl/bio.h' file

第一反应,感觉是不是 openssl版本太低了。


1. 查看openssl版本,发现版本比较低

$ openssl version
OpenSSL 0.9.8zh 14 Jan 2016

2. 升级spenssl,执行

brew install openssl

输出(前面的输出忽略)如下:

==> Downloading https://homebrew.bintray.com/bottles/openssl-1.0.2l.sierra.bottle.tar.gz
######################################################################## 100.0%
==> Pouring openssl-1.0.2l.sierra.bottle.tar.gz
==> Caveats
A CA file has been bootstrapped using certificates from the SystemRoots
keychain. To add additional certificates (e.g. the certificates added in
the System keychain), 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,
because Apple has deprecated use of OpenSSL in favor of its own TLS and crypto libraries.

If you need to have this software first in your PATH run:
  echo 'export PATH="/usr/local/opt/openssl/bin:$PATH"' >> ~/.zshrc

For compilers to find this software you may need to set:
    LDFLAGS:  -L/usr/local/opt/openssl/lib
    CPPFLAGS: -I/usr/local/opt/openssl/include

==> Summary
��  /usr/local/Cellar/openssl/1.0.2l: 1,709 files, 12.2MB

输出以上信息,说明安装成功,安装目录在(/usr/local/Cellar/openssl/1.0.2l)

3. 配置openssl环境变量,指向新安装的openssl

a. 执行 whereis openssl

输出 /usr/bin/openssl

b. 备份原openssl,执行 mv /usr/bin/openssl /usr/bin/openssl_old

c. 创建openssl命令软连接,执行 ln -s /usr/local/Cellar/openssl/1.0.2l/bin/openssl /usr/bin/openssl

d.再执行 openssl version

输出 OpenSSL 1.0.2l  25 May 2017

说明升级成功。


openssl升级成功后,重新编译libevent,执行make名了,还是报Install libevent bufferevent_openssl.c:60:10: fatal error: 'openssl/bio.h' file错误,

于是把新安装的openssl目录的下的头文件 拷贝到libevent源文件目录下,

执行 cp -R /usr/local/Cellar/openssl/1.0.2l/bin/openssl/include    /Users/carl/Downloads/libevent-2.1.8-stable

重新make,编译成功!


参考资料 :

http://blog.csdn.net/hackcoder/article/details/52442350

http://blog.csdn.net/pz0605/article/details/51954868






版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/rj042/article/details/77622312

智能推荐

JAVA实现Linux网卡绑定_Linux双网卡绑定脚本的方法示例-程序员宅基地

文章浏览阅读209次。linux运维及配置工作中,常常会用到双网卡绑定,少数几台服务器的配置还好,如果是需要配置几十甚至上百台,难免会枯燥乏味,易于出错,我编写了这个双网卡绑定的辅助脚本,可傻瓜式地完成linux双网卡绑定工作,当然,该脚本主要还是用于小批量的系统配置,如需配置大量的服务器,可提取脚本中的bonding函数,稍作修改即可,你值得一试!1.适用范围该shell脚本可在以下linux系统创建多个绑定网卡,用..._java master网卡

2023年华数杯赛题浅析_隔热材料的结构优化控制研究-程序员宅基地

文章浏览阅读2.5k次。为了方便大家跟更好的选题,这里首先对华数杯的三道题目进行简要浅析,分析三个问题未来做题阶段可能遇到的难点,已经可能涉及所需要的数模知识。问题二根据给出的数据建立优化模型,以整体热导率为目标函数,单根A纤维的直径及调整织物的经密、纬密、弯曲角度等作为约束条件进行求解​;问题三,问题二优化模型的延深,引入新的条件进行求解。该题,为纯粹的优化类型题目,因此对于大家的优化模型掌握能力是个考验。与目标样的色差最接近为目标,构建优化模型​,约束条件有色差要求等等;问题四,依旧是问题二三优化模型的深入,寻找。_隔热材料的结构优化控制研究

TCP/IP 端口号大全_ldap端口363-程序员宅基地

文章浏览阅读4.3k次,点赞2次,收藏8次。*备查之用 *本贴连接 http://www.douban.com/group/topic/7647051 1 tcpmux TCP 端口服务多路复用 5 rje 远程作业入口 7 echo Echo 服务 9 discard 用于连接测试的空服务 11 systat 用于列举连接了的端口的系统状态 13 daytime 给请求主机发送日期和时间 17 qo_ldap端口363

【Hyper-V】1.在Windows11启用Hyper-V_win11 hyper-v-程序员宅基地

文章浏览阅读6.7k次,点赞3次,收藏14次。Hyper-V是微软提出的一种系统管理程序虚拟化技术,能够实现桌面虚拟化,让用户在windows系统上以虚拟机的方式使用多个不同的操作系统。_win11 hyper-v

私有化部署-程序员宅基地

文章浏览阅读7.5k次。私有化部署_私有化部署

github action 基于个人项目实践_github action实战-程序员宅基地

文章浏览阅读1.4k次。自动化构建自己的服务_github action实战

随便推点

空间数据分析知识点_geray c-程序员宅基地

文章浏览阅读9.6k次,点赞9次,收藏102次。【转】http://blog.sina.com.cn/s/blog_54388b8301011cxp.html空间数据分析 1. 空间分析:(spatial analysis,SA)是基于地理对性的位置和形态特征的空间数据分析技术,其目的在于提取和传输空间信息,是地理信息系统的主要特征,同时也是评价一个地理信息系统功能的主要指标之一,是各类综合性地学分析模型的基础,_geray c

IntelliJ Idea 常用11款插件(提高开发效率),附优秀主题插件_idea 像西红柿插件-程序员宅基地

文章浏览阅读679次。插件安装方式:新版本IDE安装方式略有不同,不一一赘述1、Background Image Plus这款插件并不能直接提高你的开发效率,但是可以让你面对的IDE不再单调,当把背景设置成你自己心仪的的图片,是不是会感觉很赏心悦目,编码效率会不会因此间接的提高?!使用方法:注意,如果是IDEA版本是2020.1版本以上就不需要再额外装这个插件,这个插件是已经内置安装了。2、Mybatis Log PluginMybatis现在是java中操作数据库的首选,在开发..._idea 像西红柿插件

java ajax实现增删改查,03.bootstrap+Ajax+SSM(maven搭建)实现增删改查-程序员宅基地

文章浏览阅读666次。功能点:分页数据校验ajaxRest风格的URI:使用HTTP协议请求方式的动词,来表示对资源的操作(GET(查询),POST(新增),PUT(修改),DELETE(删除))技术点基础框架-ssm数据库mysql前端框架-bootstrap项目依赖 -Maven分页 -pagehelper逆向工程-Mybatis Generator实现效果添加按钮弹出模态框编辑按钮弹出模态框删除基础环境搭建1)新..._ssmajax删除

Oracle 如何使用时间日期字段计算时间差_oracle sql 查询的日期差8小时-程序员宅基地

文章浏览阅读1k次。Oracle 如何使用时间日期字段计算时间差因为业务需要计算耗时,在检查数据库的时候发现时间是分成两个字段来存储的,日期和时间,字段类型都是字符串。思路:将两个字符串连接起来,通过TO_DATE转换成时间,TO_NUMBER将两个时间差转为数值。得到的结果是以‘天’为单位。TO_NUMBER(TO_DATE((WC.OPERATEDATE || ’ ’ || WC.OPERATETIME),..._oracle sql 查询的日期差8小时

Vuex报错:[vuex] must call Vue.use(Vuex) before creating a store instance.解决方法-程序员宅基地

文章浏览阅读1.2k次。Vuex报错:[vuex] must call Vue.use(Vuex) before creating a store instance._[vuex] must call vue.use(vuex) before creating a store instance.

java中类、对象、实例的关系_java类和实例的关系-程序员宅基地

文章浏览阅读1w次,点赞4次,收藏13次。java中类、对象、实例的关系 (刚刚接触java,难免有许多错误,欢迎指正) java作为面向对象编程语言,作为初学者首先要分清类、对象、实例之间的关系是必要的。 正所谓物以类聚,类就是一些具有某些相同特性的“物”的集合,比如“人”这样的类,每个人都有姓名、年龄、性别等特性。对象就是某一个人,比如说“张三”,“人”这个类是很多的像“张三”、“李四”这样的对象的集合。对象是一个抽象的概念_java类和实例的关系

推荐文章

热门文章

相关标签