Abhishek Bhatia Abhishek Bhatia - 1 year ago 204
R Question

Unable to load rJava on R

I wish to load rJava in R x64 3.1.2.
OS- Windows 8.1 64 bit

Though installation seems to work fine:

> install.packages("rJava")
Installing package into ‘C:/Users/sony/Documents/R/win-library/3.1’
(as ‘lib’ is unspecified)
--- Please select a CRAN mirror for use in this session ---
trying URL 'http://cran.utstat.utoronto.ca/bin/windows/contrib/3.1/rJava_0.9-6.zip'
Content type 'application/zip' length 758898 bytes (741 Kb)
opened URL
downloaded 741 Kb

package ‘rJava’ successfully unpacked and MD5 sums checked

The downloaded binary packages are in

I get an error while loading the package:

Error in get(Info[i, 1], envir = env) :
lazy-load database 'C:/Users/sony/Documents/R/win-library/3.1/rJava/R/rJava.rdb' is corrupt
In addition: Warning message:
In get(Info[i, 1], envir = env) : internal error -3 in R_decompress1
Error: package or namespace load failed for ‘rJava’

I know that I am working on R-64 bit and at same time the environment variable Path is set to:

C:\Program Files\Java\jdk1.7.0_51\bin;C:\Program Files\Java\jre7\bin\server;

also, so the Java version is 64 bit too. I don't understand the reason behind the error.

On manually setting through R:

options(java.home="C:\\Program Files\\Java\\jdk1.7.0_51\\bin")

I get this error:

enter image description here

Error : .onLoad failed in loadNamespace() for 'rJava', details:
call: inDL(x, as.logical(local), as.logical(now), ...)
error: unable to load shared object 'C:/Users/sony/Documents/R/win-library/3.1/rJava/libs/x64/rJava.dll':
LoadLibrary failure: The specified module could not be found.

Error: package or namespace load failed for ‘rJava’

Any advice? The error seems to have cropped up after I uninstalled some old version of Java.

Also just to add, I do not set JAVA_HOME as a environment variable.

Uninstalling and Reinstalling R also doesn't seem to fix the problem.

Removing older java versions is too of no help.

Answer Source


Sys.setenv(JAVA_HOME='...path to JRE...')


Sys.setenv(JAVA_HOME='C:\\Program Files\\Java\\jdk1.7.0_51\\jre')

Your environment variable is wrong.

Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download