From hin-tak.leung at cimr.cam.ac.uk  Mon Oct  1 20:30:26 2007
From: hin-tak.leung at cimr.cam.ac.uk (Hin-Tak Leung)
Date: Mon, 01 Oct 2007 19:30:26 +0100
Subject: [Rd] R "capabilities" on a cluster node
In-Reply-To: <fdh1od$sor$1@sea.gmane.org>
References: <fdh1od$sor$1@sea.gmane.org>
Message-ID: <47013CC2.4090904@cimr.cam.ac.uk>

The double '//' is harmless. What you are failing at is that your 
R-build-host has the system X11 runtime libraries (libSM.so.6 and
friends) while your execution hosts don't have them, and R_X11.so 
depends on the system X11 libraries which R cannot find on the execution 
hosts.

So - ask your grid engine administrator to install the X11 runtime
libraries on the grid nodes, or ask him/her to build a special version 
of R which doesn't depend on X11. (the former is the recommended 
approach, but your admins may think the latter suit their policies).

Yes, pdf/ps are always available. (they are just save-to-file devices 
using R's own pdf/ps writing code).

The png/jpeg situation are similar to but separate from X11. On the R
build host, you need both the development headers (libpng-devel,
libjpeg-devel, libX11-devel & other libX*-devel packages for redhat
systems) as well as the runtime libraries (libpng, libjpeg, libX*) to 
build R with each of the support for these 3. On the execution hosts,
you need just the runtime libraries.

The reason why you are missing jpeg/png is probably because your build 
host doesn't have the headers. (it is relatively rare not to have
jpeg/png runtime, but the headers are normally not installed).

We (used to?) have a similiar situation on our sun grid - my desktop R 
can do png but our cluster grid R cannot. (ghostscript and a few other 
software can convert ps/pdf to png so it is not a big loss, just a minor
inconvenience).

Earl F. Glynn wrote:
> R version 2.5.1 (2007-06-27)
> 
> I' running some simple R jobs via the  Sun Grid Engine on our Linux cluster 
> in preparation for some bigger ones.
> 
> I checked R's capabilities on the cluster nodes (after failing to create a 
> png file) and am getting the following warning message:
> [Run on a cluster node using qrsh:]
> 
> 
> 
>> capabilities()
> 
>     jpeg      png    tcltk      X11 http/ftp  sockets   libxml     fifo
> 
>    FALSE    FALSE    FALSE    FALSE     TRUE     TRUE     TRUE     TRUE
> 
>   cledit    iconv      NLS  profmem
> 
>     TRUE     TRUE     TRUE    FALSE
> 
> Warning message:
> 
> unable to load shared library 
> '/n/site/inst/Linux-i686/bioinfo/R/2.5.1/lib/R/modules//R_X11.so':
> 
>   libSM.so.6: cannot open shared object file: No such file or directory in: 
> capabilities()
> 
> 
> 
> 
> 
> Is the double slash (//) in the path above a bug in how we've configured R 
> here (the /n/site/inst/ directory is shared but is platform specific), or a 
> bug in how the capabilities command works?  The file does exist if the 
> double slash in the path had not caused the warning above.
> 
> 
> 
> 
> 
> 
> How can one programmatically get the info from ?Devices, which appears to be 
> dynamic based on one's system?  Is it safe to assume that pdf's or 
> postscript files are always available in R since they're not listed in 
> capabilities and seem to be shown everywhere under ?Devices ?
> 
> 
> 
> 
> 
> Part of the ?Devices output on a cluster node says this:
> 
> 
> 
>    The following devices will be available if R was compiled to use
> 
>      them:
> 
> 
> 
>         *  'X11' The graphics driver for the X11 Window system
> 
> 
> 
>         *  'png' PNG bitmap device
> 
> 
> 
>         *  'jpeg' JPEG bitmap device
> 
> 
> 
> We can just recompile to get png or jpeg support?  Are X11 libraries used on 
> cluster nodes while running "headless"?  Can I create pngs or jpegs without 
> X11?
> 
> 
> 
> Thanks for any advice about this.
> 
> 
> 
> efg
> 
> 
> 
> Earl F. Glynn
> 
> Scientific Programmer
> Stowers Institute for Medical Research
> 
> ______________________________________________
> R-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel



[Rd] R "capabilities" on a cluster node
Hin-Tak Leung