
Ubuntu日本語フォーラム

ログインしていません。
recoll のインデックス作成で,helper programsが足りないと言われることはなくなりましたが,
意味不明のエラーメッセージを受け取ります。
これについてもご相談させてください。エラーメッセージは下記のようです。
:2:../utils/netcon.cpp:370:NetconData::send: send(12) errno 32 (Broken pipe)
:2:../utils/execmd.cpp:279:ExecWriter: data: can't write
:2:../index/indexer.cpp:305:ConfIndexer::createAspellDict: aspell buildDict failed: aspell dictionary creation command failed.
One possible reason might be missing language data files for lang = ja
ソフトウェアセンターで調べるとaspell(GNU aspell スペルチェッカ)はインストールされている。
しかしaspellは日本語テキストをチェックするようにはなっていない。
その結果,上のようなメッセージを受け取ることになる。こんな感じでしょうか。
このエラーメッセージを抑制することは可能ですか。何をすれば抑制できますか。
このままでも実害はないようですが,助言を頂戴できれば幸いです。
---久保
オフライン
既に解決済みかもしれませんが、virtualbox中のubuntu 14.04-remix-32bitで確認してみました。
公式レポジトリにaspell-jaは存在していない。
実際にインストールされているのはaspell-enだった。
aspell-docパッケージをインストールしてみるとjapaneseはunsupportedに記述されている。
aspellのmanページには、使用する言語を設定するオプション記述がされている。
/etc/aspell.conf又は~/.aspell.confに以下を記述する。 # aspell-jaは存在しないのでインストールされているenglish(aspell-en)を指定 lang en_US
しかし、~/.aspell.confを作成してオプションを記述しても、recollindexからの制御には効果が無い様でエラーとなる。
~/.aspell.confを削除し、recollからのオプション設定を探してみる。
preferences - indexing configuration - Global parametersタブにある、Aspell languageに"en"を記述する。(""は不要)
一度recollを終了し、端末よりrecollindexで確認すると該当のエラーは出力されなくなる。
一応"en_US"も試してみたが、こちらでは効果が無い。(""は不要)
recollの動きその物は確認していませんが、この設定で動作に異常が無ければエラーメッセージは消す事は可能な様です。
katsu07さん,
詳細な調査と報告に感謝します。
katsu07 による投稿:
既に解決済みかもしれませんが、virtualbox中のubuntu 14.04-remix-32bitで確認してみました。
公式レポジトリにaspell-jaは存在していない。
実際にインストールされているのはaspell-enだった。
aspell-docパッケージをインストールしてみるとjapaneseはunsupportedに記述されている。
エラーメッセージがでても実害はなさそうだったので,そのまま放置してありました。
aspell-ja, aspell-en, aspell-docに関する事項は確認しました。
katsu07 による投稿:
aspellのmanページには、使用する言語を設定するオプション記述がされている。
コード:
/etc/aspell.conf又は~/.aspell.confに以下を記述する。 # aspell-jaは存在しないのでインストールされているenglish(aspell-en)を指定 lang en_US
aspellのmanページも確認しました。
katsu07 による投稿:
しかし、~/.aspell.confを作成してオプションを記述しても、recollindexからの制御には効果が無い様でエラーとなる。
これは確認していませんが,以下の設定は確認しました。
katsu07 による投稿:
~/.aspell.confを削除し、recollからのオプション設定を探してみる。
preferences - indexing configuration - Global parametersタブにある、Aspell languageに"en"を記述する。(""は不要)
一度recollを終了し、端末よりrecollindexで確認すると該当のエラーは出力されなくなる。
一応"en_US"も試してみたが、こちらでは効果が無い。(""は不要)
recollの動きその物は確認していませんが、この設定で動作に異常が無ければエラーメッセージは消す事は可能な様です。
確かにこの設定で下記のエラーメッセージはでなくなりました。
:2:../utils/netcon.cpp:370:NetconData::send: send(12) errno 32 (Broken pipe) :2:../utils/execmd.cpp:279:ExecWriter: data: can't write :2:../index/indexer.cpp:305:ConfIndexer::createAspellDict: aspell buildDict failed: aspell dictionary creation command failed.
実験的に調べた限り,recollの動作に変化は見られません。エラーメッセージはもらいますが,それはインデクス作成対象ファイルに含まれるデータに関するもののようで,設定変更の前後での変化は認められません。エラーメッセージは具体的には
:2:../internfile/internfile.cpp:878:FileInterner::internfile: next_document error
というもので,warファイルに対して出されています。ならばこのエラーメッセージを抑制してやろうと
~/.recoll/recoll.conf
に
skippedNames = .war
の行を追加してみました。結果は逆効果でした。エラーを抑制するどころか他のエラーを増産しました。それをみてrecoll.confの設定は元に戻しました。
これらの現象は,検索に支障が生じたところで必要なら調査することとし,当面放置します。
今後ともよろしくお願いします。
---久保
オフライン