您正在没有32位运行时环境的64位系统上运行。
假设ubuntu / debian问题:
apt-get install libc6-i386
或者,您应该将软件包的64位版本安装到此VM中(这可能是最好的解决方案)。
错误消息来自运行时链接程序/加载程序。如果您这样做
readelf -l java,则会发现类似以下内容的行:
[Requesting program interpreter: /lib/ld-linux.so.2]
这是您对32位应用程序的期望,并且您可能未安装32位环境-请检查其中的ls -l
program interpreter。
和64位程序的示例如下所示(您的系统可能有所不同):
[Requesting program interpreter: /lib64/ld-linux-x86-64.so.2]
如果不是这种情况,并且您确实安装了32位libc,则可以尝试使用
ldd java,它将给出类似以下内容的清单:
linux-gate.so.1 => (0xf76ef000)libpthread.so.0 => /lib32/libpthread.so.0 (0xf76b3000)libjli.so => /home/bubba/java/jdk1.7.0_02/bin/./../jre/lib/i386/jli/libjli.so (0xf769f000)libdl.so.2 => /lib32/libdl.so.2 (0xf7699000)libc.so.6 => /lib32/libc.so.6 (0xf751f000)/lib/ld-linux.so.2 (0xf76f0000)
如果有
notfound几行这样说,那么您应该添加提供这些功能的pagkage,但是从中您可以看到,
ldd所有依赖项都是核心库,实际上所有Linux系统上都应该存在这些库。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)