[R] install.packages() - old version deleted, new version did not install

Jon Olav Skoien jon.skoien at jrc.ec.europa.eu
Fri Dec 17 17:13:03 CET 2010


Dear list,

(R 2.12.0, Windows 7, 64bit)

I recently tried to install a new package ("spacetime"), that depends on 
"sp" among others. I already had the last one installed, but there was 
probably a newer version on CRAN, so the command
 > install.packages("spacetime")
also gave me:
also installing the dependencies ‘sp’, ‘zoo’, ‘xts’

sp was already loaded in this session, so installation failed:
package 'sp' successfully unpacked and MD5 sums checked
Warning: cannot remove prior installation of package 'sp'

Unfortunately, the warning should rather say:
"cannot completely remove prior installation of package 'sp'"
R managed to remove most of the prior installation of sp, except for the 
.dll. I could go on using sp in the existing sessions, but not load the 
package in a new session or open the help pages. This has happened to me 
several times, and the only solution I have found to this is to close 
all R-sessions and install the package again. This is normally ok, but 
this time I had some long-time computations running in another R-session 
that I did not want to interrupt. For the next time, is there a way to 
reinstall a package without interrupting running R-sessions?

For me it seems like the cause of the problem could have been solved by 
checking if the .dll can be removed before removing the rest of the 
package, by adding something like the following in utils:::unpackPkgZip?
if (unlink(paste(instPath,"/libs/x64/sp.dll", sep = "")) != 0) 
warning("cannot remove...")
before
ret <- unlink(instPath, recursive = TRUE) (line 95)
x64 in the path would have to be changed to something architecture 
dependent...

Best wishes,
Jon



More information about the R-help mailing list