FrontPage

概要

MozcはGoogle IMEのオープンソース版で,Linux上で使える日本語入力システムとしてはかなりよい部類に入るものなので,ユーザも多い(当社比).

しかしながら,Google IMEの売りの機能である豊富な辞書データが搭載されておらず,WindowsやMacでGoogle IMEを使っていた人なら物足りなく感じることだろう.

そこで,有志が作成している辞書を組み込んだMozcをインストールすることで,快適な日本語入力ライフを送ろうということをやってみたのだが,これが結構大変だった.

何が起きたか

Mozc UT Dictionary
Ubuntu 13.10 × Fcitx × Mozc UT でさいきょうの日本語入力を実現する - ておくれブログ の通りに作業を行おうとした.

とビルドの途中で怒られた.
僕の開発している環境にはQt5がインストールしてあるのだが,互換性のためQt4もインストール済みである. この2つのバージョンが干渉してうまくビルドできないことがままある.

普段であれば,インクルードディレクトリやライブラリディレクトリを指定したり,configureにオプションを渡すだけでよいのだが,今回はdebuildとかいうやつを使ってパッケージにしてからインストールという手順を踏んでいるため,いつものようにはいかない.

何が悪いのかと思って,Qt4のインクルードディレクトリにQtWidgetsがあるかどうかまず調べた.

$ ls /usr/include/qt4
Qt          QtCore  QtDeclarative  QtGui   QtNetwork  QtScript       QtSql  QtTest     QtWebKit  QtXmlPatterns
Qt3Support  QtDBus  QtDesigner     QtHelp  QtOpenGL   QtScriptTools  QtSvg  QtUiTools  QtXml

ないのでQtWidgets/QActionでググると,どうやらQActionはQt5からQtWidgets/QActionに移動したのだという.
つまり,間違えてQt5を使ってビルドしようとしているのではないかと踏んでいろいろいじってみたが,どうもインクルードディレクトリが合っているのでおかしいと感じた.

そこで,先ほどのエラーを注視してみると,ファイル名の"moc"に見覚えが有るのに気づく. もしやmocやらuicやらrccやらにQt5のものが使用されているのではないかと思ってgrepしたところ,次のファイルが洗い出せた.

どうやらgui/qt_hogehoge.gypiをいじればよさそうだ.

解決策

ということでQt4のものをそれぞれ指定.

gui/qt_uic.gypi

        'conditions': [
          ['pkg_config_command', {
            'uic_path':
-              '<!(<(pkg_config_command) --variable=uic_location QtGui)',
+              '/usr/lib/i386-linux-gnu/qt4/bin/uic',
          }, {
            'uic_path': '<(qt_dir_env)/bin/uic-qt4<(EXECUTABLE_SUFFIX)',
          }],
        ],

gui/qt_moc.gypi

        'conditions': [
          ['pkg_config_command', {
-            'moc_path': '<!(<(pkg_config_command) --variable=moc_location QtGui)',
+            'moc_path': '/usr/lib/i386-linux-gnu/qt4/bin/moc',
          }, {
            'moc_path': '<(qt_dir_env)/bin/moc<(EXECUTABLE_SUFFIX)',
          }],
        ],

gui/qt_rcc.gypi

        'conditions': [
          ['pkg_config_command', {
            # seems that --variable=rcc_location is not supported
            'rcc_path':
-              '<!(<(pkg_config_command) --variable=exec_prefix QtGui)/bin/rcc',
+              '/usr/lib/i386-linux-gnu/qt4/bin/rcc',
          }, {
            'rcc_path': '<(qt_dir_env)/bin/rcc<(EXECUTABLE_SUFFIX)',
          }],
        ],

これでリビルド,パッケージをインストールできた.

結果

下の画像を見ての通り,デフォルトで入ってなさそうな語句もきっちり変換候補に挙げてくれるようになった.

51cb2fd3e27fee114981c82fecdec90f.png

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2014-02-02 (日) 19:48:59 (1359d)