[ubuntu-jp:6516] bsfilter が動作しない
Yoshinaga Hiroyuki
yoshinaga.hiroyuki @ nifty.com
2022年 6月 12日 (日) 04:04:10 UTC
件名のとおりなのですが
> $ lsb_release -a
> No LSB modules are available.
> Distributor ID: Ubuntu
> Description: Ubuntu 22.04 LTS
> Release: 22.04
> Codename: jammy
> $ uname -a
> Linux xxx 5.15.0-37-generic #39-Ubuntu SMP Wed Jun 1 19:16:45 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
の環境だと、bsfilter でスコアは付けられるのですが、学習ができません
Ubuntu 21.10 では問題なく動作していました
実際に試すと、例えば次のようになります
> bsfilter --sub-clean --add-spam --insert-flag --insert-probability --update hoge
> <internal:/usr/lib/ruby/vendor_ruby/rubygems/core_ext/kernel_require.rb>:85:in `require': cannot load such file -- sdbm (LoadError)
> Did you mean? dbm
> from <internal:/usr/lib/ruby/vendor_ruby/rubygems/core_ext/kernel_require.rb>:85:in `require'
> from /usr/bin/bsfilter:3106:in `get_options'
> from /usr/bin/bsfilter:3262: in `setup'
> from /usr/bin/bsfilter:3413:in `<main>'
原因は、Ruby 3.0 で SDBM が標準ライブラリから削除されたからだと思います
Ubuntu のパッケージには Ruby の SDBM ライブラリがないようなので、現状次のようにする必要が有るようです
sudo apt install ruby-dev
sudo gem sdbm
それでは失礼します
--
吉永博之
yoshinaga.hiroyuki at nifty.com
ubuntu-jp メーリングリストの案内