お知らせ

  • 利用規約を守って投稿してください。また、よくある質問および投稿の手引きも参照してください。
  • メッセージの投稿にはアカウントが必要です。未登録の方は、ユーザ登録ページからアカウントを作成することができます。

#1 2014-06-18 23:00:07

Hiroshi Kubo
メンバ
登録日: 2013-09-22

recoll indexingの際の意味不明のエラーメッセージ

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は日本語テキストをチェックするようにはなっていない。

その結果,上のようなメッセージを受け取ることになる。こんな感じでしょうか。

このエラーメッセージを抑制することは可能ですか。何をすれば抑制できますか。

このままでも実害はないようですが,助言を頂戴できれば幸いです。

---久保

オフライン

 

#2 2014-06-28 12:03:53

katsu07
ゲスト

Re: recoll indexingの際の意味不明のエラーメッセージ

既に解決済みかもしれませんが、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の動きその物は確認していませんが、この設定で動作に異常が無ければエラーメッセージは消す事は可能な様です。

 

#3 2014-06-30 15:51:00

Hiroshi Kubo
メンバ
登録日: 2013-09-22

Re: recoll indexingの際の意味不明のエラーメッセージ

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の設定は元に戻しました。
これらの現象は,検索に支障が生じたところで必要なら調査することとし,当面放置します。

今後ともよろしくお願いします。

---久保

オフライン

 

Board footer

Powered by FluxBB