Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

not implemented error Raspberry pi 2 #2950

Closed
richrarobi opened this issue May 16, 2015 · 13 comments
Closed

not implemented error Raspberry pi 2 #2950

richrarobi opened this issue May 16, 2015 · 13 comments
Labels
Milestone

Comments

@richrarobi
Copy link

sudo /opt/jruby/bin/jruby -S gem install ruby-gpio
Fetching: concurrent-ruby-0.8.0-java.gem (100%)
NotImplementedError: waitpid unsupported or native support failed to load
                       flock at org/jruby/RubyFile.java:298
  block in cache_update_path at /opt/jruby/lib/ruby/stdlib/rubygems/remote_fetcher.rb:310
                        open at org/jruby/RubyIO.java:1126
                        open at org/jruby/RubyKernel.java:336
           cache_update_path at /opt/jruby/lib/ruby/stdlib/rubygems/remote_fetcher.rb:309
                    download at /opt/jruby/lib/ruby/stdlib/rubygems/remote_fetcher.rb:168
                    download at /opt/jruby/lib/ruby/stdlib/rubygems/source.rb:210
                    download at /opt/jruby/lib/ruby/stdlib/rubygems/resolver/activation_request.rb:60
            block in install at /opt/jruby/lib/ruby/stdlib/rubygems/request_set.rb:160
                        each at org/jruby/RubyArray.java:1571
                     install at /opt/jruby/lib/ruby/stdlib/rubygems/request_set.rb:150
                 install_gem at /opt/jruby/lib/ruby/stdlib/rubygems/commands/install_command.rb:249
       block in install_gems at /opt/jruby/lib/ruby/stdlib/rubygems/commands/install_command.rb:299
                        each at org/jruby/RubyArray.java:1571
                install_gems at /opt/jruby/lib/ruby/stdlib/rubygems/commands/install_command.rb:295
                     execute at /opt/jruby/lib/ruby/stdlib/rubygems/commands/install_command.rb:202
      invoke_with_build_args at /opt/jruby/lib/ruby/stdlib/rubygems/command.rb:307
                process_args at /opt/jruby/lib/ruby/stdlib/rubygems/command_manager.rb:168
                         run at /opt/jruby/lib/ruby/stdlib/rubygems/command_manager.rb:138
                         run at /opt/jruby/lib/ruby/stdlib/rubygems/gem_runner.rb:54
                       <top> at /opt/jruby/bin/jgem:21
                        load at org/jruby/RubyKernel.java:984
                       <top> at /opt/jruby/bin/gem:4
@richrarobi
Copy link
Author

jruby 9.0.0.0.pre2 (2.2.2) 2015-04-28 2755ae0 Java HotSpot(TM) Client VM 25.0-b70 on 1.8.0-b132 +jit [linux-arm]

Linux pi-00 3.18.11-v7+ #781 SMP PREEMPT Tue Apr 21 18:07:59 BST 2015 armv7l GNU/Linux

@kares
Copy link
Member

kares commented May 20, 2015

could you try running: jruby -Xnative.verbose=true -S gem install ... and post back the output?

@kares kares added the ffi label May 20, 2015
@richrarobi
Copy link
Author

127|u0_a37@android:/ $ ssh -X 192.168.1.9 -l rich
Could not create directory '/data/ssh_client'.
The authenticity of host '192.168.1.9 (192.168.1.9)' can't be established.
ECDSA key fingerprint is d1:64:52:9e:7f:4c:8d:0a:82:13:48:70:42:12:ec:f4.
Are you sure you want to continue connecting (yes/no)? yes
Failed to add the host to the list of known hosts (/data/ssh_client/known_hosts).
rich@192.168.1.9's password:
Linux pi-00 3.18.11-v7+ #781 SMP PREEMPT Tue Apr 21 18:07:59 BST 2015 armv7l

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Wed May 20 11:39:34 2015 from ghost.local
rich@pi-00 ~ $  jruby -Xnative.verbose=true -S gem install ...
Failed to load native POSIX impl; falling back on Java impl. Stacktrace follows.
java.lang.UnsatisfiedLinkError: could not load FFI provider jnr.ffi.provider.jffi.Provider
        at jnr.ffi.provider.InvalidProvider$1.loadLibrary(InvalidProvider.java:48)
        at jnr.ffi.LibraryLoader.load(LibraryLoader.java:287)
        at jnr.ffi.Library.loadLibrary(Library.java:127)
        at jnr.posix.POSIXFactory$DefaultLibCProvider$SingletonHolder.<clinit>(POSIXFactory.java:271)
        at jnr.posix.POSIXFactory$DefaultLibCProvider.getLibC(POSIXFactory.java:275)
        at jnr.posix.BaseNativePOSIX.<init>(BaseNativePOSIX.java:36)
        at jnr.posix.LinuxPOSIX.<init>(LinuxPOSIX.java:18)
        at jnr.posix.POSIXFactory.loadLinuxPOSIX(POSIXFactory.java:143)
        at jnr.posix.POSIXFactory.loadNativePOSIX(POSIXFactory.java:121)
        at jnr.posix.POSIXFactory.loadPOSIX(POSIXFactory.java:90)
        at jnr.posix.LazyPOSIX.loadPOSIX(LazyPOSIX.java:35)
        at jnr.posix.LazyPOSIX.posix(LazyPOSIX.java:31)
        at jnr.posix.LazyPOSIX.isNative(LazyPOSIX.java:329)
        at org.jruby.RubyGlobal.prepareStdioChannel(RubyGlobal.java:283)
        at org.jruby.RubyGlobal.createGlobals(RubyGlobal.java:197)
        at org.jruby.Ruby.init(Ruby.java:1274)
        at org.jruby.Ruby.newInstance(Ruby.java:330)
        at org.jruby.Main.internalRun(Main.java:267)
        at org.jruby.Main.run(Main.java:226)
        at org.jruby.Main.main(Main.java:198)
Caused by: java.lang.ExceptionInInitializerError
        at jnr.ffi.provider.jffi.NativeRuntime.getInstance(NativeRuntime.java:49)
        at jnr.ffi.provider.jffi.Provider.<init>(Provider.java:29)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:408)
        at java.lang.Class.newInstance(Class.java:433)
        at jnr.ffi.provider.FFIProvider$SystemProviderSingletonHolder.getInstance(FFIProvider.java:68)
        at jnr.ffi.provider.FFIProvider$SystemProviderSingletonHolder.<clinit>(FFIProvider.java:57)
        at jnr.ffi.provider.FFIProvider.getSystemProvider(FFIProvider.java:35)
        at jnr.ffi.Library.loadLibrary(Library.java:114)
        ... 17 more
Caused by: java.lang.IllegalStateException: Can't overwrite cause with java.lang.UnsatisfiedLinkError: java.lang.UnsatisfiedLinkError: /tmp/jffi4702179369502564792.so: /tmp/jffi4702179369502564792.so: cannot open shared object file: No such file or directory
        at java.lang.ClassLoader$NativeLibrary.load(Native Method)
        at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1929)
        at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1814)
        at java.lang.Runtime.load0(Runtime.java:809)
        at java.lang.System.load(System.java:1083)
        at com.kenai.jffi.internal.StubLoader.loadFromJar(StubLoader.java:358)
        at com.kenai.jffi.internal.StubLoader.load(StubLoader.java:251)
        at com.kenai.jffi.internal.StubLoader.<clinit>(StubLoader.java:431)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:340)
        at com.kenai.jffi.Init.load(Init.java:68)
        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:103)
        at com.kenai.jffi.Type$Builtin.lookupTypeInfo(Type.java:242)
        at com.kenai.jffi.Type$Builtin.getTypeInfo(Type.java:237)
        at com.kenai.jffi.Type.resolveSize(Type.java:155)
        at com.kenai.jffi.Type.size(Type.java:138)
        at jnr.ffi.provider.jffi.NativeRuntime$TypeDelegate.size(NativeRuntime.java:178)
        at jnr.ffi.provider.AbstractRuntime.<init>(AbstractRuntime.java:48)
        at jnr.ffi.provider.jffi.NativeRuntime.<init>(NativeRuntime.java:57)
        at jnr.ffi.provider.jffi.NativeRuntime.<init>(NativeRuntime.java:41)
        at jnr.ffi.provider.jffi.NativeRuntime$SingletonHolder.<clinit>(NativeRuntime.java:53)
        at jnr.ffi.provider.jffi.NativeRuntime.getInstance(NativeRuntime.java:49)
        at jnr.ffi.provider.jffi.Provider.<init>(Provider.java:29)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:408)
        at java.lang.Class.newInstance(Class.java:433)
        at jnr.ffi.provider.FFIProvider$SystemProviderSingletonHolder.getInstance(FFIProvider.java:68)
        at jnr.ffi.provider.FFIProvider$SystemProviderSingletonHolder.<clinit>(FFIProvider.java:57)
        at jnr.ffi.provider.FFIProvider.getSystemProvider(FFIProvider.java:35)
        at jnr.ffi.Library.loadLibrary(Library.java:114)
        at jnr.posix.POSIXFactory$DefaultLibCProvider$SingletonHolder.<clinit>(POSIXFactory.java:271)
        at jnr.posix.POSIXFactory$DefaultLibCProvider.getLibC(POSIXFactory.java:275)
        at jnr.posix.BaseNativePOSIX.<init>(BaseNativePOSIX.java:36)
        at jnr.posix.LinuxPOSIX.<init>(LinuxPOSIX.java:18)
        at jnr.posix.POSIXFactory.loadLinuxPOSIX(POSIXFactory.java:143)
        at jnr.posix.POSIXFactory.loadNativePOSIX(POSIXFactory.java:121)
        at jnr.posix.POSIXFactory.loadPOSIX(POSIXFactory.java:90)
        at jnr.posix.LazyPOSIX.loadPOSIX(LazyPOSIX.java:35)
        at jnr.posix.LazyPOSIX.posix(LazyPOSIX.java:31)
        at jnr.posix.LazyPOSIX.isNative(LazyPOSIX.java:329)
        at org.jruby.RubyGlobal.prepareStdioChannel(RubyGlobal.java:283)
        at org.jruby.RubyGlobal.createGlobals(RubyGlobal.java:197)
        at org.jruby.Ruby.init(Ruby.java:1274)
        at org.jruby.Ruby.newInstance(Ruby.java:330)
        at org.jruby.Main.internalRun(Main.java:267)
        at org.jruby.Main.run(Main.java:226)
        at org.jruby.Main.main(Main.java:198)
