■エラー
unixやらlinuxでアプリを実行しようとして以下のメッセージが出たとき
[cannot open shared object file: No such file or directory]
たぶん使うライブラリが見つかってない。
■対処
・必要なライブラリを調べる。
ldd [アプリ名]
で必要なライブラリと、
ライブラリの在り処がわかってるかどうかが表示される。
libxerces-c.so.21 => not found
↑のように表示されるときはライブラリの場所が分からんよ。
ということなので
shellのライブラリ検索用パスを設定する変数
LD_LIBRARY_PATH
にパスを設定してやる。
・LD_LIBRARY_PATHへの設定
今使ってる環境では
setenv LD_LIBRARY_PATH [ライブラリを検索するディレクトリのパス]
で設定できた。
■---追記
ようは環境変数PATHなどの設定と同じなので
既にLD_LIBRARY_PATHが設定されている状態で
上記のコマンドを実行すると
設定が上書きされるので注意。
追加でパス設定したい場合は
PATHの追加同様でいけるハズ
■---追記ここまで
設定の確認は
env | grep LD_LIBRARY_PATH
で。
unixやらlinuxでアプリを実行しようとして以下のメッセージが出たとき
[cannot open shared object file: No such file or directory]
たぶん使うライブラリが見つかってない。
■対処
・必要なライブラリを調べる。
ldd [アプリ名]
で必要なライブラリと、
ライブラリの在り処がわかってるかどうかが表示される。
libxerces-c.so.21 => not found
↑のように表示されるときはライブラリの場所が分からんよ。
ということなので
shellのライブラリ検索用パスを設定する変数
LD_LIBRARY_PATH
にパスを設定してやる。
・LD_LIBRARY_PATHへの設定
今使ってる環境では
setenv LD_LIBRARY_PATH [ライブラリを検索するディレクトリのパス]
で設定できた。
■---追記
ようは環境変数PATHなどの設定と同じなので
既にLD_LIBRARY_PATHが設定されている状態で
上記のコマンドを実行すると
設定が上書きされるので注意。
追加でパス設定したい場合は
PATHの追加同様でいけるハズ
■---追記ここまで
設定の確認は
env | grep LD_LIBRARY_PATH
で。