aseila at gmail.com
2009-Jul-15 17:25 UTC
[Rd] dir.create not working correctly under Solaris (PR#13834)
Full_Name: Andy Seila Version: 2.9.1-patched OS: Solaris 10 x86 Submission from: (NULL) (66.156.94.118) When compiling R under a user's home directory that is mounted by the automounter, R cannot create directories using dir.create() with "recursive=TRUE". This causes the build to exit with an error when attempting to install package VR. If R is built and installed under a user's home directory that is automounted, additional packages cannot be installed using "R CMD INSTALL" because the R script calls dir.create() with "recursive=TRUE). Here is some output with R-patched_2009-07-06: (The working directory is /home/andy/temp)> dir.create("/home/andy/temp/bob", recursive=TRUE)Warning message: In dir.create("/home/andy/temp/bob", recursive = TRUE) : cannot create dir '/home/andy', reason 'Operation not applicable'> system("ls") > dir.create("/home/andy/temp/bob/bill", recursive=TRUE)Warning message: In dir.create("/home/andy/temp/bob/bill", recursive = TRUE) : cannot create dir '/home/andy', reason 'Operation not applicable'> system("ls") > dir.create("/home/andy/temp/bob", recursive=FALSE) > system("ls")bob> dir.create("/home/andy/temp/bob/bill", recursive=FALSE) > system("ls bob")bill> system("rm -rf bob") > system("ls") > dir.create("bob", recursive=TRUE) > system("ls")bob> system("rm -rf bob") > dir.create("bob/bill", recursive=TRUE) > system("ls")bob> system("ls bob")bill A workaround is to build and install R under directories that are not automounted. If the directory /export/home/<user> is mounted on /home/<user>, another solution is to cd to /export/home/<user> before building R. However, many systems automount a directory accessed through nfs and this workaround is not an option. Regardless, if R is installed under /home/<user> and /home/<user> is automounted, additional packages cannot be installed.