2016-08-18 5 views
2

のJavaの場所を教えて:

java.lang.UnsatisfiedLinkError: jhdf5 (Not found in java.library.path) 
    at java.lang.ClassLoader.loadLibraryWithPath(ClassLoader.java:1256) 
    at java.lang.ClassLoader.loadLibraryWithClassLoader(ClassLoader.java:1226) 
    at java.lang.System.loadLibrary(System.java:537) 
    at hdf.hdf5lib.H5.loadH5Lib(H5.java:317) 
    at hdf.hdf5lib.H5.<clinit>(H5.java:257) 

にもかかわらず、ライブラリ(libjhdf5.so)ディレクトリにあります。

私には何が欠けていますか?

+0

Windowsでこれを実行していますか?またはLinux? – kuhajeyan

+0

unix(NERSCシステムの1つ) – AatG

+0

私はあなたが32bit/64のような異なるアーキテクチャー用にコンパイルされたライブラリを持っていると仮定します。そして、-Djava.library.pathやLD_LIBRARY_PATHのような変数の1つを使うだけで十分です。両方ではありません。あなたは$ PWD変数が正しく解釈されたのでしょうか? – kuhajeyan

答えて

0

/usr/libまたは/ usr/lib64にネイティブHDF5 Cライブラリがあることを確認してください。これらのネイティブCライブラリを使用しています。

https://github.com/WimS83/XSQConverter/blob/master/src/xsqconvertergit/interfaces/librariesZipped/hdf5_native_libs.zip

+0

私は共有システム上にあるので、ライブラリの場所を制御することはできませんが、libhdf5.soがLD_LIBRARY_PATHと-Djava.library.pathの両方のパスを追加しました。これでエラーは解決されません。 – AatG

+0

問題は、hdf5ライブラリのライブラリバージョンを共有していないことです。静的バージョンだけですが、Javaは共有ライブラリを探していました。 – AatG

関連する問題

 関連する問題