java.lang.UnsatisfiedLinkError: /opt/jruby/lib/jni/arm-Linux/libjffi-1.2.so: /opt/jruby/lib/jni/arm-Linux/libjffi-1.2.so: cannot open shared object file: No such file or directory
        at java.lang.ClassLoader$NativeLibrary.load(Native Method)
        at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1929)
        at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1814)
        at java.lang.Runtime.load0(Runtime.java:809)
        at java.lang.System.load(System.java:1083)
        at com.kenai.jffi.internal.StubLoader.loadFromBootPath(StubLoader.java:313)
        at com.kenai.jffi.internal.StubLoader.load(StubLoader.java:246)
        at com.kenai.jffi.internal.StubLoader.<clinit>(StubLoader.java:431)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:340)
        at com.kenai.jffi.Init.load(Init.java:68)
        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:103)
        at com.kenai.jffi.Type$Builtin.lookupTypeInfo(Type.java:242)
        at com.kenai.jffi.Type$Builtin.getTypeInfo(Type.java:237)
        at com.kenai.jffi.Type.resolveSize(Type.java:155)
        at com.kenai.jffi.Type.size(Type.java:138)
        at jnr.ffi.provider.jffi.NativeRuntime$TypeDelegate.size(NativeRuntime.java:178)
        at jnr.ffi.provider.AbstractRuntime.<init>(AbstractRuntime.java:48)
        at jnr.ffi.provider.jffi.NativeRuntime.<init>(NativeRuntime.java:57)
        at jnr.ffi.provider.jffi.NativeRuntime.<init>(NativeRuntime.java:41)
        at jnr.ffi.provider.jffi.NativeRuntime$SingletonHolder.<clinit>(NativeRuntime.java:53)
        at jnr.ffi.provider.jffi.NativeRuntime.getInstance(NativeRuntime.java:49)
        at jnr.ffi.provider.jffi.Provider.<init>(Provider.java:29)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:408)
        at java.lang.Class.newInstance(Class.java:433)
        at jnr.ffi.provider.FFIProvider$SystemProviderSingletonHolder.getInstance(FFIProvider.java:68)
        at jnr.ffi.provider.FFIProvider$SystemProviderSingletonHolder.<clinit>(FFIProvider.java:57)
        at jnr.ffi.provider.FFIProvider.getSystemProvider(FFIProvider.java:35)
        at jnr.ffi.Library.loadLibrary(Library.java:114)
        at jnr.posix.POSIXFactory$DefaultLibCProvider$SingletonHolder.<clinit>(POSIXFactory.java:271)
        at jnr.posix.POSIXFactory$DefaultLibCProvider.getLibC(POSIXFactory.java:275)
        at jnr.posix.BaseNativePOSIX.<init>(BaseNativePOSIX.java:36)
        at jnr.posix.LinuxPOSIX.<init>(LinuxPOSIX.java:18)
        at jnr.posix.POSIXFactory.loadLinuxPOSIX(POSIXFactory.java:143)
        at jnr.posix.POSIXFactory.loadNativePOSIX(POSIXFactory.java:121)
        at jnr.posix.POSIXFactory.loadPOSIX(POSIXFactory.java:90)
        at jnr.posix.LazyPOSIX.loadPOSIX(LazyPOSIX.java:35)
        at jnr.posix.LazyPOSIX.posix(LazyPOSIX.java:31)
        at jnr.posix.LazyPOSIX.isNative(LazyPOSIX.java:329)
        at org.jruby.RubyGlobal.prepareStdioChannel(RubyGlobal.java:283)
        at org.jruby.RubyGlobal.createGlobals(RubyGlobal.java:197)
        at org.jruby.Ruby.init(Ruby.java:1274)
        at org.jruby.Ruby.newInstance(Ruby.java:330)
        at org.jruby.Main.internalRun(Main.java:267)
        at org.jruby.Main.run(Main.java:226)
        at org.jruby.Main.main(Main.java:198)
java.lang.UnsatisfiedLinkError: /opt/jruby/lib/jni/arm-Linux/libjffi-1.2.so: /opt/jruby/lib/jni/arm-Linux/libjffi-1.2.so: cannot open shared object file: No such file or directory
        at java.lang.ClassLoader$NativeLibrary.load(Native Method)
        at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1929)
        at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1814)
        at java.lang.Runtime.load0(Runtime.java:809)
        at java.lang.System.load(System.java:1083)
        at com.kenai.jffi.internal.StubLoader.loadFromBootPath(StubLoader.java:313)
        at com.kenai.jffi.internal.StubLoader.load(StubLoader.java:246)
        at com.kenai.jffi.internal.StubLoader.<clinit>(StubLoader.java:431)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:340)
        at com.kenai.jffi.Init.load(Init.java:68)
        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:103)
        at com.kenai.jffi.Type$Builtin.lookupTypeInfo(Type.java:242)
        at com.kenai.jffi.Type$Builtin.getTypeInfo(Type.java:237)
        at com.kenai.jffi.Type.resolveSize(Type.java:155)
        at com.kenai.jffi.Type.size(Type.java:138)
        at jnr.ffi.provider.jffi.NativeRuntime$TypeDelegate.size(NativeRuntime.java:178)
        at jnr.ffi.provider.AbstractRuntime.<init>(AbstractRuntime.java:48)
        at jnr.ffi.provider.jffi.NativeRuntime.<init>(NativeRuntime.java:57)
        at jnr.ffi.provider.jffi.NativeRuntime.<init>(NativeRuntime.java:41)
        at jnr.ffi.provider.jffi.NativeRuntime$SingletonHolder.<clinit>(NativeRuntime.java:53)
        at jnr.ffi.provider.jffi.NativeRuntime.getInstance(NativeRuntime.java:49)
        at jnr.ffi.provider.jffi.Provider.<init>(Provider.java:29)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:408)
        at java.lang.Class.newInstance(Class.java:433)
        at jnr.ffi.provider.FFIProvider$SystemProviderSingletonHolder.getInstance(FFIProvider.java:68)
        at jnr.ffi.provider.FFIProvider$SystemProviderSingletonHolder.<clinit>(FFIProvider.java:57)
        at jnr.ffi.provider.FFIProvider.getSystemProvider(FFIProvider.java:35)
        at jnr.ffi.Library.loadLibrary(Library.java:114)
        at jnr.posix.POSIXFactory$DefaultLibCProvider$SingletonHolder.<clinit>(POSIXFactory.java:271)
        at jnr.posix.POSIXFactory$DefaultLibCProvider.getLibC(POSIXFactory.java:275)
        at jnr.posix.BaseNativePOSIX.<init>(BaseNativePOSIX.java:36)
        at jnr.posix.LinuxPOSIX.<init>(LinuxPOSIX.java:18)
        at jnr.posix.POSIXFactory.loadLinuxPOSIX(POSIXFactory.java:143)
        at jnr.posix.POSIXFactory.loadNativePOSIX(POSIXFactory.java:121)
        at jnr.posix.POSIXFactory.loadPOSIX(POSIXFactory.java:90)
        at jnr.posix.LazyPOSIX.loadPOSIX(LazyPOSIX.java:35)
        at jnr.posix.LazyPOSIX.posix(LazyPOSIX.java:31)
        at jnr.posix.LazyPOSIX.isNative(LazyPOSIX.java:329)
        at org.jruby.RubyGlobal.prepareStdioChannel(RubyGlobal.java:283)
        at org.jruby.RubyGlobal.createGlobals(RubyGlobal.java:197)
        at org.jruby.Ruby.init(Ruby.java:1274)
        at org.jruby.Ruby.newInstance(Ruby.java:330)
        at org.jruby.Main.internalRun(Main.java:267)
        at org.jruby.Main.run(Main.java:226)
        at org.jruby.Main.main(Main.java:198)
