Duncan, On Sep 23, 2013, at 10:20 PM, Duncan Murdoch <murdoch.dun...@gmail.com> wrote:
> On 13-09-23 2:17 PM, Jeroen Ooms wrote: >> Is there any way to capture output (both stdout and stderr) from >> install.packages? Solutions like sink and capture.output don't work >> because the install.packages calls out to system2 which is executed in >> a separate process: >> >> test <- capture.output(install.packages("MASS")) >> >> The system2 function does have arguments stdout and stderr but afaik >> these cannot be controlled via install.packages. I'm a bit reluctant >> to start rolling my own version of install.packages just for this >> reason. >> >> Is there any way to somehow grab this output? Or alternatively, is >> there a way to make R pipe stdout and stderr from system2 in such a >> way that they can be captured with sink or capture.output in the R >> parent process? > > See the recent thread > <https://mailman.stat.ethz.ch/pipermail/r-devel/2013-September/067552.html> > for an approach to this. > Can you, please, elaborate on how it is that relevant? The linked thread is talking about sink() which it irrelevant here (to quote the original e-mail "Solutions like sink and capture.output don't work because the install.packages calls out to system2 which is executed in a separate process:"). Something I missed? Re original question: there is keep_outputs which allows to re-direct a copy of the output into a file - at least for the actual install part of it. On top of my head for full capture I can only think of custom C code that will re-direct stderr/out FDs as desired (it's really trivial to re-direct to files, for dynamic capture it's a little more involved but there are examples that do that). Cheers, Simon ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel