Linuxでkai(番外編) > slackware + ibus-mozc

Total: - (Today: - Yesterday: - )
最終更新日 2011/05/17 21:25

Slackware 13.37の日本語環境向上の一環として、ibus-mozcをインストールしたときのメモです。
誤った情報が含まれていたり過不足がある可能性がありますので、気づいた点は指摘してください。

注意
  • このインストールメモではibus-mozc、mozc_server、mozc_toolのみ扱っています
  • mozcのバージョン情報:1.1.690.102
  • OSのバージョン情報: Slackware 13.37 i486(2.6.37.6-smp)、x86_64(2.6.37.6)



1.環境変数の設定

  • ユーザーの環境変数にibusに関する設定を追加します
$ vi ~/.profile
export LANG=ja_JP.utf8
export LC_ALL=ja_JP.utf8
export XMODIFIERS="@im=ibus"
export QT_IM_MODULE="ibus"
export GTK_IM_MODULE="ibus"
export XIM_PROGRAM="/usr/bin/ibus-daemon -xdrt"

2.ibusのインストール

  • SlackBuildを利用して、ibusと依存ライブラリをインストールします
$ su -
# sbopkg -i ORBit2
# sbopkg -i GConf
# sbopkg -i pyxdg
# sbopkg -i ibus
# sbopkg -i icu4c
# sbopkg -i ibus-qt
# sbopkg -i protobuf

3.mozcに必要なzinniaとgtestのインストール

3.1.zinniaのインストール

  • zinniaのソースをダウンロードして展開します
$ tar zxvf zinnia-0.06.tar.gz
$ cd zinnia-0.06
  • i486の場合、オプション指定なしで
$ ./configure
  • x86_64の場合、ライブラリのインストール先を変更しました
$ ./configure --libdir=/usr/local/lib64
  • ビルドしてパッケージ(*.tgz)を作成します
$ make
$ make install DESTDIR=$(pwd)/PACKAGE
$ cd $(pwd)/PACKAGE
$ makepkg -l y -c n ../zinnia-0.06-`uname -m`-1.tgz
  • インストールします
$ sudo installpkg ../zinnia-0.06-`uname -m`-1.tgz
  • x86_64の場合、ld.so.confファイルを修正しました
$ sudo vi /etc/ld.so.conf
/usr/local/lib64          <== この行を追加しました
$ sudo ldconfig

3.2.gtestのインストール

  • gtestのソースをダウンロードして展開します
$ unzip gtest-1.6.0.zip
$ cd gtest-1.6.0
  • Makefile.amファイルを変更します、以下の部分をばっさり削除します
$ chmod +w Makefile.am
$ vi Makefile.am
292  # Disables 'make install' as installing a compiled version of Google
293  # Test can lead to undefined behavior due to violation of the
294  # One-Definition Rule.
295  
296  install-exec-local:
297          echo "'make install' is dangerous and not supported. ..."
298          false
299
300  install-data-local:
301          echo "'make install' is dangerous and not supported. ..."
302          false
 
$ autoreconf
  • i486の場合、オプションなしで
$ ./configure
  • x86_64の場合、ライブラリのインストール先を変更しました
$ ./configure --libdir=/usr/local/lib64
  • ビルドしてパッケージ(*.tgz)を作成します
$ sudo chown -R $USER:$USER *
$ make clean
$ make
$ make install DESTDIR=$(pwd)/PACKAGE
$ cd $(pwd)/PACKAGE
$ makepkg -l y -c n ../gtest-1.6.0-`uname -m`-1.tgz
  • インストールします
$ sudo installpkg ../gtest-1.6.0-`uname -m`-1.tgz

4.mozcのインストール

  • LinuxBuildInstructionsの手順に沿って、ソースをダウンロードします
$ cd ~/
$ svn co http://src.chromium.org/svn/trunk/tools/depot_tools
$ export PATH=`pwd`/depot_tools:"$PATH"
$ mkdir -p ~/src/mozc
$ cd ~/src/mozc
$ gclient config http://mozc.googlecode.com/svn/trunk/src
$ gclient sync
$ cd ~/src/mozc/src
  • x86_64の場合、ソースコードを1箇所だけ変更します
$ cp ./base/util.cc{,.org}
$ vi ./base/util.cc
1834  #ifdef OS_LINUX
1835    return "/usr/lib64/mozc"; <== "libをlib64に変更しました"
1836  #endif  // OS_LINUX
 
  • ビルドのための準備をします
$ python build_mozc.py clean
$ python build_mozc.py gyp
$ python build_mozc.py build_tools -c Release
  • ビルドします
  • ビルドしたのはibus_mozc、mozc_server、mozc_toolだけです
$ python build_mozc.py build -c Release unix/ibus/ibus.gyp:ibus_mozc server/server.gyp:mozc_server gui/gui.gyp:mozc_tool
  • Slackwareにインストール可能なパッケージ(*.tgz)を作成するためのシェルを作成しました
    • debian/rulesファイルを参考にしました
$ cd ~/src/mozc
$ touch mktgz.sh
$ vi mktgz.sh
+ #!/bin/sh ...
#!/bin/sh
if [ -z "$ARCH" ]; then
  case "$( uname -m )" in
    i?86) export ARCH=i486 ;;
    # Unless $ARCH is already set, use uname -m for all other archs:
       *) export ARCH=$( uname -m ) ;;
  esac
fi
case "$ARCH" in
  i486)      LIBDIRSUFFIX=""
             ;;
  x86_64)    LIBDIRSUFFIX="64"
             ;;
  *)         LIBDIRSUFFIX=""
             ;;
esac