java.lang.UnsatisfiedLinkError: Can't load library: /usr/java/packages/lib/arm/libjffi-1.2.so
        at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1817)
        at java.lang.Runtime.load0(Runtime.java:809)
        at java.lang.System.load(System.java:1083)
        at com.kenai.jffi.internal.StubLoader.loadFromBootPath(StubLoader.java:313)
        at com.kenai.jffi.internal.StubLoader.load(StubLoader.java:246)
        at com.kenai.jffi.internal.StubLoader.<clinit>(StubLoader.java:431)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:340)
        at com.kenai.jffi.Init.load(Init.java:68)
        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:103)
        at com.kenai.jffi.Type$Builtin.lookupTypeInfo(Type.java:242)
        at com.kenai.jffi.Type$Builtin.getTypeInfo(Type.java:237)
        at com.kenai.jffi.Type.resolveSize(Type.java:155)
        at com.kenai.jffi.Type.size(Type.java:138)
        at jnr.ffi.provider.jffi.NativeRuntime$TypeDelegate.size(NativeRuntime.java:178)
        at jnr.ffi.provider.AbstractRuntime.<init>(AbstractRuntime.java:48)
        at jnr.ffi.provider.jffi.NativeRuntime.<init>(NativeRuntime.java:57)
        at jnr.ffi.provider.jffi.NativeRuntime.<init>(NativeRuntime.java:41)
        at jnr.ffi.provider.jffi.NativeRuntime$SingletonHolder.<clinit>(NativeRuntime.java:53)
        at jnr.ffi.provider.jffi.NativeRuntime.getInstance(NativeRuntime.java:49)
        at jnr.ffi.provider.jffi.Provider.<init>(Provider.java:29)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:408)
        at java.lang.Class.newInstance(Class.java:433)
        at jnr.ffi.provider.FFIProvider$SystemProviderSingletonHolder.getInstance(FFIProvider.java:68)
        at jnr.ffi.provider.FFIProvider$SystemProviderSingletonHolder.<clinit>(FFIProvider.java:57)
        at jnr.ffi.provider.FFIProvider.getSystemProvider(FFIProvider.java:35)
        at jnr.ffi.Library.loadLibrary(Library.java:114)
        at jnr.posix.POSIXFactory$DefaultLibCProvider$SingletonHolder.<clinit>(POSIXFactory.java:271)
        at jnr.posix.POSIXFactory$DefaultLibCProvider.getLibC(POSIXFactory.java:275)
        at jnr.posix.BaseNativePOSIX.<init>(BaseNativePOSIX.java:36)
        at jnr.posix.LinuxPOSIX.<init>(LinuxPOSIX.java:18)
        at jnr.posix.POSIXFactory.loadLinuxPOSIX(POSIXFactory.java:143)
        at jnr.posix.POSIXFactory.loadNativePOSIX(POSIXFactory.java:121)
        at jnr.posix.POSIXFactory.loadPOSIX(POSIXFactory.java:90)
        at jnr.posix.LazyPOSIX.loadPOSIX(LazyPOSIX.java:35)
        at jnr.posix.LazyPOSIX.posix(LazyPOSIX.java:31)
        at jnr.posix.LazyPOSIX.isNative(LazyPOSIX.java:329)
        at org.jruby.RubyGlobal.prepareStdioChannel(RubyGlobal.java:283)
        at org.jruby.RubyGlobal.createGlobals(RubyGlobal.java:197)
        at org.jruby.Ruby.init(Ruby.java:1274)
        at org.jruby.Ruby.newInstance(Ruby.java:330)
        at org.jruby.Main.internalRun(Main.java:267)
        at org.jruby.Main.run(Main.java:226)
        at org.jruby.Main.main(Main.java:198)
java.lang.UnsatisfiedLinkError: /opt/jruby/lib/jni/arm-Linux/libjffi-1.2.so: /opt/jruby/lib/jni/arm-Linux/libjffi-1.2.so: cannot open shared object file: No such file or directory
        at java.lang.ClassLoader$NativeLibrary.load(Native Method)
        at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1929)
        at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1814)
        at java.lang.Runtime.load0(Runtime.java:809)
        at java.lang.System.load(System.java:1083)
        at com.kenai.jffi.internal.StubLoader.loadFromBootPath(StubLoader.java:313)
        at com.kenai.jffi.internal.StubLoader.load(StubLoader.java:241)
        at com.kenai.jffi.internal.StubLoader.<clinit>(StubLoader.java:431)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:340)
        at com.kenai.jffi.Init.load(Init.java:68)
        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:103)
        at com.kenai.jffi.Type$Builtin.lookupTypeInfo(Type.java:242)
        at com.kenai.jffi.Type$Builtin.getTypeInfo(Type.java:237)
        at com.kenai.jffi.Type.resolveSize(Type.java:155)
        at com.kenai.jffi.Type.size(Type.java:138)
        at jnr.ffi.provider.jffi.NativeRuntime$TypeDelegate.size(NativeRuntime.java:178)
        at jnr.ffi.provider.AbstractRuntime.<init>(AbstractRuntime.java:48)
        at jnr.ffi.provider.jffi.NativeRuntime.<init>(NativeRuntime.java:57)
        at jnr.ffi.provider.jffi.NativeRuntime.<init>(NativeRuntime.java:41)
        at jnr.ffi.provider.jffi.NativeRuntime$SingletonHolder.<clinit>(NativeRuntime.java:53)
        at jnr.ffi.provider.jffi.NativeRuntime.getInstance(NativeRuntime.java:49)
        at jnr.ffi.provider.jffi.Provider.<init>(Provider.java:29)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:408)
        at java.lang.Class.newInstance(Class.java:433)
        at jnr.ffi.provider.FFIProvider$SystemProviderSingletonHolder.getInstance(FFIProvider.java:68)
        at jnr.ffi.provider.FFIProvider$SystemProviderSingletonHolder.<clinit>(FFIProvider.java:57)
        at jnr.ffi.provider.FFIProvider.getSystemProvider(FFIProvider.java:35)
        at jnr.ffi.Library.loadLibrary(Library.java:114)
        at jnr.posix.POSIXFactory$DefaultLibCProvider$SingletonHolder.<clinit>(POSIXFactory.java:271)
        at jnr.posix.POSIXFactory$DefaultLibCProvider.getLibC(POSIXFactory.java:275)
        at jnr.posix.BaseNativePOSIX.<init>(BaseNativePOSIX.java:36)
        at jnr.posix.LinuxPOSIX.<init>(LinuxPOSIX.java:18)
        at jnr.posix.POSIXFactory.loadLinuxPOSIX(POSIXFactory.java:143)
        at jnr.posix.POSIXFactory.loadNativePOSIX(POSIXFactory.java:121)
        at jnr.posix.POSIXFactory.loadPOSIX(POSIXFactory.java:90)
        at jnr.posix.LazyPOSIX.loadPOSIX(LazyPOSIX.java:35)
        at jnr.posix.LazyPOSIX.posix(LazyPOSIX.java:31)
        at jnr.posix.LazyPOSIX.isNative(LazyPOSIX.java:329)
        at org.jruby.RubyGlobal.prepareStdioChannel(RubyGlobal.java:283)
        at org.jruby.RubyGlobal.createGlobals(RubyGlobal.java:197)
        at org.jruby.Ruby.init(Ruby.java:1274)
        at org.jruby.Ruby.newInstance(Ruby.java:330)
        at org.jruby.Main.internalRun(Main.java:267)
        at org.jruby.Main.run(Main.java:226)
        at org.jruby.Main.main(Main.java:198)

        at java.lang.Throwable.initCause(Throwable.java:457)
        at com.kenai.jffi.Type$Builtin.lookupTypeInfo(Type.java:252)
        at com.kenai.jffi.Type$Builtin.getTypeInfo(Type.java:237)
        at com.kenai.jffi.Type.resolveSize(Type.java:155)
        at com.kenai.jffi.Type.size(Type.java:138)
        at jnr.ffi.provider.jffi.NativeRuntime$TypeDelegate.size(NativeRuntime.java:178)
        at jnr.ffi.provider.AbstractRuntime.<init>(AbstractRuntime.java:48)
        at jnr.ffi.provider.jffi.NativeRuntime.<init>(NativeRuntime.java:57)
        at jnr.ffi.provider.jffi.NativeRuntime.<init>(NativeRuntime.java:41)
        at jnr.ffi.provider.jffi.NativeRuntime$SingletonHolder.<clinit>(NativeRuntime.java:53)
        ... 28 more
