[Rd] compiling R under cygwin

M. Edward (Ed) Borasky znmeb at cesmail.net
Tue Aug 21 16:57:18 CEST 2007

Prof Brian Ripley wrote:
> Yes,
>> What is the advantage of building this?
> was my question too.  If you want a Unix-like version of R on PC hardware 
> running Windows why not run a Unix-like OS under a virtual machine?
> Quite a lot of the details are wrong: using FLIBS, BLAS_LIBS and LIBS as 
> intended will solve most of the problems.  I would use --disable-nls 
> --disable-mbcs as you don't need them (and in particular you don't benefit 
> from MBCS support on Windows unless you are in a CJK locale).
> Note that 2.5.1 is released and there is unlikely to be a 2.5.2, so any 
> changes would be made only to R-devel.  It there is a convincing case to 
> tailor a build for Cygwin there we can probably do so rather easily, but 
> the need for ongoing support would be a worry.
> (If platforms are not used and in particular not tested in the alpha/beta 
> testing phases then the ability to build on them crumbles away.  We seems 
> to be down to regular testers on Linux, Windows, MacOS X, Solaris and 
> FreeBSD, with some help on AIX after a patch with none.)

I too have a workplace where Windows is the "official" IT-supported OS,
and in some cases open-source tools do not have a native Windows port,
thus needing Cygwin, or as you suggest, an embedded VMware Linux
workstation. I run Cygwin and a Gentoo Linux VMware guest on my Windows
machine. Having said that:

1. I consider the Windows version of R to have a *superior* user
interface to the Linux version. The only place where it falls down in my
opinion is the semi-difficult nature of building contributed packages
that require C or C++ or Fortran compilation.

2. I know of few other open source communities that prefer a Cygwin
version to a native Windows version if the native version exists. Most
of them go further -- for example, the Ruby Windows people flat-out
deprecate the Cygwin Ruby port, even though it is slightly faster than
the native one and even though some C-language extensions won't build
except on the Cygwin version!

In short, Cygwin is a crutch IMHO, and an embedded Linux VMware guest
isn't much better. I'm hoping to phase Cygwin out by the end of the
year. I think if you need Linux, you should run Linux. That's going to
require some patience and extreme people skills when you deal with your
IT department, but it can be done. But on Windows boxes, you're much
better off using only tools built for and tested on native Windows.

More information about the R-devel mailing list