[R] Installing R Project on a PS3 - Success

John Murray john at easternpathway.com
Fri Sep 12 14:59:20 CEST 2008


I've been trying to install R on a PS3 for several weeks now without success
and have read various posts here, and elsewhere, on this and installing R on
other PPC64 architecture machines which have given me some pointers.

Yesterday, after much frustration, I finally succeeded and it runs well.  As
several people have posted questions about this here, and elsewhere on this,
I thought I'd share what I did in the hope that others will find it useful.

The system is a PS3 with 40GB HDD (10GB to Linux 512MB swap) Yellow Dog
Linux 6.0 installed "out of box".

The problems with the installation were nearly all caused by 32/64 bit
clashes, missing RPMs or missing or corrupt files on some installed
packages.  Some binary RPMs continued to cause problems, even when
downloaded again MD5 checked and reinstalled with the --force option, so I
went back to source with these and built RPMS using the rpmbuild command
after installation.

This is what I did:

Unpack the current version of R into R_Home (recommended /usr/lib/R-version)

It is useful to create a symlink from /usr/lib/R to the current version
which will allow you to install and test new versions alongside while
keeping the main version for general users for example setting menu items,
desktop shortcuts or path variables.


Pre-requisites:

Download and reinstall all the RPMs starting gcc from the mirror (in
releases/yellowdog-6.0/os/YellowDog/) - although the system reported they
were installed, there appeared to be missing libraries or files in several

Install the RPMs using the -force option 

e.g. rpm -i --force gcc-*

Download the source RPM for the current version of readline from your mirror
(in releases/yellowdog-6.0/SRPMS/) - the readline-devel is required but
appears to be incomplete and there were errors in the config.log file
relating to it.

You will also need to get the latest ncurses and sharutils as these are
dependencies.  

Install this source RPMs then build the RPMs on the resulted .spec file (in
/usr/src/yellowdog/SPECS) using the rpmbuild command with options -bb (to
build a binary) and '--target ppc64' to create 64 bit versions 

e.g. rpmbuild -bb --target ppc64 sharutils.spec 

The install the new RPMs the build generates with the --force option 

Do the build and installation in the order sharutils, ncurses, readline
installing each RPM before building and installing the next one.


Modify the configuration:

Set the following config.site file options:

CC="gcc -m64"
F77="gfortran -m64"
CXX="gxx -m64"
FC="gfortran -m64"
CFLAGS="-mminimal-toc"
FFLAGS="-mminimal-toc"
LDFLAGS="-L/usr/lib/gcc/ppc64-yellowdog-linux/4.1.1/64/"

Save the changes and you are ready to go.


Installation:

Change to the R_Home directory (if you are not already there) and run 

./configure (takes about 30 mins to run)

if successful run:

make (takes about 1 hour to run)

if successful run:

make check

and test the installation by running

./bin/R

If you want to aee the X11 capabilities type

demo(plotmath)

in the R console.


Tips:

Read the R Admin guide and help on the website thoroughly and follow the
instructions there apart from the modifications suggested above.

As the PS3 is light on RAM for running X11 on its own monitor, consider
running it on a network connected MS Windows PC using X-Server software such
as Xming connecting through an SSH client such as PuTTY (make sure SSH is
enabled in the PS3 firewall)


Comments and next stages:

Overall it works well (so far) and is fast on FPU work even in standard
mode.

Coincidentally, reinstalling the above packages (plus the SPU ones) cured my
problems with the Cell Broadband SDK, so my next step is to try to patch R
to work with the SPE, although I'm not holding my breath!

I also suggest that you don't be tempted to build the gcc RPMs from source
as there is insufficient memory on the PS3.  The latest binaries from the
mirror work fine.



John Murray
Chester, UK



More information about the R-help mailing list