サーバーの管理時、
ライブラリを追加してそのライブラリを必要とするプログラムを実行した処、
以下の様なエラーが出力されました。
実行プログラムパス:
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
として追加したライブラリを含むパスを記したファイルを用意しました。
しかし用意するだけではプログラムを実行しても、
同じエラーファイルが空しく繰り返されるだけです。
実はこの
/etc/ld.so.conf
の情報は直接には利用されておらず、
これより生成される
/etc/ld.so.cache
をプログラムは実行時参照するようです。
従ってこのファイルを
/etc/ld.so.conf
の情報に基づいて更新させてやらなければなりません。
それに該当するコマンドが
# /sbin/ldconfig
になります。
このコマンド実行後、
プログラムを実行した処、上手く起動しました。
環境は以下です。
サーバー:centos5.5