Caused by: java.lang.UnsatisfiedLinkError: java.lang.UnsatisfiedLinkError: /tmp/jffi4702179369502564792.so: /tmp/jffi4702179369502564792.so: cannot open shared object file: No such file or directory
        at java.lang.ClassLoader$NativeLibrary.load(Native Method)
        at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1929)
        at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1814)
        at java.lang.Runtime.load0(Runtime.java:809)
        at java.lang.System.load(System.java:1083)
        at com.kenai.jffi.internal.StubLoader.loadFromJar(StubLoader.java:358)
        at com.kenai.jffi.internal.StubLoader.load(StubLoader.java:251)
        at com.kenai.jffi.internal.StubLoader.<clinit>(StubLoader.java:431)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:340)
        at com.kenai.jffi.Init.load(Init.java:68)
        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:103)
        at com.kenai.jffi.Type$Builtin.lookupTypeInfo(Type.java:242)
        at com.kenai.jffi.Type$Builtin.getTypeInfo(Type.java:237)
        at com.kenai.jffi.Type.resolveSize(Type.java:155)
        at com.kenai.jffi.Type.size(Type.java:138)
        at jnr.ffi.provider.jffi.NativeRuntime$TypeDelegate.size(NativeRuntime.java:178)
        at jnr.ffi.provider.AbstractRuntime.<init>(AbstractRuntime.java:48)
        at jnr.ffi.provider.jffi.NativeRuntime.<init>(NativeRuntime.java:57)
        at jnr.ffi.provider.jffi.NativeRuntime.<init>(NativeRuntime.java:41)
        at jnr.ffi.provider.jffi.NativeRuntime$SingletonHolder.<clinit>(NativeRuntime.java:53)
        at jnr.ffi.provider.jffi.NativeRuntime.getInstance(NativeRuntime.java:49)
        at jnr.ffi.provider.jffi.Provider.<init>(Provider.java:29)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:408)
        at java.lang.Class.newInstance(Class.java:433)
        at jnr.ffi.provider.FFIProvider$SystemProviderSingletonHolder.getInstance(FFIProvider.java:68)
        at jnr.ffi.provider.FFIProvider$SystemProviderSingletonHolder.<clinit>(FFIProvider.java:57)
        at jnr.ffi.provider.FFIProvider.getSystemProvider(FFIProvider.java:35)
        at jnr.ffi.Library.loadLibrary(Library.java:114)
        at jnr.posix.POSIXFactory$DefaultLibCProvider$SingletonHolder.<clinit>(POSIXFactory.java:271)
        at jnr.posix.POSIXFactory$DefaultLibCProvider.getLibC(POSIXFactory.java:275)
        at jnr.posix.BaseNativePOSIX.<init>(BaseNativePOSIX.java:36)
        at jnr.posix.LinuxPOSIX.<init>(LinuxPOSIX.java:18)
        at jnr.posix.POSIXFactory.loadLinuxPOSIX(POSIXFactory.java:143)
        at jnr.posix.POSIXFactory.loadNativePOSIX(POSIXFactory.java:121)
        at jnr.posix.POSIXFactory.loadPOSIX(POSIXFactory.java:90)
        at jnr.posix.LazyPOSIX.loadPOSIX(LazyPOSIX.java:35)
        at jnr.posix.LazyPOSIX.posix(LazyPOSIX.java:31)
        at jnr.posix.LazyPOSIX.isNative(LazyPOSIX.java:329)
        at org.jruby.RubyGlobal.prepareStdioChannel(RubyGlobal.java:283)
        at org.jruby.RubyGlobal.createGlobals(RubyGlobal.java:197)
        at org.jruby.Ruby.init(Ruby.java:1274)
        at org.jruby.Ruby.newInstance(Ruby.java:330)
        at org.jruby.Main.internalRun(Main.java:267)
        at org.jruby.Main.run(Main.java:226)
        at org.jruby.Main.main(Main.java:198)
java.lang.UnsatisfiedLinkError: /opt/jruby/lib/jni/arm-Linux/libjffi-1.2.so: /opt/jruby/lib/jni/arm-Linux/libjffi-1.2.so: cannot open shared object file: No such file or directory
        at java.lang.ClassLoader$NativeLibrary.load(Native Method)
        at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1929)
        at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1814)
        at java.lang.Runtime.load0(Runtime.java:809)
        at java.lang.System.load(System.java:1083)
        at com.kenai.jffi.internal.StubLoader.loadFromBootPath(StubLoader.java:313)
        at com.kenai.jffi.internal.StubLoader.load(StubLoader.java:246)
        at com.kenai.jffi.internal.StubLoader.<clinit>(StubLoader.java:431)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:340)
        at com.kenai.jffi.Init.load(Init.java:68)
        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:103)
        at com.kenai.jffi.Type$Builtin.lookupTypeInfo(Type.java:242)
        at com.kenai.jffi.Type$Builtin.getTypeInfo(Type.java:237)
        at com.kenai.jffi.Type.resolveSize(Type.java:155)
        at com.kenai.jffi.Type.size(Type.java:138)
        at jnr.ffi.provider.jffi.NativeRuntime$TypeDelegate.size(NativeRuntime.java:178)
        at jnr.ffi.provider.AbstractRuntime.<init>(AbstractRuntime.java:48)
        at jnr.ffi.provider.jffi.NativeRuntime.<init>(NativeRuntime.java:57)
        at jnr.ffi.provider.jffi.NativeRuntime.<init>(NativeRuntime.java:41)
        at jnr.ffi.provider.jffi.NativeRuntime$SingletonHolder.<clinit>(NativeRuntime.java:53)
        at jnr.ffi.provider.jffi.NativeRuntime.getInstance(NativeRuntime.java:49)
        at jnr.ffi.provider.jffi.Provider.<init>(Provider.java:29)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:408)
        at java.lang.Class.newInstance(Class.java:433)
        at jnr.ffi.provider.FFIProvider$SystemProviderSingletonHolder.getInstance(FFIProvider.java:68)
        at jnr.ffi.provider.FFIProvider$SystemProviderSingletonHolder.<clinit>(FFIProvider.java:57)
        at jnr.ffi.provider.FFIProvider.getSystemProvider(FFIProvider.java:35)
        at jnr.ffi.Library.loadLibrary(Library.java:114)
        at jnr.posix.POSIXFactory$DefaultLibCProvider$SingletonHolder.<clinit>(POSIXFactory.java:271)
        at jnr.posix.POSIXFactory$DefaultLibCProvider.getLibC(POSIXFactory.java:275)
        at jnr.posix.BaseNativePOSIX.<init>(BaseNativePOSIX.java:36)
        at jnr.posix.LinuxPOSIX.<init>(LinuxPOSIX.java:18)
        at jnr.posix.POSIXFactory.loadLinuxPOSIX(POSIXFactory.java:143)
        at jnr.posix.POSIXFactory.loadNativePOSIX(POSIXFactory.java:121)
        at jnr.posix.POSIXFactory.loadPOSIX(POSIXFactory.java:90)
        at jnr.posix.LazyPOSIX.loadPOSIX(LazyPOSIX.java:35)
        at jnr.posix.LazyPOSIX.posix(LazyPOSIX.java:31)
        at jnr.posix.LazyPOSIX.isNative(LazyPOSIX.java:329)
        at org.jruby.RubyGlobal.prepareStdioChannel(RubyGlobal.java:283)
        at org.jruby.RubyGlobal.createGlobals(RubyGlobal.java:197)
        at org.jruby.Ruby.init(Ruby.java:1274)
        at org.jruby.Ruby.newInstance(Ruby.java:330)
        at org.jruby.Main.internalRun(Main.java:267)
        at org.jruby.Main.run(Main.java:226)
        at org.jruby.Main.main(Main.java:198)
