Linuxで実行しようとしているJNIを介してCコードを呼び出すJavaプログラムがあります。外部コードは、2つの.soファイルで構成されています。1つはJNIバインディング(swigで構築)用で、もう1つは実際の関数用です。同じディレクトリに2つのライブラリがあり、LD_LIBRARY_PATHが正しく設定されています。lddはコマンドラインから実行しても問題を報告しませんが、Eclipseエディターの[構成の実行]ダイアログでLD_LIBRARY_PATHを同じ値に設定してプログラムを実行しようとすると、次のエラーが発生します。
java.lang.UnsatisfiedLinkError:[ライブラリへのパス] /[JNIバインディングライブラリ].so:[実際のコードライブラリ] .so:共有オブジェクトファイルを開くことができません:そのようなファイルまたはディレクトリはありません
これにより、JNIラッパーライブラリが正常にロードされたと思いますが、そのライブラリが実際のコードを含むライブラリをロードしようとすると失敗します。これをさらにデバッグする方法はありますか?
さらに、この問題はeclipseエディター自体で発生しており、コードをjarにパッケージ化して、独立したjvmインスタンス内で実行しようとしたことはありません。