[BioC] Running R without X11?

Herve Pages hpages at fhcrc.org
Sat Sep 6 00:46:40 CEST 2008


Hi Amy,

Our build system here in Seattle faces the same problem: it needs
to run 'R CMD build' and 'R CMD check' non-interactively on all
the BioC packages. Running these commands will execute the code that
is in the vignettes and in the example section of the man pages of
every package. For some packages that means that they will try to
connect to an X server.

One solution to this is to start the X virtual server (Xvfb) and then
define the DISPLAY environment variable. From the Bourne shell (bash):

   PID=$$
   Xvfb :$PID -screen 0 800x600x16 &
   xvfb_pid=$!
   export DISPLAY=:$PID.0

Then your batch R scripts will be able to connect to this virtual
server. That means that the above commands must be executed early
enough so that your R scripts actually see the DISPLAY variable in
their environment.

When you are done, shutdown the X virtual server with:

   kill $xvfb_pid

Hope this helps,
H.


Amy Johnson wrote:
> Hi, I'm trying to run batch R scripts that is triggered online with PHP code: 
> 
> exec(R --no-save -q < myscript.r > output.txt 2>&1);
> 
> However, as there are some R libraries, e.g. qvalue, webbioc needs X11 
> (tcltk) loaded, I got the following errors:
> 
> Loading Tcl/Tk interface ... Error in dyn.load(file, DLLpath = DLLpath, ...) 
> : 
>   unable to load shared library 
> '/usr/local/lib/R/library/tcltk/libs/tcltk.so':
>   /usr/lib/libXft.so.2: undefined symbol: FT_GlyphSlot_Embolden
> Error : .onLoad failed in 'loadNamespace' for 'tcltk'
> Error: package/namespace load failed for 'tcltk'
> Execution halted
> 
> I have no problem to run the script on the shell when X11 is lauched. How do 
> I launch X11 before running R scripts in batch from the web? Is there a way 
> to avoid loading tcltk when loading R libraries like qvalue and webbioc? As 
> far as I remember, the old versions of qvalue and webbioc do not require 
> tcltk.
> 
> Thanks
> 
> Amy.
> 
> _______________________________________________
> Bioconductor mailing list
> Bioconductor at stat.math.ethz.ch
> https://stat.ethz.ch/mailman/listinfo/bioconductor
> Search the archives: http://news.gmane.org/gmane.science.biology.informatics.conductor



More information about the Bioconductor mailing list