java.lang.UnsatisfiedLinkError: /opt/jruby/lib/jni/arm-Linux/libjffi-1.2.so: /opt/jruby/lib/jni/arm-Linux/libjffi-1.2.so: cannot open shared object file: No such file or directory
        at java.lang.ClassLoader$NativeLibrary.load(Native Method)
        at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1929)
        at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1814)
        at java.lang.Runtime.load0(Runtime.java:809)
        at java.lang.System.load(System.java:1083)
        at com.kenai.jffi.internal.StubLoader.loadFromBootPath(StubLoader.java:313)
        at com.kenai.jffi.internal.StubLoader.load(StubLoader.java:246)
        at com.kenai.jffi.internal.StubLoader.<clinit>(StubLoader.java:431)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:340)
        at com.kenai.jffi.Init.load(Init.java:68)
        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:103)
        at com.kenai.jffi.Type$Builtin.lookupTypeInfo(Type.java:242)
        at com.kenai.jffi.Type$Builtin.getTypeInfo(Type.java:237)
        at com.kenai.jffi.Type.resolveSize(Type.java:155)
        at com.kenai.jffi.Type.size(Type.java:138)
        at jnr.ffi.provider.jffi.NativeRuntime$TypeDelegate.size(NativeRuntime.java:178)
        at jnr.ffi.provider.AbstractRuntime.<init>(AbstractRuntime.java:48)
        at jnr.ffi.provider.jffi.NativeRuntime.<init>(NativeRuntime.java:57)
        at jnr.ffi.provider.jffi.NativeRuntime.<init>(NativeRuntime.java:41)
        at jnr.ffi.provider.jffi.NativeRuntime$SingletonHolder.<clinit>(NativeRuntime.java:53)
        at jnr.ffi.provider.jffi.NativeRuntime.getInstance(NativeRuntime.java:49)
        at jnr.ffi.provider.jffi.Provider.<init>(Provider.java:29)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:408)
        at java.lang.Class.newInstance(Class.java:433)
        at jnr.ffi.provider.FFIProvider$SystemProviderSingletonHolder.getInstance(FFIProvider.java:68)
        at jnr.ffi.provider.FFIProvider$SystemProviderSingletonHolder.<clinit>(FFIProvider.java:57)
        at jnr.ffi.provider.FFIProvider.getSystemProvider(FFIProvider.java:35)
        at jnr.ffi.Library.loadLibrary(Library.java:114)
        at jnr.posix.POSIXFactory$DefaultLibCProvider$SingletonHolder.<clinit>(POSIXFactory.java:271)
        at jnr.posix.POSIXFactory$DefaultLibCProvider.getLibC(POSIXFactory.java:275)
        at jnr.posix.BaseNativePOSIX.<init>(BaseNativePOSIX.java:36)
        at jnr.posix.LinuxPOSIX.<init>(LinuxPOSIX.java:18)
        at jnr.posix.POSIXFactory.loadLinuxPOSIX(POSIXFactory.java:143)
        at jnr.posix.POSIXFactory.loadNativePOSIX(POSIXFactory.java:121)
        at jnr.posix.POSIXFactory.loadPOSIX(POSIXFactory.java:90)
        at jnr.posix.LazyPOSIX.loadPOSIX(LazyPOSIX.java:35)
        at jnr.posix.LazyPOSIX.posix(LazyPOSIX.java:31)
        at jnr.posix.LazyPOSIX.isNative(LazyPOSIX.java:329)
        at org.jruby.RubyGlobal.prepareStdioChannel(RubyGlobal.java:283)
        at org.jruby.RubyGlobal.createGlobals(RubyGlobal.java:197)
        at org.jruby.Ruby.init(Ruby.java:1274)
        at org.jruby.Ruby.newInstance(Ruby.java:330)
        at org.jruby.Main.internalRun(Main.java:267)
        at org.jruby.Main.run(Main.java:226)
        at org.jruby.Main.main(Main.java:198)
java.lang.UnsatisfiedLinkError: Can't load library: /usr/java/packages/lib/arm/libjffi-1.2.so
        at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1817)
        at java.lang.Runtime.load0(Runtime.java:809)
        at java.lang.System.load(System.java:1083)
        at com.kenai.jffi.internal.StubLoader.loadFromBootPath(StubLoader.java:313)
        at com.kenai.jffi.internal.StubLoader.load(StubLoader.java:246)
        at com.kenai.jffi.internal.StubLoader.<clinit>(StubLoader.java:431)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:340)
        at com.kenai.jffi.Init.load(Init.java:68)
        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:103)
        at com.kenai.jffi.Type$Builtin.lookupTypeInfo(Type.java:242)
        at com.kenai.jffi.Type$Builtin.getTypeInfo(Type.java:237)
        at com.kenai.jffi.Type.resolveSize(Type.java:155)
        at com.kenai.jffi.Type.size(Type.java:138)
        at jnr.ffi.provider.jffi.NativeRuntime$TypeDelegate.size(NativeRuntime.java:178)
        at jnr.ffi.provider.AbstractRuntime.<init>(AbstractRuntime.java:48)
        at jnr.ffi.provider.jffi.NativeRuntime.<init>(NativeRuntime.java:57)
        at jnr.ffi.provider.jffi.NativeRuntime.<init>(NativeRuntime.java:41)
        at jnr.ffi.provider.jffi.NativeRuntime$SingletonHolder.<clinit>(NativeRuntime.java:53)
        at jnr.ffi.provider.jffi.NativeRuntime.getInstance(NativeRuntime.java:49)
        at jnr.ffi.provider.jffi.Provider.<init>(Provider.java:29)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:408)
        at java.lang.Class.newInstance(Class.java:433)
        at jnr.ffi.provider.FFIProvider$SystemProviderSingletonHolder.getInstance(FFIProvider.java:68)
        at jnr.ffi.provider.FFIProvider$SystemProviderSingletonHolder.<clinit>(FFIProvider.java:57)
        at jnr.ffi.provider.FFIProvider.getSystemProvider(FFIProvider.java:35)
        at jnr.ffi.Library.loadLibrary(Library.java:114)
        at jnr.posix.POSIXFactory$DefaultLibCProvider$SingletonHolder.<clinit>(POSIXFactory.java:271)
        at jnr.posix.POSIXFactory$DefaultLibCProvider.getLibC(POSIXFactory.java:275)
        at jnr.posix.BaseNativePOSIX.<init>(BaseNativePOSIX.java:36)
        at jnr.posix.LinuxPOSIX.<init>(LinuxPOSIX.java:18)
        at jnr.posix.POSIXFactory.loadLinuxPOSIX(POSIXFactory.java:143)
        at jnr.posix.POSIXFactory.loadNativePOSIX(POSIXFactory.java:121)
        at jnr.posix.POSIXFactory.loadPOSIX(POSIXFactory.java:90)
        at jnr.posix.LazyPOSIX.loadPOSIX(LazyPOSIX.java:35)
        at jnr.posix.LazyPOSIX.posix(LazyPOSIX.java:31)
        at jnr.posix.LazyPOSIX.isNative(LazyPOSIX.java:329)
        at org.jruby.RubyGlobal.prepareStdioChannel(RubyGlobal.java:283)
        at org.jruby.RubyGlobal.createGlobals(RubyGlobal.java:197)
        at org.jruby.Ruby.init(Ruby.java:1274)
        at org.jruby.Ruby.newInstance(Ruby.java:330)
        at org.jruby.Main.internalRun(Main.java:267)
        at org.jruby.Main.run(Main.java:226)
        at org.jruby.Main.main(Main.java:198)
