いくつかの共有ライブラリ (gcc の c コード) を使用するコードがあります。コンパイル時には、-I と -L を使用してインクルード ディレクトリとライブラリ ディレクトリを明示的に定義する必要があります。これらは標準の場所にないためです。コードを実行しようとすると、次のエラーが発生します。
./sync_test
./sync_test: error while loading shared libraries: libsync.so: cannot open shared object file: No such file or directory
ただし、次の手順を実行すると、すべてが正常に機能します。
export LD_LIBRARY_PATH="/path/to/library/"
./sync_test
さて、奇妙な部分は、これが一度しか機能しないことです。sync_test を再度実行しようとすると、export コマンドを最初に実行しない限り、同じエラーが発生します。以下を .bashrc に追加しようとしましたが、違いはありませんでした。
LD_LIBRARY_PATH="/path/to/library/"