Java

找不到打開的共享對象文件 libjli.so – 沒有這樣的文件或目錄

  • August 19, 2015

在執行 Java 1.6.0 update 16 的 64 位 RHEL5 上,root 可以成功執行 Java 程序,但使用者不能,因為libjli.so據說找不到。SELinux是關閉的,程序執行前的環境還是一樣的。我試過libjli.so加入,LD_LIBRARY_PATH但它沒有任何區別。

如何修復此錯誤?

想到的第一種可能性libjli.so是只能由 root 讀取。所以第一步:

ls -l $(locate libjli.so)

如果它位於奇數位置(不在/usr/libor中/lib),則創建/etc/ld.so.conf.d/java.conf包含目錄路徑的文件,該目錄包含libjli.so/sbin/ldconfig以 root 身份執行。

有關更多故障排除資訊,請以 root 身份和非 root 使用者身份執行此命令:

ldd java

在一個理智的世界中,兩者的輸出將是相同的。它們的不同之處應該可以告訴您很多有關失敗的原因。

引用自:https://serverfault.com/questions/57936