找不到打开的共享库文件libjli.so-没有这样的文件或目录


8

在运行Java 1.6.0更新16的64位RHEL5上,root用户可以成功运行Java程序,但用户无法运行,因为libjli.so据称找不到该用户。在运行程序之前,SELinux已关闭并且环境相同。我尝试放入libjli.soLD_LIBRARY_PATH但没有任何效果。

如何解决此错误?

Answers:


9

想到的第一种可能性是,libjli.so只有根目录才能读取。所以第一步:

ls -l $(locate libjli.so)

如果它位于一个奇怪的位置(不在/usr/lib或中/lib),则创建一个/etc/ld.so.conf.d/java.conf包含目录路径的文件,该目录包含libjli.so/sbin/ldconfig以root身份运行。

有关更多故障排除信息,请以超级用户和非超级用户身份运行此命令一次:

ldd java

在一个理智的世界中,两者的输出将是相同的。它们的不同之处应能告诉您很多有关失败的原因。


嘘,我已经设置了LD_LIBRARY_PATH,我认为ldconfig的conf是徒劳的。ldd java为libjli返回了一个包含“ ..”的相对路径,我想这没有奏效,因为打包程序希望此特定Java 1.6.0更新16 FCS客户端。
joeforker
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.