Re: [Rd] compiling R under cygwin

From: Denham Robert <Robert.Denham_at_nrw.qld.gov.au>
Date: Thu, 23 Aug 2007 11:30:20 +1000


>> For various reasons,
>I think it is only courteous to mention some good reasons if you want
to take up people's time.

Some of the reasons we would like a cygwin version aren't necessarily good reasons. We have been using cygwin for sometime, mostly to deal with scripting in a combined windows/unix environment. We have a setup which allows windows users to run many scripts in the same way as unix users. These scripts are often python or shell scripts. We have R installed on the unix machines, and the system administrators would like to be able to have R on windows in the same environment. This set up also means that the administrator can fairly easily maintain the version of software used on all user's machines. Probably this could all be managed and still use the native windows version of R, but the administrator is familiar with cygwin and they could manage this software in the same way they manage other packages.

We would like to be able to use linux machines on pc's but unfortunately we have restrictions imposed on us that prevent this. This restriction also goes as far as the use of virtual machines. My personal preference would be to run linux on my work pc, and use a virtual machine to run windows software, such as ArcGIS and Imagine, that are not available for linux. This does not seem to be an option for us.

One thing I was interested in was knowing if there are others who also would like a cygwin version. From the replies to my post, and from a search of the mailing list archive, I think that there is little demand for this. We would, however, be prepared to help in some way for the few people who are interested.

Robert Denham
Environmental Statistician
Remote Sensing Centre
Telephone 07 3896 9899
www.nrw.qld.gov.au  

Department of Natural Resources & Water
QScape Building, 80 Meiers Road, Indooroopilly Qld 4068

-----Original Message-----
From: Prof Brian Ripley [mailto:ripley_at_stats.ox.ac.uk] Sent: Tuesday, 21 August 2007 9:53 PM
To: Duncan Murdoch
Cc: Denham Robert; r-devel_at_r-project.org Subject: Re: [Rd] compiling R under cygwin

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.)

On Tue, 21 Aug 2007, Duncan Murdoch wrote:

> Denham Robert wrote:
>> For various reasons,

I think it is only courteous to mention some good reasons if you want to take up people's time.

>> it suits our workplace to have a cygwin version of R. I am pretty
>> sure that cygwin is still not a supported environment for R, but we
>> have managed to compile R-2.5.1 under cygwin without too many dramas.

>> Our procedure is described below. We still have a few problems
>> compiling libraries without manually changing files from .so to .dll,

>> but it seems ok.
>>
> I would expect other subtle problems as well, because Cygwin is not a
> normal Unix. I don't know whether any of these differences matter to
> R, but some things to look out for are:
>
> - you can't unlink a file while it is open
> - filenames are not case sensitive
> - file permissions have strange defaults (everything is executable)
> - I think the executable format still needs to be Windows format
> - There's no such thing as a ptty
> - You'll probably need X11 for graphics, and will lose support for
> Windows metafile output (wmf)
>>
>> I was wondering whether this information is likely to be useful to
>> others, and if we should spend any time looking in to ways in which
>> the configure/build/install code could be modified to allow a
>> standard install.
>>
> What is the advantage of building this? I don't think we want to
> support platforms just for the sake of supporting more platforms, but
> if there's a real need for it, that would be different.
>
> Duncan Murdoch
>>
>> Notes on building R under cygwin:
>>
>> export FFLAGS=-O3
>> export CFLAGS=-O3
>> export CXXFLAGS=-O3
>> export OBJCFLAGS=-O3
>> export FCFLAGS=-O3
>> export LDFLAGS='-lblas -lg2c -lintl'
>>
>> export R_OSTYPE=unix
>>
>> ./configure --prefix=/opt/freeware/R/R-2.5.1 \
>> --with-tcl-config=/usr/lib/tclConfig.sh \
>> --with-tk-config=/usr/lib/tkConfig.sh \ --with-blas=-lblas \
>> --with-lapack=-llapack \ --enable-R-shlib
>>
>> comment out Win32 in src/include/config.h and set Unix to 1, change
>> .so to .dll. change .so to .dll and in Makeconf.
>> in src/extra/xdr/rpc/types.h comment out defn of malloc.
>>
>> Change .so to .dll in Makefile's
>>
>> edit Makeconf and set R_OSTYPE to unix
>>
>> make -j2
>>
>> when blas doesn't link, re-run command with -lblas -lg2c on end and
>> change output to .dll
>>
>> edit Rstrptime.c and change wcstod to atof.
>>
>> in modules:
>> when X11 and internet falls over add -lintl to link line. add -lg2c
>> and -lblas to lapack
>>
>> comment out library/base/R/library.R lines 47-51 to avoid arch check
>> which seems to go wrong!
>>
>> make -j2
>> make install
>>
>> edit /opt/freeware/R/R-2.5.1/lib/R/etc/Makeconf and add '-lintl
>> -lg2c -lblas' to the end of ALL_LIBS so the module building works.
>> Change .so to .dll also (can't see how to to this for the build
>> tho...)
>>
>>
>> Our cygwin info is:
>> sysname release version
>> "CYGWIN_NT-5.1" "1.5.20s(0.155/4/2)" "20060527 19:21:22"
>>
>>
>>
>>
>> Robert Denham
>> Environmental Statistician
>> Remote Sensing Centre
>> Telephone 07 3896 9899
>> www.nrw.qld.gov.au <http://www.nrw.qld.gov.au/>
>>
>> Department of Natural Resources & Water QScape Building, 80 Meiers
>> Road, Indooroopilly Qld 4068
>>
>> *********************************************************************
>> *** The information in this email together with any attachments is
>> intended only for the person or entity to which it is addressed and
>> may contain confidential and/or privileged material.
>> Any form of review, disclosure, modification, distribution and/or
>> publication of this email message is prohibited, unless as a
>> necessary part of Departmental business.
>> If you have received this message in error, you are asked to inform
>> the sender as quickly as possible and delete this message and any
>> copies of this message from your computer and/or your computer system

>> network.
>>
>> ______________________________________________
>> R-devel_at_r-project.org mailing list
>> https://stat.ethz.ch/mailman/listinfo/r-devel
>>
>
> ______________________________________________
> R-devel_at_r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel
>

-- 
Brian D. Ripley,                  ripley_at_stats.ox.ac.uk
Professor of Applied Statistics,  http://www.stats.ox.ac.uk/~ripley/
University of Oxford,             Tel:  +44 1865 272861 (self)
1 South Parks Road,                     +44 1865 272866 (PA)
Oxford OX1 3TG, UK                Fax:  +44 1865 272595

______________________________________________
R-devel_at_r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel
Received on Thu 23 Aug 2007 - 02:23:33 GMT

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.2.0, at Thu 23 Aug 2007 - 09:39:02 GMT.

Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-devel. Please read the posting guide before posting to the list.