java報找不到共享庫libjli.sl的錯誤

charsi發表於2011-08-29

應用使用者要用到java 6的環境,但總是報錯,如下:
%/opt/java6/bin/java -version
/usr/lib/dld.sl: Can't find path for shared library: libjli.sl
/usr/lib/dld.sl: No such file or directory
Abort(coredump)

而如果使用root使用者執行的話,就沒有問題
[root@abptst5:/opt/java6/bin#]./java -version
java version "1.6.0.04"
Java(TM) SE Runtime Environment (build 1.6.0.04-jinteg_28_apr_2009_04_46-b00)
Java HotSpot(TM) Server VM (build 11.3-b02-jre1.6.0.04-rc2 PA2.0 (aCC_AP), mixed mode)
[root@abptst5:/opt/java6/bin#]id
uid=0(root) gid=3(sys) groups=0(root),1(other),2(bin),4(adm),5(daemon),6(mail),7(lp),20(users)


從網上找了一個方法,就是應用使用者設定SHLIB_PATH的環境變數,指向/opt/java6/jre/lib/PA_RISC2.0/jli,但是嘗試之後卻不一定管用.


很明顯這個問題的現象是root使用者有許可權呼叫libjli.sl檔案,而應用使用者則沒有許可權.
將/opt/java6/jre目錄的許可權調整為755之後,問題就解決了.

chmod -R 755 /opt/java6/jre/

[@more@]

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/23850820/viewspace-1054532/,如需轉載,請註明出處,否則將追究法律責任。

相關文章