[Rd] Development environment for R extentions on Windows

Duncan Murdoch murdoch.duncan at gmail.com
Thu Sep 9 01:39:47 CEST 2010


On 08/09/2010 5:37 PM, Jeffrey Horner wrote:
> On Wed, Sep 8, 2010 at 1:01 PM, Jeffrey Horner <jeffrey.horner at gmail.com> wrote:
>> On Wed, Sep 8, 2010 at 12:37 PM, Duncan Murdoch
>> <murdoch.duncan at gmail.com> wrote:
>>>  On 08/09/2010 1:21 PM, Jeffrey Horner wrote:
>>>> Hi all,
>>>>
>>>> I'm setting up a development environment on Windows as the subject
>>>> implies. I've downloaded and installed Rtools211.exe (will upgrade
>>>> later when necessary) and I've also downloaded and installed mingw
>>>> with the help of mingw-get.exe.
>>>>
>>>> I come from a UNIX development background, so I'm at the bash shell
>>>> prompt for just about every step in R extenstion development. Question
>>>> is what is an appropriate environment for Windows development. What
>>>> shell do you use? Do you use cmd.exe with the PATH variable set up by
>>>> Rtools? Do you use the sh.exe that comes with Rtools? I've found the
>>>> bash shell from MinGW to be a pretty close equivalent to bash on UNIX.
>>>> Do you use something else?
>>>>
>>> I've used the bash shell in Cygwin for quite a few years, but I've been
>>> planning a switch to MSYS sometime.  Cygwin seems to have made some bad
>>> decisions lately that make it harder and harder to work with.
>> This is great news! I don't know how I could survive without bash's vi
>> style editing and command completion...
>>
>> Here's my PATH variable which sets the Rtools paths first, then MinGW:
>>
>> hornerj at hornerj-win ~
>> $ echo $PATH
>> /c/Rtools/bin:/c/Rtools/perl/bin:/c/Rtools/MinGW/bin:/c/localbin:/mingw/bin:/bin:/usr/bin:/usr/lo
>> cal/bin:/c/Program Files (x86)/R/R-2.11.1/bin:/c/Program Files
>> (x86)/CollabNet/Subversion Client:
>> /c/Windows/system32:/c/Windows:/c/Windows/System32/Wbem:/c/Windows/System32/WindowsPowerShell/v1.
>> 0/:/c/Program Files (x86)/MiKTeX 2.8/miktex/bin
>>
>> I'm going to follow the "R Installation ..." manual to compile R on
>> Windows and learn a bit about the build process. From there, I intend
>> to "port" some open source libraries that have support for being
>> compiled with MS VC++ over to MinGW.
> 
> From the MinGW bash shell, the R build went quite smoothly. However, I
> did run into trouble with temporary files. I got around it by
> specifying TMPDIR like so:
> 
> $ cd R_HOME/src/gnuwin32
> $ TMPDIR=. /c/Rtools/bin/make all

I don't know if anything would go wrong, but I'd avoid putting your temp 
dir into the source tree.  On my home machine I normally set R_USER to a 
Windows-style path (with backslashes), and that seems to work.  On my 
work machine I think I set TMPDIR explicitly, but I forget what value I 
used.

> 
> If I didn't set TMPDIR, it would default to /tmp and the failure would
> occur within the mkR target of R_HOME/share/make/basepkg.mk. For
> reasons beyond me, the shell environment that's entered within the mkR
> target has no notion of a root directory. Anyone else seen this?

I'm not sure you're using the write make procedure.  Are you running 
make from within src/gnuwin32, so you get the Makefile there?  It 
shouldn't try to use /tmp (but things might have changed recently).

Duncan Murdoch

> 
> Jeff
> 
>> Aside from my PATH variable, are there other things about my
>> development environment I should be aware of?
>>
>> Jeff
>>
> 
> 
>



More information about the R-devel mailing list