java.lang.RuntimeException:java.lang.UnsatisfiedLinkError:在jar文件中找不到存根库

我是hbase新手。 我在Ubuntu 14.04 LTS上安装了Java 1.7.0的Hadoop 2.3.0和Hbase 0.98.3。 当我运行“./bin/hbase shell”命令时,发生这个错误:

java.lang.RuntimeException: java.lang.UnsatisfiedLinkError: Could not locate stub library in jar file. Tried [jni/ı386-Linux/libjffi-1.0.so, /jni/ı386-Linux/libjffi-1.0.so] at com.kenai.jffi.Foreign$InValidInstanceHolder.getForeign(Foreign.java:90) at com.kenai.jffi.Foreign.getInstance(Foreign.java:95) at com.kenai.jffi.Library.openLibrary(Library.java:151) at com.kenai.jffi.Library.getCachedInstance(Library.java:125) at com.kenai.jaffl.provider.jffi.Library.loadNativeLibraries(Library.java:66) at com.kenai.jaffl.provider.jffi.Library.getNativeLibraries(Library.java:56) at com.kenai.jaffl.provider.jffi.Library.getSymbolAddress(Library.java:35) at com.kenai.jaffl.provider.jffi.Library.findSymbolAddress(Library.java:45) at com.kenai.jaffl.provider.jffi.AsmLibraryLoader.generateInterfaceImpl(AsmLibraryLoader.java:188) at com.kenai.jaffl.provider.jffi.AsmLibraryLoader.loadLibrary(AsmLibraryLoader.java:110) at com.kenai.jaffl.provider.jffi.Provider.loadLibrary(Provider.java:31) at com.kenai.jaffl.provider.jffi.Provider.loadLibrary(Provider.java:25) at com.kenai.jaffl.Library.loadLibrary(Library.java:76) at org.jruby.ext.posix.POSIXFactory$LinuxLibCProvider$SingletonHolder.<clinit>(POSIXFactory.java:108) at org.jruby.ext.posix.POSIXFactory$LinuxLibCProvider.getLibC(POSIXFactory.java:112) at org.jruby.ext.posix.BaseNativePOSIX.<init>(BaseNativePOSIX.java:30) at org.jruby.ext.posix.LinuxPOSIX.<init>(LinuxPOSIX.java:17) at org.jruby.ext.posix.POSIXFactory.loadLinuxPOSIX(POSIXFactory.java:70) at org.jruby.ext.posix.POSIXFactory.loadPOSIX(POSIXFactory.java:31) at org.jruby.ext.posix.LazyPOSIX.loadPOSIX(LazyPOSIX.java:29) at org.jruby.ext.posix.LazyPOSIX.posix(LazyPOSIX.java:25) at org.jruby.ext.posix.LazyPOSIX.isatty(LazyPOSIX.java:159) at org.jruby.RubyIO.tty_p(RubyIO.java:1897) at org.jruby.RubyIO$i$0$0$tty_p.call(RubyIO$i$0$0$tty_p.gen:65535) at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:292) at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:135) at org.jruby.ast.CallNoArgNode.interpret(CallNoArgNode.java:63) at org.jruby.ast.IfNode.interpret(IfNode.java:111) at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104) at org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:74) at org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:147) at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:183) at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:292) at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:135) at org.jruby.ast.VCallNode.interpret(VCallNode.java:86) at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104) at org.jruby.ast.BlockNode.interpret(BlockNode.java:71) at org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:74) at org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:169) at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:191) at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:302) at org.jruby.runtime.callsite.CachingCallSite.callBlock(CachingCallSite.java:144) at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:148) at org.jruby.RubyClass.newInstance(RubyClass.java:822) at org.jruby.RubyClass$i$newInstance.call(RubyClass$i$newInstance.gen:65535) at org.jruby.internal.runtime.methods.JavaMethod$JavaMethodZeroOrNBlock.call(JavaMethod.java:249) at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:292) at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:135) at home.bytedeer.Kütüphaneler.hbase_minus_0_dot_98_dot_3_minus_hadoop2.bin.$_dot_dot_.bin.hirb.__file__(/home/bytedeer/Kütüphaneler/hbase-0.98.3-hadoop2/bin/../bin/hirb.rb:110) at home.bytedeer.Kütüphaneler.hbase_minus_0_dot_98_dot_3_minus_hadoop2.bin.$_dot_dot_.bin.hirb.load(/home/bytedeer/Kütüphaneler/hbase-0.98.3-hadoop2/bin/../bin/hirb.rb) at org.jruby.Ruby.runScript(Ruby.java:697) at org.jruby.Ruby.runScript(Ruby.java:690) at org.jruby.Ruby.runNormally(Ruby.java:597) at org.jruby.Ruby.runFromMain(Ruby.java:446) at org.jruby.Main.doRunFromMain(Main.java:369) at org.jruby.Main.internalRun(Main.java:258) at org.jruby.Main.run(Main.java:224) at org.jruby.Main.run(Main.java:208) at org.jruby.Main.main(Main.java:188) Caused by: java.lang.UnsatisfiedLinkError: Could not locate stub library in jar file. Tried [jni/ı386-Linux/libjffi-1.0.so, /jni/ı386-Linux/libjffi-1.0.so] at com.kenai.jffi.Init.getStubLibraryStream(Init.java:201) at com.kenai.jffi.Init.loadFromJar(Init.java:136) at com.kenai.jffi.Init.load(Init.java:78) at com.kenai.jffi.Foreign$InstanceHolder.getInstanceHolder(Foreign.java:49) at com.kenai.jffi.Foreign$InstanceHolder.<clinit>(Foreign.java:45) at com.kenai.jffi.Foreign.getInstance(Foreign.java:95) at com.kenai.jffi.Internals.getErrnoSaveFunction(Internals.java:44) at com.kenai.jaffl.provider.jffi.StubCompiler.getErrnoSaveFunction(StubCompiler.java:68) at com.kenai.jaffl.provider.jffi.StubCompiler.<clinit>(StubCompiler.java:18) at com.kenai.jaffl.provider.jffi.AsmLibraryLoader.generateInterfaceImpl(AsmLibraryLoader.java:146) ... 50 more Foreign.java:90:in `getForeign': java.lang.RuntimeException: java.lang.UnsatisfiedLinkError: Could not locate stub library in jar file. Tried [jni/ı386-Linux/libjffi-1.0.so, /jni/ı386-Linux/libjffi-1.0.so] from Foreign.java:95:in `getInstance' from Library.java:151:in `openLibrary' from Library.java:125:in `getCachedInstance' from Library.java:66:in `loadNativeLibraries' from Library.java:56:in `getNativeLibraries' from Library.java:35:in `getSymbolAddress' from Library.java:45:in `findSymbolAddress' from DefaultInvokerFactory.java:51:in `createInvoker' from Library.java:27:in `getInvoker' from NativeInvocationHandler.java:90:in `createInvoker' from NativeInvocationHandler.java:74:in `getInvoker' from NativeInvocationHandler.java:110:in `invoke' from null:-1:in `isatty' from BaseNativePOSIX.java:300:in `isatty' from LazyPOSIX.java:159:in `isatty' from RubyIO.java:1897:in `tty_p' from RubyIO$i$0$0$tty_p.gen:65535:in `call' from CachingCallSite.java:292:in `cacheAndCall' from CachingCallSite.java:135:in `call' from CallNoArgNode.java:63:in `interpret' from IfNode.java:111:in `interpret' from NewlineNode.java:104:in `interpret' from ASTInterpreter.java:74:in `INTERPRET_METHOD' from InterpretedMethod.java:147:in `call' from DefaultMethod.java:183:in `call' from CachingCallSite.java:292:in `cacheAndCall' from CachingCallSite.java:135:in `call' from VCallNode.java:86:in `interpret' from NewlineNode.java:104:in `interpret' from BlockNode.java:71:in `interpret' from ASTInterpreter.java:74:in `INTERPRET_METHOD' from InterpretedMethod.java:169:in `call' from DefaultMethod.java:191:in `call' from CachingCallSite.java:302:in `cacheAndCall' from CachingCallSite.java:144:in `callBlock' from CachingCallSite.java:148:in `call' from RubyClass.java:822:in `newInstance' from RubyClass$i$newInstance.gen:65535:in `call' from JavaMethod.java:249:in `call' from CachingCallSite.java:292:in `cacheAndCall' from CachingCallSite.java:135:in `call' from /home/bytedeer/Kütüphaneler/hbase-0.98.3-hadoop2/bin/../bin/hirb.rb:110:in `__file__' from /home/bytedeer/Kütüphaneler/hbase-0.98.3-hadoop2/bin/../bin/hirb.rb:-1:in `load' from Ruby.java:697:in `runScript' from Ruby.java:690:in `runScript' from Ruby.java:597:in `runNormally' from Ruby.java:446:in `runFromMain' from Main.java:369:in `doRunFromMain' from Main.java:258:in `internalRun' from Main.java:224:in `run' from Main.java:208:in `run' from Main.java:188:in `main' Caused by: Init.java:201:in `getStubLibraryStream': java.lang.UnsatisfiedLinkError: Could not locate stub library in jar file. Tried [jni/ı386-Linux/libjffi-1.0.so, /jni/ı386-Linux/libjffi-1.0.so] from Init.java:136:in `loadFromJar' from Init.java:78:in `load' from Foreign.java:49:in `getInstanceHolder' from Foreign.java:45:in `<clinit>' from Foreign.java:95:in `getInstance' from Internals.java:44:in `getErrnoSaveFunction' from StubCompiler.java:68:in `getErrnoSaveFunction' from StubCompiler.java:18:in `<clinit>' from AsmLibraryLoader.java:146:in `generateInterfaceImpl' from AsmLibraryLoader.java:110:in `loadLibrary' from Provider.java:31:in `loadLibrary' from Provider.java:25:in `loadLibrary' from Library.java:76:in `loadLibrary' from POSIXFactory.java:108:in `<clinit>' from POSIXFactory.java:112:in `getLibC' from BaseNativePOSIX.java:30:in `<init>' from LinuxPOSIX.java:17:in `<init>' from POSIXFactory.java:70:in `loadLinuxPOSIX' from POSIXFactory.java:31:in `loadPOSIX' from LazyPOSIX.java:29:in `loadPOSIX' from LazyPOSIX.java:25:in `posix' from LazyPOSIX.java:159:in `isatty' from RubyIO.java:1897:in `tty_p' from RubyIO$i$0$0$tty_p.gen:65535:in `call' from CachingCallSite.java:292:in `cacheAndCall' from CachingCallSite.java:135:in `call' from CallNoArgNode.java:63:in `interpret' from IfNode.java:111:in `interpret' from NewlineNode.java:104:in `interpret' from ASTInterpreter.java:74:in `INTERPRET_METHOD' from InterpretedMethod.java:147:in `call' from DefaultMethod.java:183:in `call' from CachingCallSite.java:292:in `cacheAndCall' from CachingCallSite.java:135:in `call' from VCallNode.java:86:in `interpret' from NewlineNode.java:104:in `interpret' from BlockNode.java:71:in `interpret' from ASTInterpreter.java:74:in `INTERPRET_METHOD' from InterpretedMethod.java:169:in `call' from DefaultMethod.java:191:in `call' from CachingCallSite.java:302:in `cacheAndCall' from CachingCallSite.java:144:in `callBlock' from CachingCallSite.java:148:in `call' from RubyClass.java:822:in `newInstance' from RubyClass$i$newInstance.gen:65535:in `call' from JavaMethod.java:249:in `call' from CachingCallSite.java:292:in `cacheAndCall' from CachingCallSite.java:135:in `call' from /home/bytedeer/Kütüphaneler/hbase-0.98.3-hadoop2/bin/../bin/hirb.rb:110:in `__file__' from /home/bytedeer/Kütüphaneler/hbase-0.98.3-hadoop2/bin/../bin/hirb.rb:-1:in `load' from Ruby.java:697:in `runScript' from Ruby.java:690:in `runScript' from Ruby.java:597:in `runNormally' from Ruby.java:446:in `runFromMain' from Main.java:369:in `doRunFromMain' from Main.java:258:in `internalRun' from Main.java:224:in `run' from Main.java:208:in `run' from Main.java:188:in `main' 

Solutions Collecting From Web of "java.lang.RuntimeException:java.lang.UnsatisfiedLinkError:在jar文件中找不到存根库"

我解决了我的问题。 这是关于jffi和ffi文件夹在jruby-complete-1.6.8.jar。我从Maven仓库下载jruby-complete.1.7.0,我已经改变了jffi四个jffi文件夹和两个ffi文件夹(他们的内容必须相同,但他们的路径可能会有所不同,1.7.0版本有一个更多的ffi文件夹,请忽略它)。 你可以用默认的ubuntu存档程序来做到这一点。

JRuby试图在/tmp上创建可执行文件。 也许你的/tmp文件夹挂载了noexec标志? [1]