(注: 以下のバイナリおよびバイナリとライブラリの名前は、悪意のない人を保護するために難読化されています。;-) アプリは NDA に基づいて所有されていますが、動作はそれに依存しない場合があります。)
実行時に次のエラーを出力する Linux バイナリがあります。
バイナリ: 共有ライブラリの読み込み中にエラーが発生しました: libshared.so: 共有オブジェクト ファイルを開けません: そのようなファイルまたはディレクトリはありません
libshared.so が LD_LIBRARY_PATH にあるため、それ自体が混乱を招きます。でも、
実行時にライブラリが正しく検出される
ldd binary
(つまり、ldd の出力がファイルの場所を指している)の実行時にライブラリが正しく検出される
strace binary
ため、プログラムはその使用情報を出力できます。
独自に実行した場合と strace で実行した場合で動作が異なるアプリケーションを見たことがありませんが、他の誰かが以前にこれが起こるのを見たことがあるのではないでしょうか? これを解決する方法はありますか?
ソースを持っていないので、再構築できません。strace の下で本番環境でアプリを実行することは、おそらく非初心者です。OSはRHEL6.2です。