I'm trying to set up R and Tomcat on RHEL6 (6.4) I have installed R and can run it. I have installed Tomcat 7 and can host files file. I have packaged an application as a WAR file and deployed it using tomcat. The application runs fine in all aspects until it uses any R component.
This is where it crashes out with the following error as seen in catalina.out: <code> Cannot find JRI native library! Please make sure that the JRI native library is in a directory listed in java.library.path. java.lang.UnsatisfiedLinkError: /usr/local/lib64/R-2.15.3/library/rJava/jri/libj ri.so: libR.so: cannot open shared object file: Too many levels of symbolic links at java.lang.ClassLoader$NativeLibrary.load(Native Method) at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1750) at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1675) at java.lang.Runtime.loadLibrary0(Runtime.java:840) at java.lang.System.loadLibrary(System.java:1047) at org.rosuda.JRI.Rengine.<clinit>(Rengine.java:19) </code> I do have rJava installed under R: install.packages("rJava") It installed fine and I have rJava inside the R's library folder. I have defined the following in /etc/profile: <code> export JAVA_HOME=/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/jre export R_HOME=/usr/local/lib64/R-2.15.3 PATH=$PATH:$HOME/bin:$JAVA_HOME/bin:$R_HOME/bin export PATH export LD_LIBRARY_PATH=$R_HOME/lib/libR.so,$JAVA_HOME/lib/amd64/server/libjvm.so </code> To my understanding, that should set JAVA_HOME, R_HOME, PATH, and LD_LIBRARY_PATH globally for all users on the server. I know Tomcat runs under root and I can confirm that root was able to see all the above paths as set above via "echo $JAVA_HOME", "echo $R_HOME", "echo $LD_LIBRARY_PATH", "echo $PATH" So I'm not sure why it's complaining that it can't open those .so files. Also, when it crashes out, it shuts down Tomcat. Thanks! Patrick