I am getting this exception with FFI when using jruby-core jars but NOT
when using jruby-complete.jar:
org.jruby.exceptions.RaiseException: (LoadError) Could not load FFI
Provider: (NotImplementedError) FFI not available: Could not initialize
class com.kenai.jffi.Foreign$InstanceHolder
See http://jira.codehaus.org/browse/JRUBY-4583
It seems that the libffi libraries are not included in any of the
jruby-core jars. The following is included in jruby-complete.jar but NOT
in
any of the jruby-core jars:
with a pom with only jruby-core as depdenceny. this shows that
com.github.jnr:jffi:jar:native:1.2.7:runtime is pulled in by the
dependency
manager.
so I am still sure that jruby-core+transitive dependencies is
essentially
the same as jruby-complete. could it be that there is loading issue of
the
native lib - just guessing ?
Hi I think that core jar dont include things thats not core … For a
jar
with dependeces its better to use complete jar and then include
additional
jars at classpath. I think that this includes could be posible even with
core but things will be more difficult… Because you must do again work
thats someone did to bundle complete jar container.
Regards
El 20/06/2013 20:03, “Colin Surprenant” [email protected]
escribi:
I am not very good with both Ivy & Maven so this might just be caused by
my
weakness with these tools… A basic transitive dependency on jruby-core
with Ivy like this:
does not include jffi-native.
so looking at your dependency tree, jffi-native is in the maven
“runtime”
scope. I have tried without success to specify a runtime conf in Ivy to
include jffi-native. Again this might just be me not doing it right.
Manuel: jruby-complete can be useful but is not a good option when you
are
also dealing with other dependencies - with jruby-complete, it is not
possible to resolve conflicting jars etc.