libevent學習筆記之Ubuntu下搭建編譯libevent環境


環境准備

名稱 版本 下載/安裝方式 描述
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

  1. 解壓
$ tar -xvf zlib-1.2.11.tar.gz
  1. 進入解壓后zlib目錄
$ cd zlib-1.2.11
  1. 生成Makefile文件
$ ./configure
  1. make命令編譯
$ make

該命令會在zlib主目錄下生成.o文件

  1. 安裝庫文件
$ sudo make install

該命令會把庫文件(.a/.so, .h)安裝到/usr/local/lib和/usr/local/include目錄下;man手冊文件安裝到/usr/local/share/man/man3


編譯openssl

  1. 解壓openssl
$ tar -xvf openssl-1.1.1.tar.gz
  1. 進入解壓后的openssl目錄
$ cd openssl-1.1.1
  1. 生成Makefile
$ ./config
  1. 編譯
$ make
  1. 安裝庫文件
$ sudo make install

編譯libevent

  1. 解壓libevent
$ tar -xvf libevent-2.1.12-stable.tar.gz
  1. 進入解壓后目錄
$ cd libevent-2.1.12-stable
  1. 生成configure文件
$ ./autogen.sh
  1. 生成Makefile
$ ./configure
  1. cmake編譯
    也可以直接運行make命令,這樣.o文件都會生成到主目錄
$ mkdir build && cd build # optional
$ cmake ..  # optional
$ make
  1. 安裝庫文件
$ 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還在運行
解決方法:

  1. 查找所有apt相關進程,用kill命令殺死
$ ps afx | grep apt
...
$ sudo kill -9 pid
  1. 刪除鎖定文件
$ cd /var/lib/dpkg
$ sudo rm lock
...
# 一直到所有鎖定文件刪除

參考

https://www.cnblogs.com/yun6853992/p/9343816.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM