• 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

  • 相关阅读:
    [NOI2003]文本编辑器
    [TyvjP1413]费用流模板裸题
    POJ 3255 dijkstra次短路
    [TyvjP1474]二维线段树区间更新+查询
    [转]二分图的必须边
    匈牙利算法代码及理解
    jloi2013一些想法
    uva11987 并查集小技巧
    【水】tyvj1523 平面几何入门
    Tyvj1462 细节凸包
  • 原文地址:https://www.cnblogs.com/fortunely/p/15313784.html
Copyright © 2020-2023  润新知