[R] launching RSJava from external application

From: Sean <sean.xiao.wang_at_gmail.com>
Date: Sat 11 Jun 2005 - 08:15:00 EST


Hi,all,

I have a problem about launching SJava in R from external application (Cytoscape).

My R version is 2.1.0 and Sjava version is 0.68. R is installed by issuing

  1. configure --enable-R-shlib
  2. make
  3. make check
  4. make install

SJava is installed by issuing "R CMD INSTALL -c SJava_version_.tar.gz".

The LD_LIBRARY_PATH is set in .bash_profile by "LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/local/lib/R/library/SJava/libs:/usr/java/j2sdk1.4.2_08/jre/lib/i386/client:/usr/java/j2sdk1.4.2_08/jre/lib/i386:/usr/java/j2sdk1.4.2_08/jre/../lib/i386: export LD_LIBRARY_PATH"

After installation, type the following command

Get the correct output (omitted here) .

Now the question is:

I am using R to interact with Cytoscape ( a visualization tool), which has a plugin called "Cytotalk" that can let R and Cytoscape talk to each other. I successfully ran a R script which need SJava and got the right output in Cytoscape.

But when I tried to run the R script from the cytoscape menu ( the plugin enabled a menu in which you can choose a R file to execute it and display the output in Cytoscape ), the terminal give me the following error:

Accepting clients from localhost
> port <- 8082
> library(SJava)

Error in dyn.load(x, as.logical(local), as.logical(now)) :

        unable to load shared library
'/usr/local/lib/R/library/SJava/libs/SJava.so':   libRSNativeJava.so: cannot open shared object file: No such file or directory Error in library(SJava) : .First.lib failed for 'SJava' Execution halted
RESULT: 1 I googled around and found it was a common error when people trying to install SJava. But I installed SJava correctly and it seems work fine, I can not figure out why it comes up with this error.

To give you some background information, I guess Cytoscape and R talk with each other via various java stuff. The fact that I can interact with Cytoscape from within R showing that the .jar directory should be fine.

The first few lines of the R code is like :

library(SJava)
#Warning message:
#The Java machine is no longer initialized automatically. You must explicitly load it in: f(libname, pkgname)                                                                                 

a=javaConfig(classPath="/usr/local/bio/cytoscape/plugins/cytoTalk.jar") .JavaInit(config=a)
#.Java("System","getProperty","java.class.path") #[1] ":/usr/local/bio/cytoscape/plugins/cytoTalk.jar:/usr/local/lib/R/library/SJava/org/omegahat/Jars/Environment.jar:/usr/local/lib/R/library/SJava/org/..:/usr/local/lib/R/library/SJava/org/omegahat/Jars/antlr.jar:/usr/local/lib/R/library/SJava/org/omegahat/Jars/jas.jar:/usr/local/lib/R/library/SJava/org/omegahat/Jars/jhall.jar"                                                                                 

source("CytoTalkClient-v2.R")
cy <- .JNew("CytoTalkClient","http://localhost:8082")

And by the way, my OS is Redhat Linux. I really appreciate it if someone has an clue of the problem. Thanks.

Xiao



R-help@stat.math.ethz.ch mailing list
https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html Received on Sat Jun 11 08:18:56 2005

This archive was generated by hypermail 2.1.8 : Fri 03 Mar 2006 - 03:32:31 EST