共有ライブラリのエラー対処法

バイオインフォ道場、くまぞうです。

共有ライブラリのエラーが発生した場合の対応方法についてまとめます。“cannot open shared object file: No such file or directory”というエラーが表示されたら、共有ライブラリの依存関係をチェックして、再度ツールの起動を試してみましょう。

スポンサーリンク



共有ライブラリへパスを通す

個人用のライブラリパス設定

環境変数LD_LIBRARY_PATHを設定することで、共有ライブラリの検索パスに追加することができます。再起動すると設定は消えてしまうので、設定を残したい場合は、/etc/ld.so.confに管理者権限で記述します。

$ export LD_LIBRARY_PATH="target_lib_path":$LD_LIBRARY_PATH

システム全体のライブラリパス設定

システム全体のライブラリパスを設定したい場合は、/etc/ld.so.confにパスを追記します。管理者権限で実行します。

$ cat /etc/ld.so.conf
include /etc/ld.so.conf.d/*.conf
"target_lib_path"

/etc/ld.so.confを更新したら、ldconfigコマンドでキャッシュ情報を更新します。管理者権限で実行します。

# ldconfig
# ldconfig -v # 確認

共有ライブラリの依存関係表示

lddコマンドで、実際にどこのライブラリが使われているかを確認することができます。

$ ldd `which fasta_formatter(path_of_tool)`
  linux-vdso.so.1 =>  (0x00007ffff055f000)
  libgtextutils-0.7.so.0 => /usr/local/lib/libgtextutils-0.7.so.0 (...)
  libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (...)
  ...
スポンサーリンク