java.lang.UnsatisfiedLinkError: /opt/jruby/lib/jni/arm-Linux/libjffi-1.2.so: /opt/jruby/lib/jni/arm-Linux/libjffi-1.2.so: cannot open shared object file: No such file or directory
        at java.lang.ClassLoader$NativeLibrary.load(Native Method)
        at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1929)
        at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1814)
        at java.lang.Runtime.load0(Runtime.java:809)
        at java.lang.System.load(System.java:1083)
        at com.kenai.jffi.internal.StubLoader.loadFromBootPath(StubLoader.java:313)
        at com.kenai.jffi.internal.StubLoader.load(StubLoader.java:241)
        at com.kenai.jffi.internal.StubLoader.<clinit>(StubLoader.java:431)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:340)
        at com.kenai.jffi.Init.load(Init.java:68)
        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:103)
        at com.kenai.jffi.Type$Builtin.lookupTypeInfo(Type.java:242)
        at com.kenai.jffi.Type$Builtin.getTypeInfo(Type.java:237)
        at com.kenai.jffi.Type.resolveSize(Type.java:155)
        at com.kenai.jffi.Type.size(Type.java:138)
        at jnr.ffi.provider.jffi.NativeRuntime$TypeDelegate.size(NativeRuntime.java:178)
        at jnr.ffi.provider.AbstractRuntime.<init>(AbstractRuntime.java:48)
        at jnr.ffi.provider.jffi.NativeRuntime.<init>(NativeRuntime.java:57)
        at jnr.ffi.provider.jffi.NativeRuntime.<init>(NativeRuntime.java:41)
        at jnr.ffi.provider.jffi.NativeRuntime$SingletonHolder.<clinit>(NativeRuntime.java:53)
        at jnr.ffi.provider.jffi.NativeRuntime.getInstance(NativeRuntime.java:49)
        at jnr.ffi.provider.jffi.Provider.<init>(Provider.java:29)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:408)
        at java.lang.Class.newInstance(Class.java:433)
        at jnr.ffi.provider.FFIProvider$SystemProviderSingletonHolder.getInstance(FFIProvider.java:68)
        at jnr.ffi.provider.FFIProvider$SystemProviderSingletonHolder.<clinit>(FFIProvider.java:57)
        at jnr.ffi.provider.FFIProvider.getSystemProvider(FFIProvider.java:35)
        at jnr.ffi.Library.loadLibrary(Library.java:114)
        at jnr.posix.POSIXFactory$DefaultLibCProvider$SingletonHolder.<clinit>(POSIXFactory.java:271)
        at jnr.posix.POSIXFactory$DefaultLibCProvider.getLibC(POSIXFactory.java:275)
        at jnr.posix.BaseNativePOSIX.<init>(BaseNativePOSIX.java:36)
        at jnr.posix.LinuxPOSIX.<init>(LinuxPOSIX.java:18)
        at jnr.posix.POSIXFactory.loadLinuxPOSIX(POSIXFactory.java:143)
        at jnr.posix.POSIXFactory.loadNativePOSIX(POSIXFactory.java:121)
        at jnr.posix.POSIXFactory.loadPOSIX(POSIXFactory.java:90)
        at jnr.posix.LazyPOSIX.loadPOSIX(LazyPOSIX.java:35)
        at jnr.posix.LazyPOSIX.posix(LazyPOSIX.java:31)
        at jnr.posix.LazyPOSIX.isNative(LazyPOSIX.java:329)
        at org.jruby.RubyGlobal.prepareStdioChannel(RubyGlobal.java:283)
        at org.jruby.RubyGlobal.createGlobals(RubyGlobal.java:197)
        at org.jruby.Ruby.init(Ruby.java:1274)
        at org.jruby.Ruby.newInstance(Ruby.java:330)
        at org.jruby.Main.internalRun(Main.java:267)
        at org.jruby.Main.run(Main.java:226)
        at org.jruby.Main.main(Main.java:198)

        at com.kenai.jffi.Foreign.newLoadError(Foreign.java:72)
        at com.kenai.jffi.Foreign.access$300(Foreign.java:42)
        at com.kenai.jffi.Foreign$InValidInstanceHolder.getForeign(Foreign.java:98)
        at com.kenai.jffi.Foreign.getInstance(Foreign.java:103)
        at com.kenai.jffi.Type$Builtin.lookupTypeInfo(Type.java:242)
        ... 36 more
Caused by: java.lang.UnsatisfiedLinkError: java.lang.UnsatisfiedLinkError: /tmp/jffi4702179369502564792.so: /tmp/jffi4702179369502564792.so: cannot open shared object file: No such file or directory
        at java.lang.ClassLoader$NativeLibrary.load(Native Method)
        at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1929)
        at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1814)
        at java.lang.Runtime.load0(Runtime.java:809)
        at java.lang.System.load(System.java:1083)
        at com.kenai.jffi.internal.StubLoader.loadFromJar(StubLoader.java:358)
        at com.kenai.jffi.internal.StubLoader.load(StubLoader.java:251)
        at com.kenai.jffi.internal.StubLoader.<clinit>(StubLoader.java:431)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:340)
        at com.kenai.jffi.Init.load(Init.java:68)
        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:103)
        at com.kenai.jffi.Type$Builtin.lookupTypeInfo(Type.java:242)
        at com.kenai.jffi.Type$Builtin.getTypeInfo(Type.java:237)
        at com.kenai.jffi.Type.resolveSize(Type.java:155)
        at com.kenai.jffi.Type.size(Type.java:138)
        at jnr.ffi.provider.jffi.NativeRuntime$TypeDelegate.size(NativeRuntime.java:178)
        at jnr.ffi.provider.AbstractRuntime.<init>(AbstractRuntime.java:48)
        at jnr.ffi.provider.jffi.NativeRuntime.<init>(NativeRuntime.java:57)
        at jnr.ffi.provider.jffi.NativeRuntime.<init>(NativeRuntime.java:41)
        at jnr.ffi.provider.jffi.NativeRuntime$SingletonHolder.<clinit>(NativeRuntime.java:53)
        at jnr.ffi.provider.jffi.NativeRuntime.getInstance(NativeRuntime.java:49)
        at jnr.ffi.provider.jffi.Provider.<init>(Provider.java:29)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:408)
        at java.lang.Class.newInstance(Class.java:433)
        at jnr.ffi.provider.FFIProvider$SystemProviderSingletonHolder.getInstance(FFIProvider.java:68)
        at jnr.ffi.provider.FFIProvider$SystemProviderSingletonHolder.<clinit>(FFIProvider.java:57)
        at jnr.ffi.provider.FFIProvider.getSystemProvider(FFIProvider.java:35)
        at jnr.ffi.Library.loadLibrary(Library.java:114)
        at jnr.posix.POSIXFactory$DefaultLibCProvider$SingletonHolder.<clinit>(POSIXFactory.java:271)
        at jnr.posix.POSIXFactory$DefaultLibCProvider.getLibC(POSIXFactory.java:275)
        at jnr.posix.BaseNativePOSIX.<init>(BaseNativePOSIX.java:36)
        at jnr.posix.LinuxPOSIX.<init>(LinuxPOSIX.java:18)
        at jnr.posix.POSIXFactory.loadLinuxPOSIX(POSIXFactory.java:143)
        at jnr.posix.POSIXFactory.loadNativePOSIX(POSIXFactory.java:121)
        at jnr.posix.POSIXFactory.loadPOSIX(POSIXFactory.java:90)
        at jnr.posix.LazyPOSIX.loadPOSIX(LazyPOSIX.java:35)
        at jnr.posix.LazyPOSIX.posix(LazyPOSIX.java:31)
        at jnr.posix.LazyPOSIX.isNative(LazyPOSIX.java:329)
        at org.jruby.RubyGlobal.prepareStdioChannel(RubyGlobal.java:283)
        at org.jruby.RubyGlobal.createGlobals(RubyGlobal.java:197)
        at org.jruby.Ruby.init(Ruby.java:1274)
        at org.jruby.Ruby.newInstance(Ruby.java:330)
        at org.jruby.Main.internalRun(Main.java:267)
        at org.jruby.Main.run(Main.java:226)
        at org.jruby.Main.main(Main.java:198)
java.lang.UnsatisfiedLinkError: /opt/jruby/lib/jni/arm-Linux/libjffi-1.2.so: /opt/jruby/lib/jni/arm-Linux/libjffi-1.2.so: cannot open shared object file: No such file or directory
        at java.lang.ClassLoader$NativeLibrary.load(Native Method)
        at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1929)
        at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1814)
        at java.lang.Runtime.load0(Runtime.java:809)
        at java.lang.System.load(System.java:1083)
        at com.kenai.jffi.internal.StubLoader.loadFromBootPath(StubLoader.java:313)
        at com.kenai.jffi.internal.StubLoader.load(StubLoader.java:246)
        at com.kenai.jffi.internal.StubLoader.<clinit>(StubLoader.java:431)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:340)
        at com.kenai.jffi.Init.load(Init.java:68)
        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:103)
        at com.kenai.jffi.Type$Builtin.lookupTypeInfo(Type.java:242)
        at com.kenai.jffi.Type$Builtin.getTypeInfo(Type.java:237)
        at com.kenai.jffi.Type.resolveSize(Type.java:155)
        at com.kenai.jffi.Type.size(Type.java:138)
        at jnr.ffi.provider.jffi.NativeRuntime$TypeDelegate.size(NativeRuntime.java:178)
        at jnr.ffi.provider.AbstractRuntime.<init>(AbstractRuntime.java:48)
        at jnr.ffi.provider.jffi.NativeRuntime.<init>(NativeRuntime.java:57)
        at jnr.ffi.provider.jffi.NativeRuntime.<init>(NativeRuntime.java:41)
        at jnr.ffi.provider.jffi.NativeRuntime$SingletonHolder.<clinit>(NativeRuntime.java:53)
        at jnr.ffi.provider.jffi.NativeRuntime.getInstance(NativeRuntime.java:49)
        at jnr.ffi.provider.jffi.Provider.<init>(Provider.java:29)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:408)
        at java.lang.Class.newInstance(Class.java:433)
        at jnr.ffi.provider.FFIProvider$SystemProviderSingletonHolder.getInstance(FFIProvider.java:68)
        at jnr.ffi.provider.FFIProvider$SystemProviderSingletonHolder.<clinit>(FFIProvider.java:57)
        at jnr.ffi.provider.FFIProvider.getSystemProvider(FFIProvider.java:35)
        at jnr.ffi.Library.loadLibrary(Library.java:114)
        at jnr.posix.POSIXFactory$DefaultLibCProvider$SingletonHolder.<clinit>(POSIXFactory.java:271)
        at jnr.posix.POSIXFactory$DefaultLibCProvider.getLibC(POSIXFactory.java:275)
        at jnr.posix.BaseNativePOSIX.<init>(BaseNativePOSIX.java:36)
        at jnr.posix.LinuxPOSIX.<init>(LinuxPOSIX.java:18)
        at jnr.posix.POSIXFactory.loadLinuxPOSIX(POSIXFactory.java:143)
        at jnr.posix.POSIXFactory.loadNativePOSIX(POSIXFactory.java:121)
        at jnr.posix.POSIXFactory.loadPOSIX(POSIXFactory.java:90)
        at jnr.posix.LazyPOSIX.loadPOSIX(LazyPOSIX.java:35)
        at jnr.posix.LazyPOSIX.posix(LazyPOSIX.java:31)
        at jnr.posix.LazyPOSIX.isNative(LazyPOSIX.java:329)
        at org.jruby.RubyGlobal.prepareStdioChannel(RubyGlobal.java:283)
        at org.jruby.RubyGlobal.createGlobals(RubyGlobal.java:197)
        at org.jruby.Ruby.init(Ruby.java:1274)
        at org.jruby.Ruby.newInstance(Ruby.java:330)
        at org.jruby.Main.internalRun(Main.java:267)
        at org.jruby.Main.run(Main.java:226)
        at org.jruby.Main.main(Main.java:198)
