久々にインストールしたら、わりとはまったのでメモ
- ライブラリが揃ってないとh2loadはインストールされない。./configureの実行ログでライブラリがすべて揃っているか確認する。揃ってなくても、エラーは出ず、コンパイル・インストールはされるが、h2loadはインストールされない。以下のようにすべてyesである必要がある
Libs:
OpenSSL: yes (CFLAGS=' ' LIBS='-lssl -lcrypto ')
Libxml2: yes (CFLAGS='' LIBS='-lxml2 ')
Libev: yes (CFLAGS='' LIBS='-lev')
Libc-ares yes (CFLAGS=' ' LIBS='-lcares ')
Libevent(SSL): yes (CFLAGS=' ' LIBS='-levent_openssl -levent ')
Spdylay: yes (CFLAGS='-I/usr/local/include ' LIBS='-L/usr/local/lib -lspdylay ')
Jansson: yes (CFLAGS=' ' LIBS='-ljansson ')
Jemalloc: yes (LIBS='-ljemalloc')
Zlib: yes (CFLAGS=' ' LIBS='-lz ')
Boost CPPFLAGS:
Boost LDFLAGS:
Boost::ASIO:
Boost::System:
Boost::Thread:
- 最初に実行しているコマンドは autoREconf であってautoconfではない
ライブラリのインストール
yum-config-manager --enable epel
yum install -y libevent-devel jansson-devel jemalloc jemalloc-devel boost boost-thread Cython c-ares-devel
- いくつかのパッケージは、epel レポジトリを追加する必要がある。それでもlibevはバージョンが足りない
cd /usr/local/src
wget http://dist.schmorp.de/libev/libev-4.24.tar.gz
tar xvzf libev-4.24.tar.gz
cd libev-4.24
./configure
make
make install
- libevはyumでは要求するバージョンのものを入れることができないので、ソースからコンパイルする必要があった
ダウンロード・インストール
- spdylay インストール(nghttp2のインストールに必要なライブラリ)
cd /usr/local/src
git clone https://github.com/tatsuhiro-t/spdylay.git
cd spdylay
autoreconf -i
automake
autoconf
./configure
makeautoreconf -i
automake
autoconf
./configure
make
make install
- nghttp2のインストール(これにh2loadが含まれている)
cd /usr/local/src
git clone https://github.com/nghttp2/nghttp2
export PKG_CONFIG_PATH=/lib/pkgconfig:/usr/lib/pkgconfig:/usr/lib64/pkgconfig:/usr/local/lib/pkgconfig
autoreconf -i
automake
autoconf
./configure --with-spdylay --enable-apps
make
make install