うちのサーバですが、メンテ失敗でサービスが停止してしまいました。復帰の見込みが今のところないので、当面こちらのアカウントをメインで使わさせていただきます。
#mynoghra_info
いちおメモとして。
v3.1rc1バージョンアップでエラーになったため、ブランチごと正常運用してたものに戻しましたが、sidekiqが1個死にました。
原因は分かってますが、直せる見込みがないです。
#lucida_adm
とりあえず、
gem、bandle、yarnを全て作りなおしたけど、エラーは解決できず。もう手がないですね。😭
#lucida_adm
Rubyのバージョンについてはmastodon依存というより、Cent OSの場合、GCCが最新の9.2だとRubyが2.7でないとコケるアプリがある、そんな気がするなぁ。勘だけど。
わたしの勘がそう告げている...←は?
#lucida_adm
なお、サーバは今現在もぶっ壊れたままです。
いちお、やっぱり、mastodonのカレントからだとrubyが古いので(それでも2.6.5なんだけど)ライブラリの参照ができずにプリコンが通ってないのだと思います。パスの通し方を調査してます。
やること。
1.Rubyの最新をmastodon権限に読ませる
2.bundleを一旦削除
3.gemシステムそのもののアップデート
4.mastodonで使うgemのインストール
5.cld3のインストール(いるの?)
6.bundleのインストール
7.yarnインストール
8.migrate→pricompile
9.mastodon再起動
#lucida_adm #るしメモ
やっぱりgemで使うprotobuf(cld3)と、yumでインストールするprotobufがぶつかってる可能性がありそう。
ただ、yum側をアンインストールすると、gemでcld3をインストールしてもbundle installでエラーになる。
逆だとgemから手動でcld3を消してもbundle installでcld3が入ってしまうので、migrationやpricompileでエラーになる。
もうどうしようもない...😭
#lucida_adm
protobuf-lite-develを入れてみては、という情報をゲット。次て試す。
#るしメモ #lucida_adm
てかサービス異常になってるからか、activepubも死んでるやんけ。えらいこっちゃだな...(今更か)
とりまIndexにはサービス停止しちゃってる旨書いておくか。めんどくさいけど。
こういうとき予備垢フォローしておけば、こんな面倒なことにはならないんですよ。分かったか?w
#mynoghra_info
$ RAILS_ENV=production bundle exec rails assets:precompile
rails aborted!
LoadError: Could not open library '/home/mastodon/live/vendor/bundle/ruby/2.7.0/gems/cld3-3.2.6/lib/../ext/cld3/libcld3.so': /home/mastodon/live/vendor/bundle/ruby/2.7.0/gems/cld3-3.2.6/lib/../ext/cld3/libcld3.so: undefined symbol: _ZNK6google8protobuf11MessageLite25InitializationErrorStringB5cxx11Ev
/home/mastodon/live/vendor/bundle/ruby/2.7.0/gems/ffi-1.10.0/lib/ffi/library.rb:145:in `block in ffi_lib'
#るしメモ
Rubyを2.7にアップデートしたことでダンプが増えただけで、コケ方は同じということが分かった。結局解決できず、堂々巡りになってるなぁ...
#lucida_adm
mastodonってサービス止めてもbundle installってできるのか....。ってRailsが動いていれば実行できるのは当たり前か。(ほんとにぃ?)
#lucida_adm
そしたら次はprotobuf(cld3)をyumから排除してgemから使えるように調整しようか。
#lucida_adm
protobufってgemのやつもあるのか。次これ試す。
$ gem install protobuf
こんな感じかな。
なおyumからprotobufは抜き去ってる。にどとつかわん。(ほんまか?)
てか、今気づいたんだけどmastodon直下だとyumのパッケージが読めないみたい。これが原因じゃね... つまり、必死こいてyumでprotobuf入れ込んでもパッケージはみえない=rubyから読めない。
これか?
#lucida_adm
現状をまとめるとこんな感じ。
・元々GCCとRubyが古かった。
・新mastodonのRubyはv2.7.0以上でないと動作しない(厳しくね?w)
対応後、
・GCC、Rubyとも最新になったが、mastodonフォルダ直下だとRubyが古いままになってる。
→bundleのインストールがRubyが古いまま実行される→コケる
こんな感じ。
#lucida_adm