[Rd] Rcmd check fails on Windows Samba network path in R 2.9.1
Kevin R. Coombes
krcoombes at mdacc.tmc.edu
Tue Jul 21 20:14:07 CEST 2009
The results of the session below are the same in 2.8.1 as in 2.9.1
(including in particular the response to the call to file.access).
Tony Plate wrote:
> Did you try starting up R-2.8.1 and checking the result of
> file.access(lib, 2) on that very same directory where R-2.9.1 gives an
> incorrect indication? If that gives the correct answer, then, look
> for changes in the file.access code.
> -- Tony Plate
> Kevin R. Coombes wrote:
>> 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
>> > getwd()
>>  "n:/krc/Umpire/R-Package"
>> > lib <- "Umpire.Rcheck"
>> > file_test("-d", lib)
>>  TRUE
>> > file.access(lib, 2)
>> > dir.create(paste(lib, "testdir", sep='/'))
>> > dir(lib)
>>  "00check.log" "00install.out" "testdir" > sessionInfo()
>> R version 2.9.1 (2009-06-26)
>> LC_COLLATE=English_United States.1252;LC_CTYPE=English_United
>> States.1252;LC_NUMERIC=C;LC_TIME=English_United States.1252
>> attached base packages:
>>  stats graphics grDevices utils datasets methods base
>> Again, this all worked (and still works) correctly in 2.8.1.
>> 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:
>>>> 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
>>>> '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....
>>>> Kevin Coombes
>>>> R-devel at r-project.org mailing list
More information about the R-devel