I'm quitting on this one. For the record, I took a look at a fairly old
version of the Tcl code (from 8.4.13) that I had around from an old
attempt to get it to work properly with MDI windows. There are a number
of differences between their exec code and our system() code, but I
couldn't find the right combination to get system() to be able to run
find. It always crashes with a seg fault in ulib.dll when run with
input coming from the pipe we send it.
If you use input redirection on the command line, it's fine, for example
system("cmd /c c:/WINDOWS/system32/find /? <nul")
or
shell("c:/WINDOWS/system32/find \"Hello\" c:/temp/foo.txt <nul")
So perhaps we're not setting up the pipe correctly, but it works with
most other programs, so I'm going to assume find is using it
incorrectly, unless someone points out what we're doing wrong.
Duncan Murdoch
On 10/01/2010 8:18 AM, Gabor Grothendieck wrote:
I noticed this does work, i.e. it displays the requested help info, in
Rgui on my Vista system:
library(tcltk)
.Tcl("exec find /?")
On Sat, Jan 9, 2010 at 7:27 PM, Duncan Murdoch <murd...@stats.uwo.ca> wrote:
On 09/01/2010 6:31 PM, Gabor Grothendieck wrote:
That doesn't explain why this returns character(o) even though we have
launched a console for it:
system("cmd /c C:\\windows\\system32\\find /?", intern = TRUE)
I don't see any console launched. R redirects stdin and stdout (and stderr,
I think), and it appears that Windows doesn't open a console. I do see a
console flash by if I do
system('cmd /c c:/WINDOWS/system32/find.exe /?', wait=FALSE,
invisible=FALSE)
but of course then we don't capture the output, so it's not very useful.
Looking at the source, the only case where we ask to create a console is
the combination "wait=FALSE, invisible=FALSE", but there might be
combinations of other options that make this a default. The MS
documentation says that a console will be created automatically for any
console application, but that doesn't appear to be happening.
So I guess you could get find.exe to work by calling it from a batch file
with a "pause" at the end and using the wait=FALSE,invisible=FALSE options.
The above observations are in Win XP SP3, not anything newer.
Duncan Murdoch
On Sat, Jan 9, 2010 at 5:24 PM, Duncan Murdoch <murd...@stats.uwo.ca>
wrote:
On 07/01/2010 1:25 PM, Uwe Ligges wrote:
Argh. I see it as well. Will dig a lit tomorrow.
I don't know exactly what's going on, but it looks as though it is
something
specific to the find.exe utility, e.g. maybe it is assuming that it's
being
run inside a console and reading CONIN$ or writing to CONOUT$ without
checking whether they can be opened. When you run it from Rterm, Rterm
is
in a console, which appears to be good enough.
So it may be anyone who wants to use it will have to contact Microsoft to
find out how...
Duncan Murdoch
Uwe
On 07.01.2010 12:25, Gabor Grothendieck wrote:
I get a problem with shell too:
Under Rgui:
R.version.string
[1] "R version 2.10.1 Patched (2010-01-01 r50884)"
system("C:\\windows\\system32\\find /?", intern = TRUE)
character(0)
system("cmd /c C:\\windows\\system32\\find /?", intern = TRUE)
character(0)
shell("C:\\windows\\system32\\find /?")
Warning message:
In shell("C:\\windows\\system32\\find /?") :
'C:\windows\system32\find /?' execution failed with error code 1
They all work, i.e. they give the required help message, under Rterm
and when I issue this from the Windows console it works:
C:\windows\system32\find /?
2010/1/7 Uwe Ligges<lig...@statistik.tu-dortmund.de>:
On 07.01.2010 02:04, Gabor Grothendieck wrote:
If you have C:\Rtools\bin on your PATH note that it contains a
UNIX-like find utility that conflicts with the find utility in
Windows. If that is the problem then remove that from your PATH and
then run the batch file.
The batchfiles distribution at http://batchfiles.googlecode.com has
utilities (Rgui.bat, R.bat, Rtools.bat, etc.) that will automatically
add C:\Rtools\bin to your path temporarily or only while R is running
so that you can leave it off your PATH.
I guess it's the use of system() rather than shell() that causes the
problem. Under Windows, you have to use shell in order to start a
command
interpreter.
Uwe Ligges
On Wed, Jan 6, 2010 at 6:51 PM, John Schexnayder<jsc...@us.ibm.com>
wrote:
This is sort of a strange bug. Not show stopping, but annoying. I
was
wondering if anyone else has noticed this and reported it before I
submit
a bug report.
I noticed while running the RGui and attempting to debug one of my
scripts
that I encountered a Windows error informing me that "Find String
[grep]
Utility has encountered a problem and needs to close." It is being
generated by a call to a DOS batch file which contains a call to
Find.exe.
It can be reproduced by simply typing "System("find")" in RGui.
What I
found strange is that I have been running this script daily without
this
problem for months. I now realize I never ran that portion of the
script
while in RGui.exe. It has always run in batch mode which is done by
Rterm.exe.
I have tried this on three separate machines now all running Windows
XP
SP3, with versions of R 2.8.1 and R 2.10.1 If executing
"System("find")
under RGui, an error window for the Find String Utility is generated
and
the command is not exectuted. If the same command is issued in
Rterm
the
expected "FIND: Parameter format not correct" message is properly
returned.
It doesn't seem an important bug, but it could be the canary in the
mine
for a larger problem somewhere down the road.
Re,
John Schexnayder
IBM Tape Manufacturing - Information Technology
San Jose, CA 95138
jsc...@us.ibm.com
[[alternative HTML version deleted]]
______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide
http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.
______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide
http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.
______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide
http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.
______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.