cd ~/src/mozc/src
source ./mozc_version.txt
export CURDIR="`pwd`/../mozc-${MAJOR}.${MINOR}.${BUILD}.${REVISION}"
export BUILD_DIR=./out_linux

mkdir -p "$CURDIR"/debian/ibus-mozc/usr/lib${LIBDIRSUFFIX}/ibus-mozc/
cp -p "$BUILD_DIR"/Release/ibus_mozc "$CURDIR"/debian/ibus-mozc/usr/lib${LIBDIRSUFFIX}/ibus-mozc/ibus-engine-mozc
mkdir -p "$CURDIR"/debian/ibus-mozc/usr/share/ibus/component/
sed "s|/usr/libexec/ibus-engine-mozc|/usr/lib${LIBDIRSUFFIX}/ibus-mozc/ibus-engine-mozc|" < "$BUILD_DIR"/Release/obj/gen/unix/ibus/mozc.xml > "$CURDIR"/debian/ibus-mozc/usr/share/ibus/component/mozc.xml

mkdir -p "$CURDIR"/debian/ibus-mozc/usr/share/ibus-mozc/
cp -p data/images/unix/ime_product_icon_opensource-32.png "$CURDIR"/debian/ibus-mozc/usr/share/ibus-mozc/product_icon.png
cp -p data/images/unix/ui-tool.png "$CURDIR"/debian/ibus-mozc/usr/share/ibus-mozc/tool.png
cp -p data/images/unix/ui-properties.png "$CURDIR"/debian/ibus-mozc/usr/share/ibus-mozc/properties.png
cp -p data/images/unix/ui-dictionary.png "$CURDIR"/debian/ibus-mozc/usr/share/ibus-mozc/dictionary.png
cp -p data/images/unix/ui-direct.png "$CURDIR"/debian/ibus-mozc/usr/share/ibus-mozc/direct.png
cp -p data/images/unix/ui-hiragana.png "$CURDIR"/debian/ibus-mozc/usr/share/ibus-mozc/hiragana.png
cp -p data/images/unix/ui-katakana_half.png "$CURDIR"/debian/ibus-mozc/usr/share/ibus-mozc/katakana_half.png
cp -p data/images/unix/ui-katakana_full.png "$CURDIR"/debian/ibus-mozc/usr/share/ibus-mozc/katakana_full.png
cp -p data/images/unix/ui-alpha_half.png "$CURDIR"/debian/ibus-mozc/usr/share/ibus-mozc/alpha_half.png
cp -p data/images/unix/ui-alpha_full.png "$CURDIR"/debian/ibus-mozc/usr/share/ibus-mozc/alpha_full.png

mkdir -p "$CURDIR"/debian/mozc-server/usr/lib${LIBDIRSUFFIX}/mozc
cp -p "$BUILD_DIR"/Release/mozc_server "$CURDIR"/debian/mozc-server/usr/lib${LIBDIRSUFFIX}/mozc/

mkdir -p "$CURDIR"/debian/mozc-utils-gui/usr/lib${LIBDIRSUFFIX}/mozc
cp -p "$BUILD_DIR"/Release/mozc_tool "$CURDIR"/debian/mozc-utils-gui/usr/lib${LIBDIRSUFFIX}/mozc

cd "$CURDIR"/debian/mozc-server
makepkg -c n ../../mozc-server-${MAJOR}.${MINOR}.${BUILD}.${REVISION}-${ARCH}-1.tgz
cd "$CURDIR"/debian/mozc-utils-gui
makepkg -c n ../../mozc-utils-gui-${MAJOR}.${MINOR}.${BUILD}.${REVISION}-${ARCH}-1.tgz
cd "$CURDIR"/debian/ibus-mozc
makepkg -c n ../../ibus-mozc-${MAJOR}.${MINOR}.${BUILD}.${REVISION}-${ARCH}-1.tgz
  • パッケージ(*.tgz)を作成します
$ chmod +x mktgz.sh
$ ./mktgz.sh
  • インストールします
  • i486の場合
$ cd ~/src/mozc/mozc-1.1.690.102
$ sudo installpkg ibus-mozc-1.1.690.102-i486-1.tgz
$ sudo installpkg mozc-server-1.1.690.102-i486-1.tgz
$ sudo installpkg mozc-utils-gui-1.1.690.102-i486-1.tgz
  • x86_64の場合
$ cd ~/src/mozc/mozc-1.1.690.102
$ sudo installpkg ibus-mozc-1.1.690.102-x86_64-1.tgz
$ sudo installpkg mozc-server-1.1.690.102-x86_64-1.tgz
$ sudo installpkg mozc-utils-gui-1.1.690.102-x86_64-1.tgz
  • インストールが完了したら、OSを再起動します

5.IBusの設定

  • IBus設定にMozcを追加します
$ ibus-setup
  • 「IBusの設定」画面で
    • 「インプットメソッド」タブを表示
    • 「インプットメソッドの選択」プルダウンをクリック
    • 「日本語」>「Mozc」を選択して追加ボタンをクリック
    • 一覧でもっとも上になるよう「上へ」ボタンをクリックして調整します

6.参考URI

  • インストールするとき下記URIが大変参考になりました。多謝。
    • http://code.google.com/p/mozc/wiki/LinuxBuildInstructions
    • http://semiblackharp.blogspot.com/2010/05/slackware64-130googlemozc.html
    • http://d.hatena.ne.jp/nobu-q/20110425
    • http://slackwiki.org/Building_A_Package

おわり。


コメント

  • 新規作成 -- kar (2011-05-17 21:25:37)
名前:
コメント:
最終更新:2011年05月17日 21:25
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。