[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

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