LeoFSのREADME.md
を見るとErlangのインストールとかXFSのセットアップとか書いてあるのだけど、ちょっと試してみる分にはディストリビューションのリポジトリにあるErlangでも動く。気軽に触ってみるにはこれで十分。
あんまり新しいErlangだとサポートされてないと思うので、本番で使う時は公式にあるパッケージを使うか、ドキュメント通りにビルドする方がよい。パッケージにはサポートされているerlangのランタイムごと入っているので便利。
OSにはFedora 21 Workstationを使用。README.md
に書いてある依存はあらかじめインストールしておく。
sudo dnf install libuuid-devel cmake check check-devel
現在インストールされているErlangのライブラリは
erlang-hipe-17.4-1.fc21.x86_64
erlang-et-17.4-1.fc21.x86_64
erlang-snmp-17.4-1.fc21.x86_64
erlang-wx-17.4-1.fc21.x86_64
erlang-xmerl-17.4-1.fc21.x86_64
erlang-ssl-17.4-1.fc21.x86_64
erlang-eunit-17.4-1.fc21.x86_64
erlang-stdlib-17.4-1.fc21.x86_64
erlang-otp_mibs-17.4-1.fc21.x86_64
erlang-sasl-17.4-1.fc21.x86_64
erlang-observer-17.4-1.fc21.x86_64
erlang-compiler-17.4-1.fc21.x86_64
erlang-asn1-17.4-1.fc21.x86_64
erlang-reltool-17.4-1.fc21.x86_64
erlang-kernel-17.4-1.fc21.x86_64
erlang-runtime_tools-17.4-1.fc21.x86_64
erlang-inets-17.4-1.fc21.x86_64
erlang-erts-17.4-1.fc21.x86_64
erlang-sd_notify-0.1-5.fc21.x86_64
erlang-os_mon-17.4-1.fc21.x86_64
erlang-public_key-17.4-1.fc21.x86_64
erlang-parsetools-17.4-1.fc21.x86_64
erlang-crypto-17.4-1.fc21.x86_64
erlang-tools-17.4-1.fc21.x86_64
erlang-syntax_tools-17.4-1.fc21.x86_64
erlang-erl_interface-17.4-1.fc21.x86_64
erlang-gs-17.4-1.fc21.x86_64
erlang-mnesia-17.4-1.fc21.x86_64
なんでこんなに入っているかというと、OpenStack環境を作った時にRabbitMQをインストールしたから。LeoFSをビルドする際に追加で必要になったパッケージは
sudo dnf install erlang-erl_interface
sudo dnf install erlang-eunit
sudo dnf install erlang-parsetools
sudo dnf install erlang-reltool
sudo dnf install erlang-gs
sudo dnf install erlang-observer
erlang-gs
とerlang-observer
は使ってない気がするんだけど、どうなんだろう……。
あとはREADME.md
通りに
git config --global url."https://".insteadOf git:// # proxyの後ろにいるなら
git clone https://github.com/leo-project/leofs.git
cd leofs
git checkout -b develop remotes/origin/develop
./rebar get-deps
./git_checkout.sh develop
make
make release
要するに、Erlangパッケージの依存が解決できればおk。
他にもleveldb-devel
とかが必要な気がしてならない……。とはいえ、パッケージの不足はビルドログから分かるので、適宜インストールをすればよいと思う。