libgcc_s.so.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日潰れてしまった・・・つらい
参考
- 共有ライブラリの確認(ldd)と設定(ldconfig)
- 共有ライブラリへパスを通す
ディスカッション
コメント一覧
まだ、コメントがありません