On 21/11/2013 06:39, jean-michel.perr...@csiro.au wrote:
I'd like someone familiar with the R options initialization to comment on a difference of behavior within/without mpiexec
I have a (.NET) application with embedded R that is proven to run in a single process: ./Sample1.exe on a Debian Linux with R 3.0.2 Running the same code with mpiexec, it fails at the R engine initialization: mpiexec -n 1 ./Sample1.exe Fatal error: you must specify '--save', '--no-save' or '--vanilla' ------------------------------------------------------------------------- The behavior is actually reproducible with the straight R mpiexec -n 1 R Fatal error: you must specify '--save', '--no-save' or '--vanilla' ------------------------------------------------------------------------- The following is working: mpiexec -n 1 R --no-save However in my Sample1 application, I do set up R init options that should be suitable AFAIK: rEngine = REngine.CreateInstance("RDotNet"); StartupParameter rStartParams = new StartupParameter { Quiet = true, SaveAction = StartupSaveAction.NoSave, Slave = false, Interactive = true, Verbose = false, LoadInitFile = true, LoadSiteFile = true, RestoreAction = StartupRestoreAction.NoRestore, NoRenviron = false }; rEngine.Initialize(rStartParams); // calls the R API R_SetParams, then setup_Rmainloop I gather that the following is hit in src/R-3.0.2/src/unix/system.c, in the function Rf_initialize_R: if (!R_Interactive && Rp->SaveAction != SA_SAVE && Rp->SaveAction != SA_NOSAVE) R_Suicide(_("you must specify '--save', '--no-save' or '--vanilla'")); I don't understand why it would complain if spawned by mpiexec and fine otherwise.
Most likely because the way you are running R is considered to be batch use, and R_Interactive is false. You've mixed up two scenarios here: one an embedded use where we don't have all the code, and mpiexec. In the mpiexec case, it is likely that stdin is not a ptty.
I do not have a suitable debugging environment to step through a R with debug symbols, and no stack trace is given as console output. As an aside, the same code (barring platform specifics) works on Windows.
Deciding if Rterm is interactive is clearly done differently on an OS without pttys.
-- Brian D. Ripley, rip...@stats.ox.ac.uk Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/ University of Oxford, Tel: +44 1865 272861 (self) 1 South Parks Road, +44 1865 272866 (PA) Oxford OX1 3TG, UK Fax: +44 1865 272595 ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel