由于mastodon修复一个重要的安全更新,为了运营安全,我也在刚刚尝试将目前正在运行的mastodon v4.2版本更新到v4.2.5

我的系统环境为Ubuntu 20.04.6 LTS,按升级指引,更新ruby到了3.2.3<在执行最后的预编译中碰到报错

cannot allocate memory in static TLS block – /home/mastodon/live/vendor/bundle/ruby/3.2.0/gems/msgpack-1.7.1/lib/msgpack/msgpack.so (LoadError)

导致升级无法继续进行,在查阅一些信息后发现,同样的问题在debian 11种也有出现,我通过以下命令解决此问题

echo /usr/lib/x86_64-linux-gnu/libjemalloc.so > /etc/ld.so.preload

另外两个可能有效的修复方式可以尝试

export LD_PRELOAD=/path/to/libjemalloc.so.2
RUBY_CONFIGURE_OPTS=--with-jemalloc rbenv install

Leave a comment

您的电子邮箱地址不会被公开。 必填项已用*标注

zh_CNZH_CN