Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

R install.packages returns "failed to create lock directory"

Tags:

package

r

rcpp

I get this error when downloading the Rcpp package:

> install.packages("Rcpp", dependencies=TRUE) Installing package(s) into ‘/home/me/src/Rlibs’ (as ‘lib’ is unspecified) trying URL 'http://cran.us.r-project.org/src/contrib/Rcpp_0.10.2.tar.gz' Content type 'application/x-gzip' length 2380089 bytes (2.3 Mb) ... Warning in dir.create(lockdir, recursive = TRUE) :   cannot create dir '/home', reason 'Permission denied' ERROR: failed to create lock directory ‘/home/me/src/Rlibs/00LOCK-Rcpp’ ... 

As my machine is on a computer cluster, I've tried it on different nodes, and I was careful to delete the temporary files downloaded in /tmp. What is strange is that I have rights to write in /home/me/src/Rlibs/. So my questions are:

  1. why does R want to have writing rights in /home while it only needs writing rights in /home/me/?
  2. how can I fix the error?

> sessionInfo() R version 2.15.2 (2012-10-26) Platform: x86_64-redhat-linux-gnu (64-bit) locale:  [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C  [3] LC_TIME=en_US.UTF-8        LC_COLLATE=en_US.UTF-8  [5] LC_MONETARY=en_US.UTF-8    LC_MESSAGES=en_US.UTF-8  [7] LC_PAPER=C                 LC_NAME=C  [9] LC_ADDRESS=C               LC_TELEPHONE=C  [11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C attached base packages: [1] stats     graphics  grDevices utils     datasets  methods   base loaded via a namespace (and not attached): [1] tools_2.15.2 
like image 290
tflutre Avatar asked Jan 17 '13 15:01

tflutre


People also ask

Why I Cannot install package in R?

Changing the configuration in R Studio to solve install packages issue. Go To Tools -> Global option -> Packages. Then uncheck the option “Use secure download method for HTTP”. For other RStudio issues refer to official Troubleshooting Guide here.

Why is my RStudio not installing packages?

Make sure that the package is available through CRAN or another repository, that you're spelling the name of the package correctly, and that it's available for the version of R you are running.

How do I get rid of 00LOCK in R?

If you get an error saying you need to remove an “00LOCK” file, go to your “R” library in your computer directory (e.g. R/win-library/) and look for a folder called “00LOCK”. Delete this manually, and try installing the package again.


2 Answers

On NFS file systems it is sometimes not obvious what things you have to close.

The best way to avoid this is to use the --no-lock argument on the command line, i.e.:

R CMD INSTALL --no-lock <pkg> 

From within R, you can do this from within your command using:

install.packages("Rcpp", dependencies = TRUE, INSTALL_opts = '--no-lock') 
like image 125
jimmyb Avatar answered Sep 28 '22 09:09

jimmyb


This happens when your last package installation has interrupted abnormally. to fix this you should remove the locked file. For example Execute this command in R console:

unlink("/home/me/src/Rlibs/00LOCK-Rcpp", recursive = TRUE) 

Hope this helps!

like image 27
Sina Avatar answered Sep 28 '22 09:09

Sina