2016-07-13

Void Linux:再度mozcのbuildに挑戦

以前mozcのxbpsパッケージを作ったのですが、いつの間にかエラーが出るようになってしまい使えなくなっていました。
直そうとは思っていたのですが、日本語入力が安定しないVoid Linuxでそこまでして使うか?
と、考えると仮想環境にインストールして遊んでいる分には全く必要なく、またAnthyで日本語入力が出来ない問題が解決できなかったので直すの保留にしていました。

日本語入力が不安定な問題を解決できたわけではないですが、一応日本語入力出来る状態がわかったのでmozcをビルドしなおしてみようと思います。

そういえばmozcのbuildってネットで調べても結構古いバージョンしか扱っていないサイトが多いので参考にならない場合が結構あるのですが、比較的新しいバージョンの記事ってあまりないんですよね。
今は日本人がよく利用するディストリビューションには大抵パッケージが用意されているのでそんなことする必要がないんでしょうけど。


テスト環境は
  • Void Linux x86_64 20160420バージョンをVirtualboxにインストールして最新の状態
  • GuestAddisionsをインストール
  • xorgをインストール
した状態で行いました。

必要なパッケージは
clang python pkg-config git bzip2 unzip make ibus-devel zinnia zinnia-tomoe libglib-devel qt-devel glib-devel python-gobject2-devel gtk+-devel
でした。mozc公式のUbuntuでのインストールに必要なパッケージを参考にVoid Linux用に選びました。
他にも必要なパッケージがあるのですが、上記パッケージをインストールする中で依存パッケージとしてインストールされるので大丈夫みたいです。
zinniaとzinnia-tomoeは公式のパッケージリストには無いので自力でビルドしましょう。

depot_toolsの入手

$ git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git

depot_toolsのダウンロードが完了したらパスを登録しておきます。
export PATH=$PATH:[depot_toolsのパス]

mozcのソースコードを入手

git clone https://github.com/google/mozc.git -b master --single-branch --recursive
オプションはマスターの部分以外はよくわかりません。mozcのソースとセットになっているUbuntu用のDockfile内を見て真似してみました。

設定

GYP_DEFINES="ibus_mozc_path=/usr/libexec/ibus_mozc \
ibus_mozc_icon_path=/usr/share/ibus-mozc/product_icon.png \
document_dir=/usr/share/doc/mozc \
zinnia_model_file=/usr/lib/zinnia/model/tomoe/handwriting-ja.model" \
python mozc/src/build_mozc.py gyp

本来一行で書くのですが、長いのでバックスラッシュ(¥表示になっているかも)を使って複数行にしています。
ここの設定を実行後にINFO: doneと表示されればOKです。
表示されない場合は設定一覧の出力部分よりも前にエラー内容が表示されるのでそれを参考に足りないパッケージをインストールして再度チャレンジして下さい。

ビルド

python mozc/src/build_mozc.py build -c Release \
mozc/src/unix/ibus/ibus.gyp:ibus_mozc \
mozc/src/server/server.gyp:mozc_server \
mozc/src/gui/gui.gyp:mozc_tool \
mozc/src/renderer/renderer.gyp:mozc_renderer

こちらも長いのでバックスラッシュ(こっちも¥表示になっているかも)で複数行にしています。
コマンドはgitコマンドを入力したディレクトリから移動せずに実行しています。
記述するgypファイルのパスは作業ディレクトリからの相対パスになります。

問題なければビルドが開始されます。
工程が800以上あるのでそれなりに時間がかかります。
CPU2とRAM2GBの仮想環境で30分位かかりました。


ビルドが完了するとmozc/src/out_linux/Releaseにファイルが生成されます。
下記の→先のディレクトリに移動またはコピーして下さい。
パーミッションはアプリケーションのファイルは755で、画像ファイルは644にすれば大丈夫です。
mozc/src/out_linux/Release/gen_collocation_data_main → /usr/lib/mozc/
mozc/src/out_linux/Release/gen_collocation_suppression_data_main → /usr/lib/mozc/
mozc/src/out_linux/Release/gen_oss_sbm → /usr/lib/mozc/
mozc/src/out_linux/Release/gen_suggestion_filter_main → /usr/lib/mozc/
mozc/src/out_linux/Release/gen_symbol_rewriter_dictionary_main → /usr/lib/mozc/
mozc/src/out_linux/Release/gen_system_dictionary_data_main → /usr/lib/mozc/
mozc/src/out_linux/Release/gen_usage_rewriter_dictionary_main → /usr/lib/mozc/
mozc/src/out_linux/Release/mozc_renderer → /usr/lib/mozc/
mozc/src/out_linux/Release/mozc_server → /usr/lib/mozc/
mozc/src/out_linux/Release/mozc_tool → /usr/lib/mozc/
mozc/src/out_linux/Release/protoc → /usr/lib/mozc/

mozc/src/out_linux/Release/ibus_mozc → /usr/libexec/
mozc/src/out_linux/Release/gen/unix/ibus/mozc.xml → /usr/share/ibus/component/
mozc/src/data/images/unix/ime_product_icon_opensource-32.png → /usr/share/ibus-mozc/product_icon.png
mozc/src/data/images/unix/ui-alpha_half.png → /usr/share/ibus-mozc/
mozc/src/data/images/unix/ui-alpha_full.png → /usr/share/ibus-mozc/
mozc/src/data/images/unix/ui-dictionary.png → /usr/share/ibus-mozc/
mozc/src/data/images/unix/ui-direct.png → /usr/share/ibus-mozc/
mozc/src/data/images/unix/ui-hiragana.png → /usr/share/ibus-mozc/
mozc/src/data/images/unix/ui-katakana_full.png → /usr/share/ibus-mozc/
mozc/src/data/images/unix/ui-katakana_half.png → /usr/share/ibus-mozc/
mozc/src/data/images/unix/ui-properties.png → /usr/share/ibus-mozc/
mozc/src/data/images/unix/ui-tool.png → /usr/share/ibus-mozc/

あとはibusの設定をしてmozcがちゃんと動くか確認します。

確認してみると、自分の環境ではAnthyと同じで英語ロケールにしないと動作しませんでした・・・
もうこれってibusが悪いんじゃないですかね?


にほんブログ村 IT技術ブログへ ブログランキング・にほんブログ村へ

0 件のコメント:

コメントを投稿