[Rd] cygwin tar?

Tony Plate tplate at blackmesacapital.com
Wed Mar 17 23:49:41 MET 2004


At Wednesday 05:39 AM 3/17/2004, Prof Brian Ripley wrote:
>On Wed, 17 Mar 2004, Martyn Plummer wrote:
>
> > I had the same problem as Tony with multiple copies of cygwin1.dll. But
> > doesn't this solution (renaming cygwin1.dll in the tools directory) just
> > link the tools with the cygwin1.dll that comes with cygwin? In which
> > case will it work if the tools are linked against a different version of
> > the cygwin1 library?
>
>It may or it may not.  At least some cygwin1.dll's are broken and cause
>tar to malfunction.
>
>I don't uninstall cygwin, but I do ensure that its path is not mounted,
>since if it thinks there is a /bin/cygwin1.dll or /usr/bin/cygwin1.dll it
>complains, even if that is really C:/packages/usr/bin/cygwin1.dll and not
>in your path.

To build R from source in a Windows system, do you 'make' from cygwin bash, 
or from a Windows command line prompt?  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.

Also, what did you mean by "ensure that its path is not mounted"?  I tried 
'umount'ing the various /bin etc directories, but still got the cygwin1.dll 
conflict error when trying to run .exe's from R/tools from the cygwin bash 
prompt (with no cygwin system directories on my path).

# in cygwin, after doing 'umount' on all the cygwin system directories
$ c:/cygwin/bin/mount
C:\cygwin\usr\X11R6\lib\X11\fonts on /usr/X11R6/lib/X11/fonts type system 
(binmo
de)
c: on /cygdrive/c type user (textmode,noumount)
e: on /cygdrive/e type user (textmode,noumount)
f: on /cygdrive/f type user (textmode,noumount)
h: on /cygdrive/h type user (textmode,noumount)

$ type -a cygwin1.dll
cygwin1.dll is /cygdrive/c/R/tools/cygwin1.dll

$ echo $PATH
.:/cygdrive/c/R/tools:/cygdrive/c/MinGW/bin:/cygdrive/c/texmf/miktex/bin:/cygdri
ve/c/Perl/bin/cygdrive/c/Program Files/Html Help 
Workshop:/cygdrive/c/gstools/gs
/gs7.03/bin:/cygdrive/c/R/rw1080/bin

$ ls
c:\R\tools\ls.exe: *** proc version mismatch detected - 0x1E4C5751/0x8E0899FA.
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.

(All this is using a pretty up-to-date cygwin (downloaded in the last month 
or so) under Windows 2000).

-- Tony Plate



More information about the R-devel mailing list