サーバーの管理時、 ライブラリを追加してそのライブラリを必要とするプログラムを実行した処、 以下の様なエラーが出力されました。
実行プログラムパス:
error while loading shared libraries:
libavdevice.so.52:
cannot open shared object file:
No such file or directory
error while loading shared libraries:
libavdevice.so.52:
cannot open shared object file:
No such file or directory
共有ライブラリがシステムに認識されていないようです。 この設定は /etc/ld.so.conf に記されており、それは
include ld.so.conf.d/*.conf
/usr/sausalito/lib
となっていました。
従って
ld.so.conf.d
ディレクトリに拡張子を
conf
として追加したライブラリを含むパスを記したファイルを用意しました。
しかし用意するだけではプログラムを実行しても、
同じエラーファイルが空しく繰り返されるだけです。
/usr/sausalito/lib
実はこの /etc/ld.so.conf の情報は直接には利用されておらず、 これより生成される /etc/ld.so.cache をプログラムは実行時参照するようです。 従ってこのファイルを /etc/ld.so.conf の情報に基づいて更新させてやらなければなりません。
それに該当するコマンドが
# /sbin/ldconfig
になります。
このコマンド実行後、
プログラムを実行した処、上手く起動しました。
環境は以下です。
サーバー:centos5.5