from /home/mastodon/live/vendor/bundle/ruby/3.3.0/gems/bootsnap-1.18.4/lib/bootsnap/compile_cache.rb:15:in `require_relative'
from /home/mastodon/live/vendor/bundle/ruby/3.3.0/gems/bootsnap-1.18.4/lib/bootsnap/compile_cache.rb:15:in `setup'
from /home/mastodon/live/vendor/bundle/ruby/3.3.0/gems/bootsnap-1.18.4/lib/bootsnap.rb:68:in `setup'
from /home/mastodon/live/vendor/bundle/ruby/3.3.0/gems/bootsnap-1.18.4/lib/bootsnap.rb:112:in `default_setup' (3/4)

from /snap/ruby/369/lib/ruby/3.3.0/bundled_gems.rb:75:in `block (2 levels) in replace_require'
from /home/mastodon/live/vendor/bundle/ruby/3.3.0/gems/bootsnap-1.18.4/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'
from /home/mastodon/live/vendor/bundle/ruby/3.3.0/gems/bootsnap-1.18.4/lib/bootsnap/compile_cache/iseq.rb:3:in `<top (required)>' (2/4)

どういう意味?これ

$ RAILS_ENV=production bundle exec rails assets:precompile
/snap/ruby/369/lib/ruby/3.3.0/bundled_gems.rb:75:in `require': /snap/core20/current/lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.33' not found (required by /home/mastodon/live/vendor/bundle/ruby/3.3.0/gems/bootsnap-1.18.4/lib/bootsnap/bootsnap.so) - /home/mastodon/live/vendor/bundle/ruby/3.3.0/gems/bootsnap-1.18.4/lib/bootsnap/bootsnap.so (LoadError) (1/4)

from /home/mastodon/live/vendor/bundle/ruby/3.3.0/gems/bootsnap-1.18.4/lib/bootsnap/setup.rb:5:in `<top (required)>'
from /snap/ruby/369/lib/ruby/3.3.0/bundled_gems.rb:75:in `require'
from /snap/ruby/369/lib/ruby/3.3.0/bundled_gems.rb:75:in `block (2 levels) in replace_require'
from /home/mastodon/live/config/boot.rb:18:in `<top (required)>'
from bin/rails:3:in `require_relative'
from bin/rails:3:in `<main>' (4/4)

@shorty Ubuntuのアップグレードしたのね?

その場合、vendorディレクトリを全部消してbundle installして入れ直さないと、共有ライブラリが以前のUbuntuの古いバージョンを参照したままになってしまうのです。

Unubtu 24.04を入れたなら、おそらくlibcのバージョンは2.39。このログをみると2.33にリンクしてる。

libcは、基本的な機能を提供する共有ライブラリです。

対処法: mastodonユーザの /home/mastodon/live ディレクトリで、vendorを削除して、gemを全部入れ直す。

sudo -iu mastodon
cd ~/live

rm -fr vendor

RAILS_ENV=production bundle install

実行しましたが、yarn installで「/live$ yarn install
00h00m00s 0/0: : ERROR: [Errno 2] No such file or directory: 'install’」と出ますね・・・

@shorty この際、nodeも綺麗にして入れ直した方がいいかも。

通常の作業ユーザーで……

消す。

sudo apt purge nodejs
sudo apt purge yarn

Ubuntu標準提供以外のaptリポジトリを追加しているファイルを確認

sudo ls /etc/apt/sources.list.d/

nodesource.listとかyarn.listなどのファイルがあったら削除。

sudo rm /etc/apt/sources.list.d/nodesource.list
sudo rm /etc/apt/sources.list.d/yarn.list

で、改めて追加。

curl -fsSL deb.nodesource.com/gpgkey/node | sudo gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg

echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] deb.nodesource.com/node_20.x nodistro main" | sudo tee /etc/apt/sources.list.d/nodesource.list

@shorty nodejsをインストールしなおし。

sudo apt update
sudo apt install nodejs

node -v

認識できたらひとまずOK

mastodonユーザーで、node -v でみえるか確認。

corepack enable
corepack prepare

yarn -v

って感じかな?

$ sudo apt update
E: Malformed entry 1 in list file /etc/apt/sources.list.d/nodesource.list (URI parse)
E: The list of sources could not be read.
何が間違っているのでしょう・・・

@shorty この nodesource.list が何かおかしいようなので、中身を確認しましょう。

sudo -e /etc/apt/sources.list.d/nodesource.list

本来はこういう内容です。

deb [signed-by=/etc/apt/keyrings/nodesource.gpg] deb.nodesource.com/node_20.x nodistro main

(この内容で上書きしちゃってもいいです)

上書きしましたが、同じエラーで止まりますね。もう無理かもしれません・・・

@shorty 作戦を変更して、nodejsのインストールをnodenvでやってみましょう。

この方法では、nodeの環境をmastodonユーザーの環境に閉じて構築します。(システムのnodejsは無視されます)

まず、mastodonユーザーに切り替えてから実行です。

sudo -iu mastodon

このあとのコマンドはMastodon上だと扱いづらいので、こちらにまとめておきます。
gist.github.com/noellabo/60261

ここまでで、無事にyarn 4.5.0がインストールできたら、yarn installに進めます。

設定後、systemdのunitファイルの設定を変更する必要があるので、追って説明します。

フォロー

@shorty 一応、Mastodonにもあげておきます。

git clone github.com/nodenv/nodenv ~/.nodenv
cd ~/.nodenv && src/configure && make -C src
echo 'export PATH="$HOME/.nodenv/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(nodenv init -)"' >> ~/.bashrc

cd ~
source .bashrc

mkdir -p "$(nodenv root)"/plugins
git clone github.com/nodenv/node-build.g "$(nodenv root)"/plugins/node-build
git clone github.com/nodenv/nodenv-updat "$(nodenv root)"/plugins/nodenv-update

nodenv install 20.15.1
nodenv global 20.15.1

cd live

corepack enable
corepack prepare --activate

ログインして会話に参加
Fedibird

様々な目的に使える、日本の汎用マストドンサーバーです。安定した利用環境と、多数の独自機能を提供しています。