How does one install 'rj' in StatET plugin for Eclipse?
Asked Answered
L

6

11

I have started to try to use StatET and Texlipse with a view to producing SWEAVE reports. When starting the R console in the StatET plug-in for Eclipse (OS X 10.6.4), I get the message:

[INFO] The R package 'rj' is not available, R-StatET tools cannot be initialized.

Information on http://www.walware.de/goto/statet states:

"The package only works in the default R Console (RJ) in StatET. Therefore you have to install and update it using the command line":

R CMD INSTALL --no-test-load rj_*.tar.gz

What does this mean exactly?

In Eclipse under "Install new Software" and the site

WalWare - http://download.walware.de/eclipse-3.6

it states that

  RJ Core Library 0.5.0.b201008271600sw

is already installed.

Any helpful guidance gratefully received.

Lazaretto answered 16/9, 2010 at 14:46 Comment(0)
H
3

It looks like you need to install the RJ library which can be downloaded from the StatET site here: http://download.walware.de/rj/rj_0.5.0-5.tar.gz (more recent versions of RJ can be found at http://www.walware.de/it/downloads/rj.mframe)

If you save that file on your desktop, you can then load it into R with the command they provided R CMD INSTALL --no-test-load rj_*.tar.gz after navigating to your desktop or wherever you saved the library file. Alternatively, you MAY be able to use the GUI interface and select Install packages from local ZIP files under Packages in R, though I haven't used R on a Mac so the layout may be slightly different.

Houseroom answered 16/9, 2010 at 14:53 Comment(5)
Thanks. Your comments gave me a nudge in the right direction. I was being foolish, the command is simply run in Terminal R CMD INSTALL --no-test-load rj_.tar.gz * installing to library ‘/Library/Frameworks/R.framework/Resources/library’ * installing *source package ‘rj’ ... ** R ** inst ** preparing package for lazy loading ** help No man pages found in package ‘rj’ *** installing help indices ** building package indices ... * DONE (rj)Lazaretto
@Lazaretto - glad you got going in the right direction, I should have mentioned that the command needs to be run from the terminal window on a Mac or in Linux, or from a DOS prompt on a Windows machine. Good luck!Houseroom
OK - it all works and I 'SWEAVEd' my first document in Eclipse! One think that didn't quite go to plan was the reading of a csv file: > df<-read.csv(file.choose(),header=T) Error in file.choose() : file choice cancelled but if I moved the file into the workspace then: df<-read.csv("/Users/mfar_1/Documents/workspace/MF2/test.csv") Will choose not work within Eclipse?Lazaretto
@Lazaretto - I wasn't able to reproduce your error using file.choose() within Sweave, but that may be due to a whole host of reasons. In general, it is best practice on Stack Overflow to have separate questions for each problem you encouner or are trying to solve. If there are two or three items that are related - then listing them together may be fine. Your question re: file.choose() in Eclipse definitely warrants its' own question though.Houseroom
Thanks. I don't wish to breach etiquette! I'll ask a new question.Lazaretto
C
6

[rant] I also lack the reputation to put my response where it belongs. And there's no button there indicating this. Just a big screen full of nowhere desired to click upon. Negative discoverability sucks. It sucks in Eclipse and it sucks here, too. [/rant]

I'm finding rj frustrating under Ubuntu. On my system, with each major Ubuntu upgrade with a new version of R, I have to go through this procedure over again.

One time I tried to use a tilde (~) character in a path name within some Eclipse configuration field. This failed silently.

My current configuration is as follows. In my ~/.Renviron file:

R_LIBS_USER=~/etc/R/amd64/2.11

Once rJava works, there is an rJava directory here. Just so I don't drive myself insane, in ~/etc/R/README I put a note that my current R configuration is controlled by ~/.Renviron

Somehow at one point I ended up with permission problems where

R CMD javareconf 

was failing. Once in frustration I foolishly ran this under sudo to work around this problem, and ended up with permission problems on the generated files. Stupid! The correct fix was to make all the files in /etc/R world readable. Maybe javareconf is only important if you mess with your default Java. Previously, I was running the Sun's JRE. Since 10.10 I'm running icedtea6 and it seems to be working OK. One time it was just the thing to make my configuration work again.

