From hb at maths.lth.se  Thu Mar 18 18:41:40 2004
From: hb at maths.lth.se (Henrik Bengtsson)
Date: Thu Mar 18 18:41:44 2004
Subject: [Rd] cygwin tar?
In-Reply-To: <6.0.3.0.2.20040318093508.090adbb8@mailhost.blackmesacapital.com>
Message-ID: <002401c40d10$45668140$e502eb82@maths.lth.se>

Hasn't this to do with the fact that cygwin1.dll (dynamically linked
library) is a shared library and it is loaded into memory in a first
come, first served style? Thus, if you load Cygwin's default
cygwin1.dll by for instance starting a Cygwin shell (or even
background processes) and then try to load Rtools cygwin1.dll, the
latter will complain that there is already a loaded library? Similar,
vice versa. 

I haven't done my background research so I do not know the above for
sure, but that is how I think about it. Comments anyone?

Example on WinXP Pro: I start a Cygwin bash shell in one window and
open a MSDOS prompt with the PATH setup such that B.R's Rtools are
used exclusively (details in my email on 2004-03-17 @ 14.28) and then
type 'sh' (starts "Rtools"/bin/sh - not "Cygwin"/bin/sh) I get

c:\>sh
C:\Progra~1\R\Rtools\sh.exe: *** shared version mismatch detected -
0x75BE006D/0x18A20043.
You have multiple copies of cygwin1.dll on your system.
Search for cygwin1.dll using the Windows Start->Find/Search facility
and delete all but the most recent version.  The most recent version
*should*
reside in x:\cygwin\bin, where 'x' is the drive on which you have
installed the cygwin distribution.

because the other DLL is already loaded. This does not happen if I do
*not* open the Cygwin shell first. Vice versa: Closing the first one
and "Rtools"/bin/sh works fine. Now Cygwin/bin/sh fails to start.

To see which cygwin1.dll that is loaded one can run msinfo32.exe,
select Software Environment -> Loaded Modules and do "View | Refresh".
A standard Cygwin/bin/sh shell will load:
 
 cygwin1  1.5.7-cr-0x9e  1,06 MB (1?109?385 bytes)  
          2004-02-06 13:46  Red Hat  c:\cygwin\bin\cygwin1.dll

whereas a Rtools/bin/sh shell (or R CMD build et al) will load

 cygwin  1.3.17          922,82 KB (944?968 bytes)
          2004-03-02 18:58  Red Hat  c:\progra~1\r\rtools\cygwin1.dll

So Tony, do you have a Cygwin/cygwin1.dll loaded in memory when you
try to use Rtools?

Cheers

Henrik

> -----Original Message-----
> From: r-devel-bounces@stat.math.ethz.ch 
> [mailto:r-devel-bounces@stat.math.ethz.ch] On Behalf Of Tony Plate
> Sent: den 18 mars 2004 17:41
> To: Duncan Murdoch
> Cc: r-devel@stat.math.ethz.ch
> Subject: Re: [Rd] cygwin tar?
> 
> 
> Duncan, thanks for the explanation.  I prefer bash to the 
> Windows command 
> line and it sounds like others do too.
> 
> Should I take it then that following the instructions in 
> src/gnuwin32/INSTALL should allow one to use the .exe's from 
> tools.zip 
> inside a cygwin bash shell?  Following those instructions 
> used to work for 
> me, but it no longer does -- I get the cygwin1.dll conflict 
> error no matter 
> what I do.  The only thing that works for me is to remove the 
> cygwin1.dll 
> that came with tools.zip (and thus use the cygwin1.dll that came
with 
> cygwin.)  I wonder if something has changed in either Windows 
> 2000 or in 
> cygwin that makes cygwin1.dll more persistent than it used to be?
> 
> -- Tony Plate
> 
> At Wednesday 07:38 PM 3/17/2004, Duncan Murdoch wrote:
> >On Wed, 17 Mar 2004 15:49:41 -0700, you wrote:
> >
> > >To build R from source in a Windows system, do you 'make' 
> from cygwin 
> > >bash, or from a Windows command line prompt?
> >
> >I currently use Cygwin's bash, but I used to use Win98's 
> command line 
> >prompt.  I think they both still work, but the command line 
> prompt is 
> >not being tested much these days.
> >
> > > After reading
> > >src/gnuwin32/{INSTALL,readme,readme.packages} and the rw-FAQ, I 
> > >strongly suspect the shell commands in there are are 
> intended to be 
> > >run from only the Windows command line prompt.  I couldn't 
> find any 
> > >explicit mention of which shell to use, but in rw-FAQ and 
> > >readme.packages, the 'cd' commands (at least those intended for 
> > >execution on Windows systems) all use backward slashes, 
> which implies 
> > >Windows command line.  In src/gnuwin32/INSTALL, the 'cd' commands

> > >have forward slashes, which only works with a unix-style 
> shell, like 
> > >bash.  However I suspect those are typos.
> >
> >I wouldn't pay too much attention to the direction of the 
> slashes. The 
> >documentation is generally written for the users who use the 
> standard 
> >Windows shell, so backslashes are appropriate, but the developers 
> >mainly use Unix-like shells, so forward slashes are what we use.
In 
> >fact, forward slashes work in many places in Windows 
> (including the Win 
> >XP command line prompt).
> >
> >Duncan Murdoch
> 
> ______________________________________________
> R-devel@stat.math.ethz.ch mailing list 
> https://www.stat.math.ethz.ch/mailma> n/listinfo/r-devel
> 
>


[Rd] cygwin tar?
Henrik Bengtsson