Project

General

Profile

Bug #3809

jni actors do not work

Added by Daniel Crawl over 10 years ago. Updated over 10 years ago.

Status:
Resolved
Priority:
Normal
Assignee:
Category:
build system
Target version:
Start date:
02/05/2009
Due date:
% Done:

0%

Estimated time:
Bugzilla-Id:
3809

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


Related issues

Blocked by Kepler - Bug #3931: Get the R actor working with JNINew04/02/2009

Blocked by Kepler - Bug #3949: Get the installer working with the new build systemResolved04/06/2009

History

#1 Updated by Daniel Crawl over 10 years ago

I've fixed this for the command-line build.
This bug can be closed when it's fixed for the IDEs.

#2 Updated by Chad Berkley over 10 years ago

Need to check the IDEs to make sure JNI works.

#3 Updated by ben leinfelder over 10 years ago

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)

#4 Updated by ben leinfelder over 10 years ago

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?

#5 Updated by ben leinfelder over 10 years ago

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

#6 Updated by Chad Berkley over 10 years ago

Check that this works with the installer.

#7 Updated by Chad Berkley over 10 years ago

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.

#8 Updated by Redmine Admin over 6 years ago

Original Bugzilla ID was 3809

Also available in: Atom PDF