java.lang.UnsatisfiedLinkError: /opt/jruby/lib/jni/arm-Linux/libjffi-1.2.so: /opt/jruby/lib/jni/arm-Linux/libjffi-1.2.so: cannot open shared object file: No such file or directory
        at java.lang.ClassLoader$NativeLibrary.load(Native Method)
        at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1929)
        at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1814)
        at java.lang.Runtime.load0(Runtime.java:809)
        at java.lang.System.load(System.java:1083)
        at com.kenai.jffi.internal.StubLoader.loadFromBootPath(StubLoader.java:313)
        at com.kenai.jffi.internal.StubLoader.load(StubLoader.java:246)
        at com.kenai.jffi.internal.StubLoader.<clinit>(StubLoader.java:431)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:340)
        at com.kenai.jffi.Init.load(Init.java:68)
        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:103)
        at com.kenai.jffi.Type$Builtin.lookupTypeInfo(Type.java:242)
        at com.kenai.jffi.Type$Builtin.getTypeInfo(Type.java:237)
        at com.kenai.jffi.Type.resolveSize(Type.java:155)
        at com.kenai.jffi.Type.size(Type.java:138)
        at jnr.ffi.provider.jffi.NativeRuntime$TypeDelegate.size(NativeRuntime.java:178)
        at jnr.ffi.provider.AbstractRuntime.<init>(AbstractRuntime.java:48)
        at jnr.ffi.provider.jffi.NativeRuntime.<init>(NativeRuntime.java:57)
        at jnr.ffi.provider.jffi.NativeRuntime.<init>(NativeRuntime.java:41)
        at jnr.ffi.provider.jffi.NativeRuntime$SingletonHolder.<clinit>(NativeRuntime.java:53)
        at jnr.ffi.provider.jffi.NativeRuntime.getInstance(NativeRuntime.java:49)
        at jnr.ffi.provider.jffi.Provider.<init>(Provider.java:29)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:408)
        at java.lang.Class.newInstance(Class.java:433)
        at jnr.ffi.provider.FFIProvider$SystemProviderSingletonHolder.getInstance(FFIProvider.java:68)
        at jnr.ffi.provider.FFIProvider$SystemProviderSingletonHolder.<clinit>(FFIProvider.java:57)
        at jnr.ffi.provider.FFIProvider.getSystemProvider(FFIProvider.java:35)
        at jnr.ffi.Library.loadLibrary(Library.java:114)
        at jnr.posix.POSIXFactory$DefaultLibCProvider$SingletonHolder.<clinit>(POSIXFactory.java:271)
        at jnr.posix.POSIXFactory$DefaultLibCProvider.getLibC(POSIXFactory.java:275)
        at jnr.posix.BaseNativePOSIX.<init>(BaseNativePOSIX.java:36)
        at jnr.posix.LinuxPOSIX.<init>(LinuxPOSIX.java:18)
        at jnr.posix.POSIXFactory.loadLinuxPOSIX(POSIXFactory.java:143)
        at jnr.posix.POSIXFactory.loadNativePOSIX(POSIXFactory.java:121)
        at jnr.posix.POSIXFactory.loadPOSIX(POSIXFactory.java:90)
        at jnr.posix.LazyPOSIX.loadPOSIX(LazyPOSIX.java:35)
        at jnr.posix.LazyPOSIX.posix(LazyPOSIX.java:31)
        at jnr.posix.LazyPOSIX.isNative(LazyPOSIX.java:329)
        at org.jruby.RubyGlobal.prepareStdioChannel(RubyGlobal.java:283)
        at org.jruby.RubyGlobal.createGlobals(RubyGlobal.java:197)
        at org.jruby.Ruby.init(Ruby.java:1274)
        at org.jruby.Ruby.newInstance(Ruby.java:330)
        at org.jruby.Main.internalRun(Main.java:267)
        at org.jruby.Main.run(Main.java:226)
        at org.jruby.Main.main(Main.java:198)
java.lang.UnsatisfiedLinkError: Can't load library: /usr/java/packages/lib/arm/libjffi-1.2.so
        at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1817)
        at java.lang.Runtime.load0(Runtime.java:809)
        at java.lang.System.load(System.java:1083)
        at com.kenai.jffi.internal.StubLoader.loadFromBootPath(StubLoader.java:313)
        at com.kenai.jffi.internal.StubLoader.load(StubLoader.java:246)
        at com.kenai.jffi.internal.StubLoader.<clinit>(StubLoader.java:431)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:340)
        at com.kenai.jffi.Init.load(Init.java:68)
        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:103)
        at com.kenai.jffi.Type$Builtin.lookupTypeInfo(Type.java:242)
        at com.kenai.jffi.Type$Builtin.getTypeInfo(Type.java:237)
        at com.kenai.jffi.Type.resolveSize(Type.java:155)
        at com.kenai.jffi.Type.size(Type.java:138)
        at jnr.ffi.provider.jffi.NativeRuntime$TypeDelegate.size(NativeRuntime.java:178)
        at jnr.ffi.provider.AbstractRuntime.<init>(AbstractRuntime.java:48)
        at jnr.ffi.provider.jffi.NativeRuntime.<init>(NativeRuntime.java:57)
        at jnr.ffi.provider.jffi.NativeRuntime.<init>(NativeRuntime.java:41)
        at jnr.ffi.provider.jffi.NativeRuntime$SingletonHolder.<clinit>(NativeRuntime.java:53)
        at jnr.ffi.provider.jffi.NativeRuntime.getInstance(NativeRuntime.java:49)
        at jnr.ffi.provider.jffi.Provider.<init>(Provider.java:29)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:408)
        at java.lang.Class.newInstance(Class.java:433)
        at jnr.ffi.provider.FFIProvider$SystemProviderSingletonHolder.getInstance(FFIProvider.java:68)
        at jnr.ffi.provider.FFIProvider$SystemProviderSingletonHolder.<clinit>(FFIProvider.java:57)
        at jnr.ffi.provider.FFIProvider.getSystemProvider(FFIProvider.java:35)
        at jnr.ffi.Library.loadLibrary(Library.java:114)
        at jnr.posix.POSIXFactory$DefaultLibCProvider$SingletonHolder.<clinit>(POSIXFactory.java:271)
        at jnr.posix.POSIXFactory$DefaultLibCProvider.getLibC(POSIXFactory.java:275)
        at jnr.posix.BaseNativePOSIX.<init>(BaseNativePOSIX.java:36)
        at jnr.posix.LinuxPOSIX.<init>(LinuxPOSIX.java:18)
        at jnr.posix.POSIXFactory.loadLinuxPOSIX(POSIXFactory.java:143)
        at jnr.posix.POSIXFactory.loadNativePOSIX(POSIXFactory.java:121)
        at jnr.posix.POSIXFactory.loadPOSIX(POSIXFactory.java:90)
        at jnr.posix.LazyPOSIX.loadPOSIX(LazyPOSIX.java:35)
        at jnr.posix.LazyPOSIX.posix(LazyPOSIX.java:31)
        at jnr.posix.LazyPOSIX.isNative(LazyPOSIX.java:329)
        at org.jruby.RubyGlobal.prepareStdioChannel(RubyGlobal.java:283)
        at org.jruby.RubyGlobal.createGlobals(RubyGlobal.java:197)
        at org.jruby.Ruby.init(Ruby.java:1274)
        at org.jruby.Ruby.newInstance(Ruby.java:330)
        at org.jruby.Main.internalRun(Main.java:267)
        at org.jruby.Main.run(Main.java:226)
        at org.jruby.Main.main(Main.java:198)
