Perhaps this earlier post slipped through the cracks? My apologies if it's still 'in process', or I missed a response, or if the contribution isn't helpful.
At any rate, I realized that the problem is not windows-specific. Also, generating $libdir by calling (a sligthly modified) R_tempfile might give installation more of a fighting chance in a cluttered TMPDIR. Index: src/scripts/build.in =================================================================== --- src/scripts/build.in (revision 36565) +++ src/scripts/build.in (working copy) @@ -76,7 +76,7 @@ my $R_platform = R_getenv("R_PLATFORM", "unknown-binary"); my $gzip = R_getenv("R_GZIPCMD", "gzip"); my $tar = R_getenv("TAR", "tar"); -my $libdir = &file_path(${R::Vars::TMPDIR}, "Rinst.$$"); +my $libdir = R_tempfile("Rinst."); my $INSTALL_opts = ""; $INSTALL_opts .= " --use-zip" if $opt_use_zip; @@ -434,6 +434,8 @@ if($doit && R_system($cmd)) { $log->error(); $log->print("Installation failed.\n"); + $log->print("Removing '$libdir'\n"); + rmtree($libdir); exit(1); } my $R_LIBS = $ENV{'R_LIBS'}; Index: share/perl/R/Utils.pm =================================================================== --- share/perl/R/Utils.pm (revision 36565) +++ share/perl/R/Utils.pm (working copy) @@ -75,7 +75,7 @@ $pat . $$ . sprintf("%05d", rand(10**5))); my $n=0; - while(-f $retval){ + while(-e $retval){ $retval = file_path($R::Vars::TMPDIR, $pat . $$ . sprintf("%05d", rand(10**5))); croak "Cannot find unused name for temporary file" Martin Morgan <[EMAIL PROTECTED]> writes: > A command > > R CMD build <pkg> > > that fails, e.g., because of C code compilation errors, leaves a > directory %TMPDIR%/Rinst.xxx containing the file R.css. Although R > CMD INSTALL --build cleans up after itself, build does not. A fix is > below. Also, build.in references Rcmd.exe, which I thought was no > longer necessary? > > Index: build.in > =================================================================== > --- build.in (revision 36450) > +++ build.in (working copy) > @@ -434,6 +434,8 @@ > if($doit && R_system($cmd)) { > $log->error(); > $log->print("Installation failed.\n"); > + $log->print("Removing '$libdir'\n"); > + rmtree($libdir); > exit(1); > } > my $R_LIBS = $ENV{'R_LIBS'}; > > ______________________________________________ > R-devel@r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-devel ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel