RHEL 6.4でコンパイルされた32ビットアプリケーションには、共有オブジェクトファイルlibfault.soがあります。アプリケーションの起動時にこのファイルをプリロードしたいと思います。私はそれを/usr/local/lib/ディレクトリに置きました。
ただし、アプリケーションの起動中に次のエラーが発生します。
ERROR: ld.so: object 'libfault.so' from LD_PRELOAD cannot be preloaded: ignored.
ただし、libfault.soを64ビットにコンパイルして/usr/local/lib64/に配置すると、エラーは発生しません。しかし、私のアプリケーションは32ビット用にコンパイルされたため、ファイルは期待した機能を実行しません。
ベストアンサー1
ロードするライブラリを探すときは、環境変数を使用して動的$LD_LIBRARY_PATH
ローダーの検索パスをオーバーライドできます。
単一のアプリケーションに対してこの操作を一時的に実行するには、次のように呼び出すことができます。
$ LD_LIBRARY_PATH=/usr/local/lib <your executable here>
この変数をエクスポートすると、シェルインスタンスをより恒久的に変更できます。
$ export LD_LIBRARY_PATH=/usr/local/lib
32ビット.so
ストレージの場所に対応できるように、必要に応じて上記のパスを調整します。