Bug #3809
closed
Added by Daniel Crawl almost 16 years ago.
Updated over 15 years ago.
Description
Actors using native libs do not work, either trunk or 1.0.
Example workflows containing some of these actors:
demos/ENM/GARP_SingleSpecies_BestRuleSet-IV.xml
demos/Matlab/MatlabExpression.xml
I've fixed this for the command-line build.
This bug can be closed when it's fixed for the IDEs.
Need to check the IDEs to make sure JNI works.
in Eclipse I've been launching Kepler (org.kepler.core.loader.Loader) with the following VM argument:
-Djava.library.path=${project_loc:common}/lib
Without that argument, I get ugly java.lang.UnsatisfiedLinkError exceptions (and crash, in the case of my JRI libs)
Maybe using a code-based approach is better than a launch-based?
We could do some looping in the lib directory, and load each library on start up:
http://java.sun.com/j2se/1.5.0/docs/api/java/lang/System.html#load(java.lang.String)
i'd assume that the installer/launcher version of Kepler will be able to set the java.library.path property on start up, but how would we handle different modules that might need to have their binary libraries (dll, so..) added to the path?
now that the R actors (and the JRI implementations) have been moved to another module, I'm using a colon-separated list for the java.library.path when running within eclipse:
-Djava.library.path=${project_loc:common}/lib:${project_loc:r}/lib
Check that this works with the installer.
JNI actors now work with both the installed and the ant-executed versions of kepler. The java.library.path is also added to the path variable on windows so the dlls do not have to be put into the system32 dir.
Original Bugzilla ID was 3809
Also available in: Atom
PDF