共有ライブラリパス設定反映コマンド ldconfig

サーバーの管理時、 ライブラリを追加してそのライブラリを必要とするプログラムを実行した処、 以下の様なエラーが出力されました。

実行プログラムパス:
  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

スポンサーリンク