java.lang.UnsatisfiedLinkError: /opt/jruby/lib/jni/arm-Linux/libjffi-1.2.so: /opt/jruby/lib/jni/arm-Linux/libjffi-1.2.so: cannot open shared object file: No such file or directory
        at java.lang.ClassLoader$NativeLibrary.load(Native Method)
        at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1929)
        at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1814)
        at java.lang.Runtime.load0(Runtime.java:809)
        at java.lang.System.load(System.java:1083)
        at com.kenai.jffi.internal.StubLoader.loadFromBootPath(StubLoader.java:313)
        at com.kenai.jffi.internal.StubLoader.load(StubLoader.java:241)
        at com.kenai.jffi.internal.StubLoader.<clinit>(StubLoader.java:431)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:340)
        at com.kenai.jffi.Init.load(Init.java:68)
        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:103)
        at com.kenai.jffi.Type$Builtin.lookupTypeInfo(Type.java:242)
        at com.kenai.jffi.Type$Builtin.getTypeInfo(Type.java:237)
        at com.kenai.jffi.Type.resolveSize(Type.java:155)
        at com.kenai.jffi.Type.size(Type.java:138)
        at jnr.ffi.provider.jffi.NativeRuntime$TypeDelegate.size(NativeRuntime.java:178)
        at jnr.ffi.provider.AbstractRuntime.<init>(AbstractRuntime.java:48)
        at jnr.ffi.provider.jffi.NativeRuntime.<init>(NativeRuntime.java:57)
        at jnr.ffi.provider.jffi.NativeRuntime.<init>(NativeRuntime.java:41)
        at jnr.ffi.provider.jffi.NativeRuntime$SingletonHolder.<clinit>(NativeRuntime.java:53)
        at jnr.ffi.provider.jffi.NativeRuntime.getInstance(NativeRuntime.java:49)
        at jnr.ffi.provider.jffi.Provider.<init>(Provider.java:29)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:408)
        at java.lang.Class.newInstance(Class.java:433)
        at jnr.ffi.provider.FFIProvider$SystemProviderSingletonHolder.getInstance(FFIProvider.java:68)
        at jnr.ffi.provider.FFIProvider$SystemProviderSingletonHolder.<clinit>(FFIProvider.java:57)
        at jnr.ffi.provider.FFIProvider.getSystemProvider(FFIProvider.java:35)
        at jnr.ffi.Library.loadLibrary(Library.java:114)
        at jnr.posix.POSIXFactory$DefaultLibCProvider$SingletonHolder.<clinit>(POSIXFactory.java:271)
        at jnr.posix.POSIXFactory$DefaultLibCProvider.getLibC(POSIXFactory.java:275)
        at jnr.posix.BaseNativePOSIX.<init>(BaseNativePOSIX.java:36)
        at jnr.posix.LinuxPOSIX.<init>(LinuxPOSIX.java:18)
        at jnr.posix.POSIXFactory.loadLinuxPOSIX(POSIXFactory.java:143)
        at jnr.posix.POSIXFactory.loadNativePOSIX(POSIXFactory.java:121)
        at jnr.posix.POSIXFactory.loadPOSIX(POSIXFactory.java:90)
        at jnr.posix.LazyPOSIX.loadPOSIX(LazyPOSIX.java:35)
        at jnr.posix.LazyPOSIX.posix(LazyPOSIX.java:31)
        at jnr.posix.LazyPOSIX.isNative(LazyPOSIX.java:329)
        at org.jruby.RubyGlobal.prepareStdioChannel(RubyGlobal.java:283)
        at org.jruby.RubyGlobal.createGlobals(RubyGlobal.java:197)
        at org.jruby.Ruby.init(Ruby.java:1274)
        at org.jruby.Ruby.newInstance(Ruby.java:330)
        at org.jruby.Main.internalRun(Main.java:267)
        at org.jruby.Main.run(Main.java:226)
        at org.jruby.Main.main(Main.java:198)

        at com.kenai.jffi.internal.StubLoader.load(StubLoader.java:263)
        at com.kenai.jffi.internal.StubLoader.<clinit>(StubLoader.java:431)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:340)
        at com.kenai.jffi.Init.load(Init.java:68)
        at com.kenai.jffi.Foreign$InstanceHolder.getInstanceHolder(Foreign.java:49)
        at com.kenai.jffi.Foreign$InstanceHolder.<clinit>(Foreign.java:45)
        ... 38 more
ERROR:  Could not find a valid gem '...' (>= 0) in any repository

@richrarobi
Copy link
Author

Hope that helps - RichR

@headius
Copy link
Member

headius commented Jun 2, 2015

This looks like an issue finding the stub library we ship. 9k.pre2 may have shipped with some code that attempted to use the stub on the filesystem (in that jni dir) rather than unpacking a known-good version inside the JRuby jar.

Can you try a more recent build from ci.jruby.org?

@enebo
Copy link
Member

enebo commented Jun 2, 2015

I have seen this issue but I am unaware the proper way to solve it. I got JRuby running with native enabled on a raspi (not v2) by manually copying our native libraries to a place Java could see them. I think the issue is that we try and relocate them to /tmp and there is something about raspberry pi which does not like loading shared libs from there (unless it was some odd permissions issue I missed?).

@richrarobi
Copy link
Author

I tried the latest release candidate version. Still getting
pi@pi-00 ~ $ jgem install couch_potato
Fetching: builder-3.2.2.gem (100%)
NotImplementedError: waitpid unsupported or native support failed to load
flock at org/jruby/RubyFile.java:298

I tried copying /usr/lib/jffi/jffi-native.jar to various lib places in the oracle java files - no change - can u advise what should be copied, and where for a work around?
Thanks
RichR

@richrarobi
Copy link
Author

I think I have found a solution: (not fully tested yet) - I found a similar problem - #1561
so on my raspberry pi (pi 2 model) : -

sudo apt-get install ant
git clone https://github.com/jnr/jffi.git
ant jar

then copy the libjffi-1.2.so from jffi/dist/jni/arm-Linux to jruby/lib/jni/arm-linux replacing the one already there (rename that first!!!)
jgem install couch_potato has now worked, and my program runs.....

RichR

@enebo enebo added this to the JRuby 9.0.0.0 milestone Jul 9, 2015
@petter0007
Copy link

This is an old issue and closed, but it was not actually resolved, was it? The solution above is just a workaround, right? The same problem exists in 9.1.2.0 and 9.1.3.0-SNAPSHOT, and the same workaround works. It would just be nice to be able to use JRuby without the extra manual install step.

Can anyone think of an explanation as to what the core problem actually is? @enebo mentioned a problem relocating to /tmp, but why should replacing the libjffi-1.2.so file solve this?

@HowellBP
Copy link

Same problem exists in 9.1.8.0 on Raspberry Pi 3, running raspbian jessie.

@EugenMayer
Copy link

running into the same issues in a fresh debian stretch with tomcat8 on a regular server

@ranjankumar03
Copy link

ranjankumar03 commented Sep 1, 2017

any workaoround found?

[main] datastax.driver.core.Native:113 -Could not load JNR C Library, native system calls through this library will
not be available
java.lang.UnsatisfiedLinkError: could not load FFI provider jnr.ffi.provider.jffi.Provider
at jnr.ffi.provider.InvalidProvider$1.loadLibrary(InvalidProvider.java:48)
at jnr.ffi.LibraryLoader.load(LibraryLoader.java:290)
at jnr.ffi.LibraryLoader.load(LibraryLoader.java:269)
at com.datastax.driver.core.Native$LibCLoader.(Native.java:108)
at com.datastax.driver.core.Native.isGettimeofdayAvailable(Native.java:190)
at com.datastax.driver.core.ClockFactory.newInstance(Clock.java:51)
at com.datastax.driver.core.AbstractMonotonicTimestampGenerator.(AbstractMonotonicTimestampGenerator.java:43)
at com.datastax.driver.core.LoggingMonotonicTimestampGenerator.(LoggingMonotonicTimestampGenerator.java:49)
at com.datastax.driver.core.AtomicMonotonicTimestampGenerator.(AtomicMonotonicTimestampGenerator.java:50)
at com.datastax.driver.core.AtomicMonotonicTimestampGenerator.(AtomicMonotonicTimestampGenerator.java:37)
at com.datastax.driver.core.policies.Policies.defaultTimestampGenerator(Policies.java:121)
at com.datastax.driver.core.policies.Policies$Builder.build(Policies.java:286)
at com.datastax.driver.core.Cluster$Builder.getConfiguration(Cluster.java:1317)
at com.datastax.driver.core.Cluster.(Cluster.java:113)
at com.datastax.driver.core.Cluster.buildFrom(Cluster.java:178)

@enebo
Copy link
Member

enebo commented Sep 1, 2017

You can manually put 'lib/jni/arm-Linux/libjffi-1.2.so' somewhere where either java can see java.library.path property or where linux itself can see it (e.g. ld.config). A quick test would be to stuff it into /lib.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

8 participants