libevent学习笔记之Ubuntu下搭建编译libevent环境
2021/9/21 7:31:26
本文主要是介绍libevent学习笔记之Ubuntu下搭建编译libevent环境,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
目录- 环境准备
- 依赖环境安装
- 编译zlib
- 编译openssl
- 编译libevent
- FAQ
- 参考
环境准备
名称 | 版本 | 下载/安装方式 | 描述 |
---|---|---|---|
Ubuntu | ubuntu 18x64 | 官网下载 | ubuntu 官网 https://ubuntu.com/download/desktop |
perl | 最新版 | apt-get | 脚本解释器,编译openssl用 |
g++ | 最新版 | apt-get | C++编译器 |
make | 最新版 | apt-get | 用于根据Makefile编译,生成elf目标文件 |
automake | 最新版 | apt-get | 用于生成Makefile |
libtool | 最新版 | apt-get | 库文件工具 |
unzip | 最新版 | apt-get | 解压压缩包 |
zlib | zlib-1.2.11.tar.gz | 官网下载 | http://www.zlib.net/ |
openssl | openssl-1.1.1.tar.gz | 官网下载 | https://www.openssl.org/source/ |
libevent | libevent-2.1.12-stable.tar.gz | 官网下载 | https://libevent.org/ |
依赖环境安装
$ sudo apt-get install perl g++ make automake libtool unzip
编译zlib
- 解压
$ tar -xvf zlib-1.2.11.tar.gz
- 进入解压后zlib目录
$ cd zlib-1.2.11
- 生成Makefile文件
$ ./configure
- make命令编译
$ make
该命令会在zlib主目录下生成.o文件
- 安装库文件
$ sudo make install
该命令会把库文件(.a/.so, .h)安装到/usr/local/lib和/usr/local/include
目录下;man手册文件安装到/usr/local/share/man/man3
编译openssl
- 解压openssl
$ tar -xvf openssl-1.1.1.tar.gz
- 进入解压后的openssl目录
$ cd openssl-1.1.1
- 生成Makefile
$ ./config
- 编译
$ make
- 安装库文件
$ sudo make install
编译libevent
- 解压libevent
$ tar -xvf libevent-2.1.12-stable.tar.gz
- 进入解压后目录
$ cd libevent-2.1.12-stable
- 生成configure文件
$ ./autogen.sh
- 生成Makefile
$ ./configure
- cmake编译
也可以直接运行make命令,这样.o文件都会生成到主目录
$ mkdir build && cd build # optional $ cmake .. # optional $ make
- 安装库文件
$ sudo make install
FAQ
如果执行"sudo apt-get install"时,出现"Could not get lock /var/lib/dpkg/lock"问题
具体报错:
E: Could not get lock /var/lib/dpkg/lock - open (11: Resource temporarily unavailable) E: Unable to lock the administration directory (/var/lib/dpkg/), is another process using it?
问题原因:apt还在运行
解决方法:
- 查找所有apt相关进程,用kill命令杀死
$ ps afx | grep apt ... $ sudo kill -9 pid
- 删除锁定文件
$ cd /var/lib/dpkg $ sudo rm lock ... # 一直到所有锁定文件删除
参考
https://www.cnblogs.com/yun6853992/p/9343816.html
这篇关于libevent学习笔记之Ubuntu下搭建编译libevent环境的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-07-02springboot项目无法注册到nacos-icode9专业技术文章分享
- 2024-06-26结对编程到底难不难?答案在这里
- 2024-06-19《2023版Java工程师》课程升级公告
- 2024-06-15matplotlib作图不显示3D图,怎么办?
- 2024-06-1503-Loki 日志监控
- 2024-06-1504-让LLM理解知识 -Prompt
- 2024-06-05做软件测试需要懂代码吗?
- 2024-06-0514-ShardingSphere的分布式主键实现
- 2024-06-03为什么以及如何要进行架构设计权衡?
- 2024-05-31全网首发第二弹!软考2024年5月《软件设计师》真题+解析+答案!(11-20题)