2013-02-16 52 views
0

我試圖從我的java程序中使用本機庫。 我可以通過以下命令在/usr/local/lib中成功加載libpHash.so加載本地庫時出現UnsatisfiedLinkError

System.loadLibrary("pHash"); 

但是,當我試圖通過調用System.loadLibrary("pHash-jni")我得到以下錯誤在同一文件夾加載libpHash-jni.so

Exception in thread "main" java.lang.UnsatisfiedLinkError: /usr/local/lib/libpHash-jni.so: libpHash.so.0: cannot open shared object file: No such file or directory

爲什麼?


一些額外的信息:

  • libpHash.solibpHash.so.0都是符號鏈接到libpHash.so.0.0.0
  • libpHash.so.0.0.0libpHash-jni.so均爲ELF 64位LSB的共享對象
  • 我有64位JVM
+0

檢查您的容器中的其他應用程序是否已加載此程序,以防萬一您正在運行Web應用程序 – kuhajeyan 2015-09-19 20:04:07

回答

0

一種可能的解決方案是使用ldconfig更新動態鏈接程序高速緩存。如果這沒有解決問題您也可以嘗試設置LD_LIBRARY_PATH

export LD_LIBRARY_PATH=/usr/local/lib 

,並重新啓動程序。

相關問題