如果是Ubuntu18.04, 系统本身已经带了nghttp2了, 直接apt安装就可以.
下载源代码 https://github.com/nghttp2/nghttp2
如果是在Ubuntu下编译nghttp2, 按官网上的说明安装这一堆依赖就可以了
sudo apt install g++ make binutils autoconf automake autotools-dev libtool pkg-config \ zlib1g-dev libcunit1-dev libssl-dev libxml2-dev libev-dev libevent-dev libjansson-dev \ libc-ares-dev libjemalloc-dev libsystemd-dev \ cython python3-dev python-setuptools
如果是Centos7, 需要自己摸索. 首先是各种依赖
yum install libev-devel libevent-devel c-ares-devel jemalloc-devel jansson-devel python-devel zlib-devel
然后
./configure make make install
如果在make的过程中遇到这样的错误
error: #error This file requires compiler and library support for the ISO C++ 2011 standard. This support is currently experimental, and must be enabled with the -std=c++11 or -std=gnu++11 compiler options.
说明系统的编译器版本过旧, 需要安装Red Hat Developer Toolset https://www.softwarecollections.org/en/scls/rhscl/devtoolset-7/
sudo yum install centos-release-scl # 这行不运行貌似也可以 sudo yum-config-manager --enable rhel-server-rhscl-7-rpms # 安装 sudo yum install devtoolset-7 # 检查已安装的列表 sudo yum list devtoolset-7\* # 这一步才会启用新安装的编译器, 之后运行./configure能看到 C++ compilern 增加了-std=c++14参数 scl enable devtoolset-7 bash
.然后再./configure 和 make 就可以通过了
最后记得运行ldconfig更新动态链接库
sudo ldconfig
.