jri.dll depends R.dll and JVM.dll
jri.dll depends R.dll and JVM.dll
When I run an application related to jri.dll, I got following exception:
2014-11-08 10:51:12,189 ERROR [STDERR] Cannot find JRI native library!
Please make sure that the JRI native library is in a directory listed in java.library.path.
2014-11-08 10:51:12,298 ERROR [STDERR] java.lang.UnsatisfiedLinkError: D:\thirdparty\R-3.1.1\library\rJava\jri\jri.dll: Can't find dependent libraries
D:\thirdparty\R-3.1.1\library\rJava\jri is already in PATH before starting the application. Something must be wrong while loading a DLL.
There is a simple way to check if the %PATH% is ready to load a DLL. It is a Windows command "regsvr32 dllname". Run this command and there may be some results:
1. Failed to load this DLL, and it is not found. The DLL does not exist, or any dependent DLLs do not exist.
2. DLL is loaded, but not registered. The DLL is a valid file, but not for a service.
3. DLL is not a valid Windows file. It is not a DLL, or a DLL for 64bit environment.
Actually jrl.dll depends on R.dll and JVM.dll. It is not smart to search in in subdirectories of R_HOME and JAVA_HOME. The real location of R.dll should be put into PATH before starting the application. JVM.dll is loaded internally by JVM process.
Labels: JRI R Java

0 Comments:
Post a Comment
<< Home