HowToInstallRSPerl

From BRF-Software
Revision as of 13:42, 9 April 2009 by imported>MichaelDondrup
Jump to navigation Jump to search

Short Installation Instructions for RSPerl

NOTE

RSPerl -- The Omegahat interface for R and Perl.

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

The original 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

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.7.2

both installed and working.

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

Obtaining the Sources

Changed: -- MichaelDondrup DateTime(2009-04-09T12:06:56Z)

/!\ Do not download the version from omegahat. The official version has not been updated since 2007. In the meantime we provide our own derived version which has an important new feature: It allows to create complex data structures as RReferences in Perl. Furthermore it contains several Bugfixes in addition. This package is released under the same license as the original (the BSD-license). EMMA is not compatible with the original version 0.9-1 any more! Report any problems with the derived package to the emma-devel mailing list.

See the Changes file: Media:HowToInstallRSPerl$Changes.html.

And the patch to view the code differences: Media:HowToInstallRSPerl$rsperl0.91to0.92.patch

Use this version for general installation: Media:HowToInstallRSPerl$RSPerl_0.92.tar.gz

This version includes a patch that hardcodes ld_runpath, therefore reducing the need to set the LD_LIBRARY_PATH. ! Use this module with the CeBiTec infrastructure: Media:HowToInstallRSPerl$RSPerl_0.92_ldlibpathhack.tar.gz !

You can also he original package can be downloaded from: http://www.omegahat.org/RSPerl/index.html

Version 0.92 has been locally tested with

  • FreeBSD 5.4
  • Solaris 9 and 10 (sparc and i386)
  • R 2.7.2 (on sparc and i386 solaris using Sun Pro 12 compilers only)
  • Perl 5.8.8

(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 -c --configure-args='--with-in-perl --with-modules=""' RSPerl_X.tar.gz 

(replace X with the actual version) or

somebody# R CMD INSTALL -l <whereever> -c --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
[...no error message...] 
somebody# perl test1.pl; perl test2.pl; perl test3.pl; perl plot.pl


Issues

  • All resolved :)) Thanx Duncan

System specific issues

Debian based Linux

The perl distribution in Debian-based Linux distributions (Debian, Ubuntu, ...) has been split in two. To build Rsperl you need the shared object libperl.so. Make sure you have the package libperl installed:

apt-get install libperl

Solaris

There is a patch kindly provided by Björn Fischer from the CeBiTec support group, that will remove the need to set the LD_LIBRARY_PATH. The patched package: attachement:RSPerl_0.92_ldlibpathhack.tar.gz

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