[R] seek(), Windows and Cygwin (was "a UNIX vs. Windows package question, please")
mbmiller at umn.edu
Tue Jan 13 19:51:18 CET 2015
On Fri, 9 Jan 2015, Duncan Murdoch wrote:
> On 09/01/2015 5:32 PM, Erin Hodgess wrote:
>> Hello again.
>> Here is another question that I am puzzled about: I had the
>> (incorrect) impression that if I had Rtools on a Windows machine that I
>> could use any tar.gz package. However, that is not true.
>> In particular, I was looking at the rPython package. I do indeed have
>> Python on this machine. But when I did R CMD INSTALL rPython, I got an
>> error message that said, "this is a Unix package". Interesting.
>> Should I just stay with my Ubuntu laptop and behave?
> No, but you should not use packages that misbehave. The ideal R package
> will run on all platforms where R runs. Some require effort from the
> user to provide prerequisites, but no good R package runs only on one
That reminds me to ask if anyone here can provide more details about the
limitations of seek(). I'm working on some functions that use seek() and
I may have to tell Windows users not to use these functions.
>From the manual page for seek():
"Use of seek on Windows is discouraged. We have found so many errors in
the Windows implementation of file positioning that users are advised to
use it only at their own risk, and asked not to waste the R developers'
time with bug reports on Windows' deficiencies."
My question is about whether this limitation is caused by the Windows
filesystem, typically NTFS, or if the problem is in the Windows OS. If
the problem were in the filesystem, maybe the docs would have said so
because NTFS can be used on other platforms.
Secondly, can this problem be addressed at all by using Cygwin? I know
that Cygwin is running in Windows, so it's still Windows, but R might be
compiled differently, so I just thought I'd ask! ;-)
And it doesn't matter which Windows version is used?
Finally, if the problem is entirely in Windows, and R cannot possibly
overcome it, I suppose that means that it is impossible to write a program
to run under Windows that can seek (is it fseek in C?) reliably to a
position in a file. If that is the case, it's going to be hard to develop
good systems for managing bioinformatic data on Windows.
Thanks in advance.
Michael B. Miller, Ph.D.
University of Minnesota
More information about the R-help