Project

General

Profile

Actions

バグ #1569

closed

ruby3.1.0環境で新規confでの起動に失敗する

Added by あひる 家鴨 6 months ago. Updated 6 months ago.

Status:
終了
Priority:
通常
Target version:
プラグイン名:
uitranslator
ブランチ:
topic/1569-gettext-prime
クラッシュする:
Yes

Description

ruby 3.1.0 環境で新規confで起動しようとすると、下記エラーで落ちます。

/home/ahiru/work/mikutter/mikutter/vendor/bundle/ruby/3.1.0/gems/gettext-3.4.1/lib/gettext/mo.rb:178:in `require': cannot load such file -- mathn (LoadError)
        from /home/ahiru/work/mikutter/mikutter/vendor/bundle/ruby/3.1.0/gems/gettext-3.4.1/lib/gettext/mo.rb:178:in `next_prime'
        from /home/ahiru/work/mikutter/mikutter/vendor/bundle/ruby/3.1.0/gems/gettext-3.4.1/lib/gettext/mo.rb:217:in `save_to_stream'
        from /home/ahiru/work/mikutter/mikutter/vendor/bundle/ruby/3.1.0/gems/gettext-3.4.1/lib/gettext/mo.rb:292:in `block in save_to_file'
        from /home/ahiru/work/mikutter/mikutter/vendor/bundle/ruby/3.1.0/gems/gettext-3.4.1/lib/gettext/mo.rb:292:in `open'
        from /home/ahiru/work/mikutter/mikutter/vendor/bundle/ruby/3.1.0/gems/gettext-3.4.1/lib/gettext/mo.rb:292:in `save_to_file'
        from /home/ahiru/work/mikutter/mikutter/vendor/bundle/ruby/3.1.0/gems/gettext-3.4.1/lib/gettext/tools/msgfmt.rb:58:in `run'
        from /home/ahiru/work/mikutter/mikutter/vendor/bundle/ruby/3.1.0/gems/gettext-3.4.1/lib/gettext/tools/msgfmt.rb:38:in `run'
        from /home/ahiru/work/mikutter/mikutter/plugin/uitranslator/uitranslator.rb:37:in `block in spec='
        from /home/ahiru/work/mikutter/mikutter/plugin/uitranslator/uitranslator.rb:34:in `each'
        from /home/ahiru/work/mikutter/mikutter/plugin/uitranslator/uitranslator.rb:34:in `spec='
        from /home/ahiru/work/mikutter/mikutter/core/miquire_plugin.rb:156:in `block (2 levels) in load'
        from /home/ahiru/work/mikutter/mikutter/vendor/bundle/ruby/3.1.0/gems/pluggaloid-1.7.0/lib/pluggaloid/plugin.rb:39:in `instance_eval'
        from /home/ahiru/work/mikutter/mikutter/vendor/bundle/ruby/3.1.0/gems/pluggaloid-1.7.0/lib/pluggaloid/plugin.rb:39:in `create'
        from /home/ahiru/work/mikutter/mikutter/core/miquire_plugin.rb:155:in `block in load'
        from /home/ahiru/work/mikutter/mikutter/core/utils.rb:288:in `block in atomic'
        from /home/ahiru/work/mikutter/mikutter/core/utils.rb:288:in `synchronize'
        from /home/ahiru/work/mikutter/mikutter/core/utils.rb:288:in `atomic'
        from /home/ahiru/work/mikutter/mikutter/core/miquire_plugin.rb:147:in `load'
        from /home/ahiru/work/mikutter/mikutter/core/miquire_plugin.rb:149:in `block (2 levels) in load'
        from /home/ahiru/work/mikutter/mikutter/core/miquire_plugin.rb:148:in `each'
        from /home/ahiru/work/mikutter/mikutter/core/miquire_plugin.rb:148:in `block in load'
        from /home/ahiru/work/mikutter/mikutter/core/utils.rb:288:in `block in atomic'
        from /home/ahiru/work/mikutter/mikutter/core/utils.rb:288:in `synchronize'
        from /home/ahiru/work/mikutter/mikutter/core/utils.rb:288:in `atomic'
        from /home/ahiru/work/mikutter/mikutter/core/miquire_plugin.rb:147:in `load'
        from /home/ahiru/work/mikutter/mikutter/core/miquire_plugin.rb:99:in `block in load_all'
        from /home/ahiru/work/mikutter/mikutter/core/miquire_plugin.rb:40:in `block in each_spec'
        from /home/ahiru/work/mikutter/mikutter/core/miquire_plugin.rb:35:in `each'
        from /home/ahiru/work/mikutter/mikutter/core/miquire_plugin.rb:35:in `each'
        from /home/ahiru/work/mikutter/mikutter/core/miquire_plugin.rb:38:in `each_spec'
        from /home/ahiru/work/mikutter/mikutter/core/miquire_plugin.rb:98:in `load_all'
        from /home/ahiru/work/mikutter/mikutter/core/boot/load_plugin.rb:14:in `<top (required)>'
        from mikutter.rb:55:in `require'
        from mikutter.rb:55:in `<main>'

ruby3.1.0からgettextがrequireしているprime gemがdefault gemsからbundle gemsに移行されたことが原因のようです。
具体的にはprimeをrequireしようとした結果、LoadErrorとなりエラーハンドリングでmathnがrequireされているが、そんな依存はないのでmathnもLoadErrorとなり上記エラーを発生させています。
参考までにprime gemがdefault gemからbundle gemに移行した情報は下記のとおりです。

再現手順

ruby 3.1.0 使用して、新規confで起動する。

Actions #1

Updated by toshi_a 初音 6 months ago

  • Target version changed from 5.1 to 5.0
Actions #2

Updated by あひる 家鴨 6 months ago

本来的にはgettext側の対応が必要なように思いますが、対応バージョンのgettextが出るまでの間uitranslatorのGemfileにprimeを追加するというのはいかがでしょうか?

Actions #3

Updated by toshi_a 初音 6 months ago

  • Status changed from 分類待ち to 実装待ち

対応バージョンのgettextが出るまでの間uitranslatorのGemfileにprimeを追加するというのはいかがでしょうか?

その方針でOKです。

Actions #4

Updated by あひる 家鴨 6 months ago

  • Status changed from 実装待ち to レビュー待ち
  • Assignee changed from あひる 家鴨 to toshi_a 初音
  • ブランチ set to topic/1569-gettext-prime

topic/1569-gettext-prime にプッシュしました。
gettextへは後ほどissueをたててみます。

Actions #5

Updated by toshi_a 初音 6 months ago

  • Status changed from レビュー待ち to マージ待ち
Actions #6

Updated by toshi_a 初音 6 months ago

  • Status changed from マージ待ち to 終了

merged.

Actions

Also available in: Atom PDF