バイオインフォ道場、くまぞうです。
共有ライブラリのエラーが発生した場合の対応方法についてまとめます。“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 (...) ...
スポンサーリンク