読者です 読者をやめる 読者になる 読者になる

error while loading shared libraries

linux

こんな感じのエラーが出たので調べた

error while loading shared libraries: hogehoge.so.0: cannot open shared object file: No such file or directory

ダイナミックリンクされたファイルが見つからないという意味らしい
lddによって対象のコマンドにリンクしているファイルがわかる

$ ldd hogehoge
linux-vdso.so.1 =>  (0x00007fffe1582000)
libselinux.so.1 => /lib/libselinux.so.1 (0x00007f2ce95b1000)
hogehoge.so.1 => not found

このようにnot foundになっているものはリンクできていない

/etc/ld.so.confに必要なsoファイルがあるディレクトリのパスを追加する

# sudo vi /etc/ld.so.conf
/usr/local/hogehoge/lib

以下で設定を読み込み

$ ldconfig

これでリンクされるようになったはず
-pで確認できる

$ ldconfig -p | grep hogehoge