HowToInstallRSPerl: Difference between revisions

From BRF-Software
Jump to navigation Jump to search
imported>MichaelDondrup
No edit summary
imported>MichaelDondrup
No edit summary
Line 33: Line 33:
-- [[MichaelDondrup]] [[DateTime(2006-05-22T13:37:36Z)]]
-- [[MichaelDondrup]] [[DateTime(2006-05-22T13:37:36Z)]]


/!\ The current version  (0.8-2) has a bug that prevents EMMA to function with it.
Download the latest RSPerl package from http://www.omegahat.org/RSPerl/index.html.


Please use the following patched version (0.8.0.2) until the problem is finally solved:
Version 0.9-1 has been locally tested with
 
[[Media:HowToInstallRSPerl$RSPerl_0.8.0.2.tar.gz| RSPerl_0.8.0.2.tar.gz]]
 
''MD5 key: 508035fa31dc570bba6ea9517e003913''
 
The patched version has been tested with


* FreeBSD 5.4
* FreeBSD 5.4
* Solaris 9 and 10 (sparc and i386)
* Solaris 9 and 10 (sparc and i386)
* Ubuntu Linux 5.10 (thanx to Johan Nylander)
* R 2.2.1, R 2.3.0 (test on sparc solaris only)
* R 2.2.1, R 2.3.0 (test on sparc solaris only)
* Perl 5.8.x
* Perl 5.8.x


-- [[MichaelDondrup]] [[DateTime(2006-05-26T16:11:33Z)]]
(Versions of RSPerl prior to 0.9-1 had a bug that prevents EMMA to function with it)
Build attemps with R 2.3.0 were reported to fail, but I have tested a local install on solaris. No problems with building the 0.8-2 and 0.8.0.2,
but the bug is still present in 0.8-2.
 
(Otherwise, you could:
download the latest RSPerl package from http://www.omegahat.org/RSPerl/index.html.)


== Installation ==
== Installation ==
Line 108: Line 96:
somebody# perl test1.pl; perl test2.pl; perl test3.pl; perl plot.pl
somebody# perl test1.pl; perl test2.pl; perl test3.pl; perl plot.pl


</nowiki></pre>
Here is another test script, that will reproduce the bug in the unpatched version:
[[Media:HowToInstallRSPerl$test4.pl]]
With 0.8.0.2 the output should look like this:
<pre><nowiki>
marvin:~/R> perl test.pl
1..1
ok 1
RSPERL 0.8.0 - May 26 2006, 17:32:28 initialized
Loaded RSPerl library
Evaluating command
print(version);
foo1 <<- function() return (data.frame(list(matrix(1))));
foo2 <<- function(x) { return(0) }
       
parseEval("\nprint(version);\n\nfoo1 <<- function() return (data.frame(list(matrix(1))));\n\nfoo2 <<- function(x) { return(0) } \n\n\t ")
              _                       
platform      sparc-sun-solaris2.9     
arch          sparc                   
os            solaris2.9               
system        sparc, solaris2.9       
status                                 
major          2                       
minor          3.0                     
year          2006                     
month          04                       
day            24                       
svn rev        37909                   
language      R                       
version.string Version 2.3.0 (2006-04-24)
Got the answer
function(x) { return(0) }
<environment: 61a8bc>
Calling R function name `foo1', # arguments: 1
Calling R
foo1()
Performed the call, result has length 1
Testing call: This works :)
Calling R function name `foo2', # arguments: 2
1) Arg type 3
Calling R
foo2(list(structure.1...Dim...c.1..1.. = 1))
Performed the call, result has length 1
Primitive, R type: 14, of length 1
[1] 0
Testing call with named arguments: This fails :(
Calling R function name `foo1', # arguments: 1
Calling R
foo1()
Performed the call, result has length 1
# of arguments: -1
# of named arguments 1
0) x  Arg type 6
foo2(x = list(structure.1...Dim...c.1..1.. = 1))
0 this does not work
</nowiki></pre>
</nowiki></pre>



Revision as of 08:59, 13 July 2006

Short Installation Instructions for RSPerl

NOTE

RSPerl -- The Omegahat interface for R and Perl.

Follow these instructions to install the RSPerl bidirections interface for use with the EMMA 2 software.

The RSPerl software is written and copyrighted by Duncan Temple Lang and distributed under the FreeBSD license. See the RSPerl homepage: http://www.omegahat.org/RSPerl/index.html

Please report any problems related to RSPerl to the omega help mailing list: omega-help@eeyore.ucdavis.edu

If you also want to use RSPerl for another purpose (e.g. Perl from R), you should also consider the original installation instructions.


! This page is meant for internal use at the CeBiTec. Any information in this document is provided without any warranty. !


Prerequisites

  • Perl >= 5.8.x
  • R >= 2.2.1

both installed and working.

R needs to be configured with --enable-R-shlib switch (which is the case by default).

Obtaining the Sources

-- MichaelDondrup DateTime(2006-05-22T13:37:36Z)

Download the latest RSPerl package from http://www.omegahat.org/RSPerl/index.html.

Version 0.9-1 has been locally tested with

  • FreeBSD 5.4
  • Solaris 9 and 10 (sparc and i386)
  • R 2.2.1, R 2.3.0 (test on sparc solaris only)
  • Perl 5.8.x

(Versions of RSPerl prior to 0.9-1 had a bug that prevents EMMA to function with it)

Installation

You need to be a privileged user to install RSPerl in the standard location of R libraries and Perl modules. At the console, type:


radmin#  R CMD INSTALL --configure-args='--with-in-perl --with-modules=""' RSPerl_X.tar.gz 

(replace X with the actual version) or

somebody# R CMD INSTALL -l <whereever> --configure-args='--with-in-perl --with-modules=""' RSPerl_X.tar.gz 

to install to another directory. This is recommended, for a first test of the package, and if you do not want to or cannot become privileged user.

Setting up the Environment

For RSPerl to execute R commands from within Perl you have to set LD_LIBRARY_PATH, PERL5LIB, and R_HOME.


export R_HOME=/usr/local/lib/R 
# or wherever you installed it
RSPERLDIR=$R_HOME/library/RSPerl 
# or wherever you put RSPerl 

export LD_LIBRARY_PATH=$RSPERLDIR/libs:$R_HOME/lib

export PERL5LIB=$RSPERLDIR/share/lib/site_perl
# check, that this directory contains R.pm and RReferences.pm


To avoid having to set PERL5LIB you could also copy the content of $RSPERLDIR/share/lib/site_perl/ to the site_perl directory of your local perl installation.

Testing R from Perl

After setting up the environment, try to execute the perl scripts in the tests/ subdirectory of the RSPerl installation.

somebody# perl test.pl
RSPERL 0.8.0 - May 23 2006, 12:27:13 initialized
[...no error message...] 
somebody# perl test1.pl; perl test2.pl; perl test3.pl; perl plot.pl


Issues

  • All resolved :)) Thanx Duncan

System specific issues

Solaris

There is a patch kindly provided by Björn Fischer from the CeBiTec support group, that will erase the need to set the LD_LIBRARY_PATH. The patch will appear here soon.

FreeBSD

RSPerl uses GNU make features. To be able to install RSPerl on systems, where make is not GNU make by default, do the following prior to running R CMD INSTALL (provided you are using bash):


radmin#  export MAKE=gmake