I've been attempting to create a new R package and recently removed the cygwin installation from my machine since R requires the use of the MingW tools for building an R package with C code. However, when I tried to build a source package, I found the following results: * removing junk files * building 'Rconifers_0.7-1.tar.gz' tar: /cygdrive/C/usfs/psw_redding/software/current/Rconifers_0.7-1.tar: Cannot open: No such file or directory tar: Error is not recoverable: exiting now tar: /cygdrive/C/usfs/psw_redding/software/current/Rconifers_0.7-1.tar: Cannot open: No such file or directory tar: Error is not recoverable: exiting now tar: /cygdrive/C/usfs/psw_redding/software/current/Rconifers_0.7-1.tar: Cannot open: No such file or directory tar: Error is not recoverable: exiting now Rconifers_0.7-1.tar: No such file or directory C:\usfs\psw_redding\software\current> which looks like the cygwin path is hard coded into the build script for the rcmd. I found the if($WINDOWS) { ## workaround for paths in Cygwin tar $filepath =~ s+^([A-Za-x]):+/cygdrive/\1+; } in the build script and don't think it needs to be there since you can use the tar utility that comes with mingw, yes? I replaced the previous chunk of code with: if($WINDOWS) { ## workaround for paths in Cygwin tar $filepath =~ s+^([A-Za-x]):+/\1+; } which has solved the problem. I just don't know how to get this into the latest build or release of R? Jeff. --- Jeff D. Hamann Forest Informatics, Inc. PO Box 1421 Corvallis, Oregon USA 97339-1421 541-754-1428 jeff.hamann@forestinformatics.com www.forestinformatics.com
Jeff: alternatively, I don't think it's necessary to completely remove a cygwin installation in order to use MinGW and build R. What I have done to build R from a bash cygwin window under Windows 2000: (1) put the "tools" directory and the MinGW directories ahead of any cygwin directories on the path (2) rename the cygwin1.dll that was in the "tools" directory (from Brian Ripley's tools.zip) to something like "Xcygwin1.dll" (to avoid cygwin conflicts) I also have ActiveState Perl installed and ahead of the cygwin perl on the path (though I have a wrapper for it that translates cygwin paths on the command line to windows paths). This configuration is different from the instructions in src/gnuwin32/INSTALL in that I don't use the cygwin1.dll from tools.zip. However, since updating some things recently, having cygwin1.dll in the tools directory always resulted in the "cygwin1.dll conflict" error, even when I changed the PATH to not have any other version of cygwin1.dll on it. This may or may not work for anyone else, but it seems to be working for me at the moment: I can build R and the recommended packages from source and run the tests. -- Tony Plate At Tuesday 11:32 AM 3/16/2004, Jeff D. Hamann wrote:>I've been attempting to create a new R package and recently removed the >cygwin installation from my machine since R requires the use of the MingW >tools for building an R package with C code. However, when I tried to build >a source package, I found the following results: > > >* removing junk files >* building 'Rconifers_0.7-1.tar.gz' >tar: /cygdrive/C/usfs/psw_redding/software/current/Rconifers_0.7-1.tar: >Cannot open: No such file or directory >tar: Error is not recoverable: exiting now >tar: /cygdrive/C/usfs/psw_redding/software/current/Rconifers_0.7-1.tar: >Cannot open: No such file or directory >tar: Error is not recoverable: exiting now >tar: /cygdrive/C/usfs/psw_redding/software/current/Rconifers_0.7-1.tar: >Cannot open: No such file or directory >tar: Error is not recoverable: exiting now >Rconifers_0.7-1.tar: No such file or directory > > >C:\usfs\psw_redding\software\current> > >which looks like the cygwin path is hard coded into the build script for the >rcmd. I found the > > if($WINDOWS) { > ## workaround for paths in Cygwin tar > $filepath =~ s+^([A-Za-x]):+/cygdrive/\1+; > } > >in the build script and don't think it needs to be there since you can use >the tar utility that comes with mingw, yes? I replaced the previous chunk of >code with: > > if($WINDOWS) { > ## workaround for paths in Cygwin tar > $filepath =~ s+^([A-Za-x]):+/\1+; > } > >which has solved the problem. I just don't know how to get this into the >latest build or release of R? > >Jeff. > > > > >--- >Jeff D. Hamann >Forest Informatics, Inc. >PO Box 1421 >Corvallis, Oregon USA 97339-1421 >541-754-1428 >jeff.hamann@forestinformatics.com >www.forestinformatics.com > >______________________________________________ >R-devel@stat.math.ethz.ch mailing list >https://www.stat.math.ethz.ch/mailman/listinfo/r-devel
On Tue, 16 Mar 2004 10:32:56 -0800, "Jeff D. Hamann" <jeff.hamann@forestinformatics.com> wrote :>I've been attempting to create a new R package and recently removed the >cygwin installation from my machine since R requires the use of the MingW >tools for building an R package with C code. However, when I tried to build >a source package, I found the following results: > > >* removing junk files >* building 'Rconifers_0.7-1.tar.gz' >tar: /cygdrive/C/usfs/psw_redding/software/current/Rconifers_0.7-1.tar: >Cannot open: No such file or directory... This error has been fixed in the latest build of r-devel. I'm not sure if you'll see the fix in the build downloadable today, but you will by tomorrow. Duncan Murdoch
No tar utility comes with MinGW! If you follow the instructions, you were asked to put the tools from my Rtools.zip at the front of your path. It seems that you didn't do so. Please don't expect support for configurations that are explicitly unsupported. On Tue, 16 Mar 2004, Jeff D. Hamann wrote:> I've been attempting to create a new R package and recently removed the > cygwin installation from my machine since R requires the use of the MingW > tools for building an R package with C code. However, when I tried to build > a source package, I found the following results: > > > * removing junk files > * building 'Rconifers_0.7-1.tar.gz' > tar: /cygdrive/C/usfs/psw_redding/software/current/Rconifers_0.7-1.tar: > Cannot open: No such file or directory > tar: Error is not recoverable: exiting now > tar: /cygdrive/C/usfs/psw_redding/software/current/Rconifers_0.7-1.tar: > Cannot open: No such file or directory > tar: Error is not recoverable: exiting now > tar: /cygdrive/C/usfs/psw_redding/software/current/Rconifers_0.7-1.tar: > Cannot open: No such file or directory > tar: Error is not recoverable: exiting now > Rconifers_0.7-1.tar: No such file or directory > > > C:\usfs\psw_redding\software\current> > > which looks like the cygwin path is hard coded into the build script for the > rcmd. I found the > > if($WINDOWS) { > ## workaround for paths in Cygwin tar > $filepath =~ s+^([A-Za-x]):+/cygdrive/\1+; > } > > in the build script and don't think it needs to be there since you can use > the tar utility that comes with mingw, yes? I replaced the previous chunk of > code with: > > if($WINDOWS) { > ## workaround for paths in Cygwin tar > $filepath =~ s+^([A-Za-x]):+/\1+; > } > > which has solved the problem. I just don't know how to get this into the > latest build or release of R?-- Brian D. Ripley, ripley@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
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