Once I have the right Java binding, from command line R:

install.packages("rJava")

I've had file permission problems running this in the past. I think it was fixed by making all files in /etc/R world readable.

The following is a useful diagnostic to see if this worked, from within any R console:

> system.file("jri",package="rJava")
[1] "/home/allan/etc/R/amd64/2.11/rJava/jri"

If it doesn't look right under Eclipse, there is also some startup debugging available, though it took forever before I noticed this in the docs at StatET.

I created an R Console run configuration for R 2.11 debug In the JRE tab add -Dde.walware.rj.verbose=true. In the Common tab, click Allocate additional Error Log Consoles.

The main configuration options are as follows. Main tab, Launch Type: RJ. R_Config tab, you need to select a Configured R Installation, or create/edit one if you don't have one that works. Mine is Name=R, Location=/usr/lib64/R In the Environment tab I have R_LIBS_USER=/home/USER/etc/R/amd64/2.11 according to how I set things up above. Do not use the tilde (~) character here!

If you end up mucking about with this problem as much as I did, you end up killing a lot of dead consoles. In the Main tab I added the program option --no-save. I don't think this does anything, since I can't end my console by pressing CTRL-D. In the R_Console tab, I added the following R snippet:

q <- function(save = "no", status = 0, runLast = TRUE){
.Internal(quit(save, status, runLast))
#<environment: namespace:base>
}

This gets rid of the annoying "save workspace" prompt when killing an R console with the red square (is that symbolic?) My current workspace also includes a C project, so my R console constantly comes up underneath a blank C-Build console. Annoying as all hell! Haven't solved that yet, but I did discover that from within a StatET code windows the keybinding CTRL-R C pulls the R console to the top.

With my R 2.11 debug configuration I get an extra console titled /usr/lib/jvm/java-6-openjdk/bin/java. You'll have to spelunk the console drop-down to find it. The following is a pertinent snippet of a successful initialization:

CONFIG: JR library path: 
    /home/allan/etc/R/amd64/2.11
    /usr/local/lib64/R/site-library
    /usr/lib64/R/library
10-Dec-2010 7:56:47 AM org.rosuda.rj.JRClassLoader addClassPath
FINE: Added '/home/allan/etc/R/amd64/2.11/rJava/java' to classpath of URL loader  

A lot more spoo, then finally:

10-Dec-2010 7:56:48 AM de.walware.rj.server.jriImpl.RosudaJRIServer start
INFO: R engine started successfully. New Client-State: 'Connected'.

Looks good, right? But lo and behold in the R console:

[INFO] The R package 'rj' is not available, R-StatET tools cannot be initialized.

Ignore the lying bastard! Turns out my rj is working just fine. No idea why this failure message persists.

Every time around the block with this problem some new amazing piece of gravel ends up in my sneaker.

I don't know whether I've covered everything, but I've written enough for now. Maybe if there are comments I'll come back and fill in the blanks.

Note: found an Eclipse plugin for console switching by keyboard here: Eclipse: Keyboard shortcut for switching between consoles?

Carillon answered 10/12, 2010 at 16:4 Comment(1)
What is the difference between rJava and rj?Placido
H
3

It looks like you need to install the RJ library which can be downloaded from the StatET site here: http://download.walware.de/rj/rj_0.5.0-5.tar.gz (more recent versions of RJ can be found at http://www.walware.de/it/downloads/rj.mframe)

If you save that file on your desktop, you can then load it into R with the command they provided R CMD INSTALL --no-test-load rj_*.tar.gz after navigating to your desktop or wherever you saved the library file. Alternatively, you MAY be able to use the GUI interface and select Install packages from local ZIP files under Packages in R, though I haven't used R on a Mac so the layout may be slightly different.

