SakuraWi - BLog

WEBエンジニア。聴いたお話をまとめておく倉庫的な。スタックストックスタック!

GithubActionsでLoadError: libffi.so.6と怒られてRspecが実行できない場合の対処方法


結論

githubactionsでLoadError: libffi.so.6のエラーが出ている場合、

以下を実行させると一応通るようにはなる.

sudo ln -s /usr/lib/x86_64-linux-gnu/libffi.so.7.1.0 /usr/lib/x86_64-linux-gnu/libffi.so.6

原因

github actionsのosのubuntsuを20.4にアップしているのが問題のよう。

gemとかrailsが libffi.so.6をみてて、20.4のubuntsuは7か8をみているようです。

Run bundle exec rails db:schema:load
rails aborted!
LoadError: libffi.so.6: cannot open shared object file: No such file or directory - /home/runner/work/coffee-stands/coffee-stands/vendor/bundle/ruby/2.6.0/gems/ffi-1.14.2/lib/ffi_c.so

f:id:Saku-Saku:20210302172725p:plain

たぶんこれが来たんでしょうね。

対処方法の詳しい版

githubactionsの yarn installとか、bundle installの実行後に、以下をやっておくとlibffi.so.6をみるようになる。

一時的な対応としてはよさそうだけど、根本的によろしくはないと思うので、一時対応をしたいようということで。

参考

https://github.com/ffi/ffi https://www.chazine.com/archives/4166