[GRASS5] CygWIN: compilation of current CVS HEAD?

Roger Bivand Roger.Bivand at nhh.no
Thu Feb 6 08:18:20 EST 2003

On Thu, 6 Feb 2003, Glynn Clements wrote:

> Markus Neteler wrote:
> > Thanks for the clarification. So we'll check the PATH here which
> > we modified to get the R/GRASS interface working [1].
> > 
> > Markus
> > 
> > [1] If interested, see instructions here:
> >     http://grass.itc.it/statsgrass/grass_r_insthints.html
> It says:
>  - To bypass Cygwin's path and make sure that MinGW and Perl are the first
>    directories in the Cygwin path. So, one needs to modify the /etc/profile 
>    file AND any user defined resource file in their home directory
>    (i.e. a ~/.bash_profile that needed updating too - don't know why but it 
>    does). If ~/.bash_profile is not present, make it a copy of /etc/profile.
>    In /etc/profile change the PATH= definition so that $PATH comes first
>    (per default it comes last). Something like
>    PATH="$PATH:/usr....."
> If you do this, don't expect typical Unix-ish programs (the ones for
> which you installed Cygwin in the first place) to still work
> afterwards. Cygwin's /bin (or /usr/bin, they're just aliases) needs to
> come first, before any Windows/DOS stuff.
> If, for whatever reason, R needs to have the Windows/DOS stuff come
> first, then you need choose between having R work and having
> everything else work.

No, it's not that. The R build train for Windows is *not* CygWin, but 
MinGW, which the people/person making the port judged to be more stable. 
Consequently, DLLs to be dynamically loaded into R *have* to be compiled 
using MinGW gcc and friends. However, this path order is *only* needed for 
installing the R/GRASS interface (and all other contributed packages 
compiled from source - very rare, almost all are installed as binaries), 
nothing in R otherwise should conflict with a regular PATH order with 
CygWin /bin early. I suggest a script to re-order the PATH prior to and 
then after making an R package installation from source.

> If there exists a choice between Unix and Windows versions of R,
> choosing the Unix version is likely to result in better compatibility
> with GRASS.

R on Windows will not build under CygWin. On the Windows platform, MinGW
is the chosen build train, following which R runs natively. One can
complain that it ought to be CygWin, but the reaction is to invite the
complainer to become R Windows maintainer. I think everyone is very
grateful for the work the Windows maintainers do, and R is not going to
move to CygWin while they are in place.

> This is the same issue faced by tcltkgrass (which requires Unix/X11
> Tcl/Tk, not Windows Tcl/Tk) and NVIZ (which requires Unix/X11 versions
> of both Tcl/Tk and OpenGL, not the Windows versions).

No, not the same issue. It's a design choice which can be got round when 
an R source package needs to be installed on a Windows machine set up for 
CygWin. One solution is to make a binary package of the R/GRASS interface 
on some host machine, and have Windows users install that, rather than 
from source.


Roger Bivand
Economic Geography Section, Department of Economics, Norwegian School of
Economics and Business Administration, Breiviksveien 40, N-5045 Bergen,
Norway. voice: +47 55 95 93 55; fax +47 55 95 93 93
e-mail: Roger.Bivand at nhh.no

More information about the grass-dev mailing list