libgcc_s.so.1が見つからないと怒られた・・・

2023年1月1日

試しにopen-aiが公開しているモデルを使用しようと思ったら環境構築時点で死ぬほど躓きました・・・

その中で一番解決に時間かかったのがこちらです。

環境

WSL2: Pengwin

つらい

pythonからモデルを呼び出そうとしたところで以下のようなエラーが・・・

libgcc_s.so.1: cannot open shared object file: No such file or directory

何か本当に分からない。soファイルってなんぞ?

とりあえずsoファイルは共有ライブラリで/usr/libや/lib配下に配置されているものらしい。libgcc_s.so.1は本来Cコンパイラのgccと一緒にインストールされるものみたい。

あるにはあるみたいだけど

とりあえずfind

find /usr -iname 'libgcc_s.so.1'

findしてみたけどとりあえず見つかった。

/usr/lib/x86_64-linux-gnu/libgcc_s.so.1
/usr/lib32/libgcc_s.so.1
/usr/libx32/libgcc_s.so.1

見つかったけど何故読み込まれてないかよく分からない。

共有ライブラリの読み込み設定を調べてみた感じ

共有ライブラリには検索順があるらしく私の環境の場合は/etc/ld.so.confの情報を元に検索しているけど見つからないという状況のよう。

/etc/ld.so.confの内容はキャッシュとして/etc/ld.so.cacheに保存されているらしく、こちらが更新されていないのではという疑惑が・・・。

/etc/ld.so.cacheを更新する

というわけで最終的な解決方法はキャッシュを更新することでした。以下コマンドで/etc/ld.so.cacheを更新できます。

ldconfig

最後に

なんでこんなこと起きたのかと思ったけどPython環境構築するときにgccのインストール・更新・アンインストールやら色々やってたせいだろうなと思いました。

少し試そうと思ってただけなのにこんなことで年末の1日潰れてしまった・・・つらい

参考