Houseroom answered 16/9, 2010 at 14:53 Comment(5)
Thanks. Your comments gave me a nudge in the right direction. I was being foolish, the command is simply run in Terminal R CMD INSTALL --no-test-load rj_.tar.gz * installing to library ‘/Library/Frameworks/R.framework/Resources/library’ * installing *source package ‘rj’ ... ** R ** inst ** preparing package for lazy loading ** help No man pages found in package ‘rj’ *** installing help indices ** building package indices ... * DONE (rj)Lazaretto
@Lazaretto - glad you got going in the right direction, I should have mentioned that the command needs to be run from the terminal window on a Mac or in Linux, or from a DOS prompt on a Windows machine. Good luck!Houseroom
OK - it all works and I 'SWEAVEd' my first document in Eclipse! One think that didn't quite go to plan was the reading of a csv file: > df<-read.csv(file.choose(),header=T) Error in file.choose() : file choice cancelled but if I moved the file into the workspace then: df<-read.csv("/Users/mfar_1/Documents/workspace/MF2/test.csv") Will choose not work within Eclipse?Lazaretto
@Lazaretto - I wasn't able to reproduce your error using file.choose() within Sweave, but that may be due to a whole host of reasons. In general, it is best practice on Stack Overflow to have separate questions for each problem you encouner or are trying to solve. If there are two or three items that are related - then listing them together may be fine. Your question re: file.choose() in Eclipse definitely warrants its' own question though.Houseroom
Thanks. I don't wish to breach etiquette! I'll ask a new question.Lazaretto
T
3

After installing rj with in the R console using

install.packages(c("rj", "rj.gd"), repos="http://download.walware.de/rj-1.1")

(See http://www.walware.de/?page=/it/statet/troubleshooting.mframe for the correct rj version),

do not forget to update the R_LIBS variable in Eclipse (Windows -> Preferences -> StatET -> Run/Debug -> R Environments -> Edit). To find out the value just type in the R console:

packageDescription("rj").

In my windows 8 installation this returns C:/Users/Fibonacci.PYTHAGORAS/Documents/R/win-library/3.0/rj/Meta/package.rds. The value of R_LIBS I set to

C:/Users/Fibonacci.PYTHAGORAS/Documents/R/win-library/3.0

which is the path where all libraries are installed.

As stated in http://www.walware.de/?page=/it/statet/troubleshooting.mframe newer versions (Versions > 0.5.5) do not need the R CMD INSTALL etc... command.

Tamishatamma answered 4/10, 2013 at 7:38 Comment(1)
With RJ 2.1 and Java 9.01 I get a ClassNotFoundException. Also see #48096698Placido
E
1

Here the quite similar I had and the solution I found.

I originally installed Statet using the Eclipse built-in tool "Install new software ...."

I seems it downloaded Statet + rj and that the installation process went well.

After this first installation, I tried to install both packages again. Eclipse refused reading that they already are installed. And, both packages/programs were actually listed in the window of Eclipse.

But, the R console still refused to launch, the dialog box reading that I had to check whether rj was available and that the file paths were correct. Another strange thing was that window explorer had been unable to locate rj on my disk.

???

To solve my whole problem, I simply downloaded rj from http://www.walware.de/ and installed this package via the r console and using the basic install.packages() command.

It now works perfectly .

But, I still don't understand everything ..... :-)

Eastsoutheast answered 14/8, 2012 at 20:50 Comment(0)
H
0

I'd make a comment but I lack the necessary reputation. For Windows, the procedure is the same. There's no zip file. Use the tar.gz. Worked for me. The command, working from the same folder as the downloaded file:

$ G:\R-2.12.0\bin\i386\R.exe CMD INSTALL --no-test-load rj_*.tar.gz

Hilariahilario answered 2/12, 2010 at 15:36 Comment(1)
yes, you are right in that you can use the tarball from the command line, but I don't think the R GUI under Windows recognizes tarballs when installing from a local directory?Houseroom
W
0

The project is now hosted on GitLab, see https://gitlab.com/walware/de.walware.rj-server.gr/-/wikis/Installation.

To install:

install.packages(c("rj", "rj.gd"), repos="https://download.walware.de/rj-4.0")

Note that binary packages are available for Windows.

As explained in this message from Stephan Wahlbrink on 2022-02-03 announcing StatET 4.5 release, this version works with R 3.6 to 4.1, and RJ-4.0.

For current information on StatET, check the home page and especially the news.

Withershins answered 23/2, 2022 at 10:11 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.