See r-devel thread '[Rd] file.access() on network (mounted) drive on Windows Vista' on Nov 26, 2008:
http://tolstoy.newcastle.edu.au/R/e5/devel/08/11/0806.html where it was concluded that file.access() is "not 100%", e.g. file.access() and file.info() can give different answers. I added fileAccess(..., safe=TRUE) to R.utils, which imitates file.access() but relies also on file.info() and file.exists() to infer the rights. It is still not 100% but (hopefully) closer than file.access(). /H On Tue, Jul 21, 2009 at 1:55 PM, Kevin R. Coombes<krcoom...@mdacc.tmc.edu> wrote: > Hi, > > The problem almost certainly has something to do with Samba. We also have a > NetApp file system, and copying the package source to that drive and running > Rcmd check from Windows works just fine. > > When running the commands from an interactive R session, file_test returns > TRUE and file.access to test write permission indicates a failure, even > though that information is incorrect.Here is a session transcript: > > ----------------------------------------- >> getwd() > [1] "n:/krc/Umpire/R-Package" >> lib <- "Umpire.Rcheck" >> file_test("-d", lib) > [1] TRUE >> file.access(lib, 2) > Umpire.Rcheck > -1 >> dir.create(paste(lib, "testdir", sep='/')) >> dir(lib) > [1] "00check.log" "00install.out" "testdir" > sessionInfo() > R version 2.9.1 (2009-06-26) > i386-pc-mingw32 > > locale: > LC_COLLATE=English_United States.1252;LC_CTYPE=English_United > States.1252;LC_MONETARY=English_United > States.1252;LC_NUMERIC=C;LC_TIME=English_United States.1252 > > attached base packages: > [1] stats graphics grDevices utils datasets methods base > ---------------------------------------- > Again, this all worked (and still works) correctly in 2.8.1. > > Kevin > > Tony Plate wrote: >> >> This error message looks like it comes from src/library/tools/R/install.R, >> which contains the following test: >> >> if (!.file_test("-d", lib) || file.access(lib, 2L)) >> stop("ERROR: no permission to install to directory ", >> sQuote(lib), call. = FALSE) >> >> The function .file_test() is defined earlier in the same file (it looks at >> file.info(lib)$isdir) and appears to be intended to be the same as >> utils:::file_test(). >> >> You could start trying to figure out what the problem is by trying these >> calls on the directory in question from an interactive R session. >> (They seem to work as intended on my Windows system with a NetApp file >> system mounted on a letter drive.) >> >> -- Tony Plate >> >> Kevin R. Coombes wrote: >>> >>> Hi, >>> >>> I have just updated R from version 2.8.1 to version 2.9.1. I am running >>> Windows XP Professional, Service Pack 3. >>> >>> With the update, I decided to update a set of packages that I maintain by >>> compiling them for the new version. Everything worked fine except for one >>> package. This package is unique (among the six I was working on) in that is >>> stored on a UNIX-based file server that is exported to the Windows network >>> via Samba. The root of that network path is mapped to drive "N:" on the >>> local machine. >>> >>> 'Rcmd check' fails for this package under 2.9.1. The error message in >>> '00install.out' is: >>> "Error: ERROR: no permission to install to directory >>> 'N:/krc/Umpire/R-Package/Umpire.Rcheck'" >>> >>> 'Rcmd check' works for this package under 2.8.1. >>> >>> 'Rcmd check' works for this package if the directory is copied onto a >>> local hard drive instead of the network drive. >>> >>> 'Rcmd build' and 'Rcmd build --binary' work under both versions. >>> >>> It would be nice if someone could figure out what has changed and fix >>> it.... >>> >>> Best, >>> Kevin Coombes >>> >>> ______________________________________________ >>> 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 > ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel