2014年11月7日金曜日

ubuntu-14.04 で libuv-1.0.0 を準備して libh2o へ

ubuntu-14.04のapt標準リポジトリーでは libuv-0.10.0 、執筆時点の libuv の最新タグは1.0.0rc2 でまだ release 版ではありませんが、 libh2o-HEADをビルドする為には libuv-1.0.0 レベルの新版が必要となるので用意してみます。

libuv: https://github.com/joyent/libuv

git clone git@github.com:joyent/libuv.git
cd libuv

1. ドキュメントのビルドと表示


sudo apt-get install python-sphinx

libuvのドキュメントはSphinxでビルドするため python-sphinx パッケージを導入する必要があります。aptを使う場合、 sphinx3 パッケージは無関係なので注意。

pushd docs
make epub

apt-get install okular-extra-backends
okular build/epub/libuv.epub

epub形式をokularで見たい場合は okular-extra-backends が必要。epub以外にhtml, man, help 形式でもビルドできる。

popd

2. libuvのビルド


./autogen
./configure
make
make check

一般的なGNU/Linux環境では gyp を使っても現状では面倒なだけなので make した方が良い。もしもgypを使う場合はBUILD_TYPE=Releaseなどしないとデバッグビルドになる点、.aしか生成されない点、install/uninstallコマンドが生成されない点に注意。

なお、make check を symlink なパスから実行すると、執筆時点のrc2〜HEADでは test-get-currentexe が失敗します。これはこのテストの実装が symlink に未対応なだけです。この件に興味があれば https://github.com/joyent/libuv/issues/1559 をどうぞ。

システム標準以外の場所へインストールしたい都合がある場合には ./configure に --prefix /home/usagi/opt とか指定しておけば良いです。

おまけ: テストの run-tests の他に run-benchmarks もビルドされています。興味があればどうぞ。

3. libuvのシステムへの導入


sudo make install

僅かに癖はありますが、どうということはなく手作業で導入できます。システムへの導入ではなく、 /home/usagi/opt などユーザー権限で構わない場所へ ./configure してある場合は sudo は不要です。

これで libh2o をビルドする準備ができました。

0 件のコメント:

コメントを投稿