我需要在solaris 5.9 sparc 64位中运行Java 7,但是当我运行它时,出现下一个错误:
$java -version
Error occurred during initialization of VM
Unable to load native library: ld.so.1: java: fatal: libscf.so.1: open failed: No such file or directory
对于32位或64位jdk-7,这都是相同的问题.
仅供参考,同一台机器上的Java 6没问题,但是我的要求是Java 7.
比较Java 6和Java 7之间的库:
-Java 6:
$ldd java
libthread.so.1 => /usr/lib/lwp/libthread.so.1
libjli.so => /myhome/SDK/jdk/bin/../jre/lib/sparc/jli/libjli.so
libdl.so.1 => /usr/lib/libdl.so.1
libc.so.1 => /usr/lib/libc.so.1
/usr/platform/SUNW,Sun-Fire-480R/lib/libc_psr.so.1
$-Java 7:
$ldd java
libthread.so.1 => /usr/lib/lwp/libthread.so.1
libjli.so => /myhome/jdk7/jdk1.7.0_21/bin/../jre/lib/sparc/jli/libjli.so
libdl.so.1 => /usr/lib/libdl.so.1
libc.so.1 => /usr/lib/libc.so.1
/usr/platform/SUNW,Sun-Fire-480R/lib/libc_psr.so.1
唯一的区别是libjli.so.我尝试使用Java 6版本进行替换,但出现新错误.
因此,有人知道libscf.so.1问题吗?或如何获得该图书馆?
非常感谢你的帮助.
解决方法:
libscf是服务管理工具(SMF)的一部分,仅是Solaris 10及更高版本的一部分.大概是您明确下载的软件包不支持Solaris 9之前的版本.
这里的系统要求:
http://docs.oracle.com/javase/7/docs/webnotes/install/solaris/solaris-jdk.html
明确指出您必须正在运行Solaris 10 Update 9或更高版本.
获得libscf的唯一方法是升级到Solaris的最新版本-无论如何这可能是个好主意.