[R] install.packages() - old version deleted, new version did not install
Duncan Murdoch
murdoch.duncan at gmail.com
Mon Dec 20 15:29:14 CET 2010
On 20/12/2010 9:26 AM, Uwe Ligges wrote:
>
> On 20.12.2010 15:19, Duncan Murdoch wrote:
> > On 20/12/2010 9:03 AM, Jon Olav Skoien wrote:
> >> On 12/20/2010 1:43 PM, Duncan Murdoch wrote:
> >> > Jon Olav Skoien wrote:
> >> >> On 12/17/2010 6:22 PM, Duncan Murdoch wrote:
> >> >>> On 17/12/2010 11:13 AM, Jon Olav Skoien wrote:
> >> >>>> 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...
> >> >>>
> >> >>> Could you try out the new 2.12.1 release? I recall hearing that
> >> >>> something like this had changed, but I can't spot the NEWS item
> >> >>> right now.
> >> >>>
> >> >>> Duncan Murdoch
> >> >>
> >> >> It seems it didnt change yet...
> >> >> I installed 2.12.1 (on a different computer, still Windows, but Vista
> >> >> and 32 bit), and after installing and loading sp in one session, I
> >> >> opened a new session and got:
> >> >>
> >> >> R version 2.12.1 (2010-12-16)
> >> >> Copyright (C) 2010 The R Foundation for Statistical Computing
> >> >> ISBN 3-900051-07-0
> >> >> Platform: i386-pc-mingw32/i386 (32-bit)
> >> >> ............................
> >> >>
> >> >> > install.packages("sp")
> >> >> Installing package(s) into ‘C:\Users\Jon\Documents/R/win-library/2.12’
> >> >> (as ‘lib’ is unspecified)
> >> >> --- Please select a CRAN mirror for use in this session ---
> >> >> provo con l'URL
> >> >> 'http://cran.at.r-project.org/bin/windows/contrib/2.12/sp_0.9-76.zip'
> >> >> Content type 'application/zip' length 997444 bytes (974 Kb)
> >> >> URL aperto
> >> >> downloaded 974 Kb
> >> >>
> >> >> package 'sp' successfully unpacked and MD5 sums checked
> >> >> Warning: cannot remove prior installation of package 'sp'
> >> >>
> >> >> The downloaded packages are in
> >> >> C:\Users\Jon\AppData\Local\Temp\RtmpCTJeBk\downloaded_packages
> >> >> > library(sp)
> >> >> Errore in library(sp) : non c'è alcun pacchetto chiamato 'sp'
> >> >> >
> >> >>
> >> >> The error message is the same as earlier, there is no package called
> >> >> "sp", the attempt to install it again removed the old version except
> >> >> for the .dll.
> >> >>
> >> >> Jon
> >> >
> >> > Did you have it open at the time? Windows won't let open files be
> >> > removed, so that could have caused the problem. If it's not that, it
> >> > could be a permissions problem. Have you tried running R as
> >> > administrator for the install?
> >> Yes, I had it open. In this case it was intentional to give a
> >> reproducible example in case something had changed in the new version,
> >> in other cases I have had to wait for 2 days before I could reinstall a
> >> package. It seems the .dll is the one causing the problem, so wouldnt it
> >> be possible to test if this file can be unlinked before trying to unlink
> >> the complete directory in utils:::unpackPkgZip? Then the package should
> >> be left untouched if it is in use, and not partly deleted as today.
> >
> > I don't know. Perhaps we could try to rename the folder; if that fails,
> > abort the whole thing. If that succeeds but something later fails, then
> > remove all the new stuff and restore the old folder. Do you know of a
> > better test?
>
> I think we had something like that in the past which did not work
> properly on network shares and we had to change the way it works for
> that reason.
I just took a look at the code, and I see that something like that is
still there. I haven't tried it yet, so I don't know if it is in use.
Duncan Murdoch
> Uwe
>
>
> > Duncan Murdoch
> >
> >> I know that it is possible to avoid this problem by not installing a
> >> package in use, but
> >> 1) it seems only to affect packages with .dll's, so some packages can be
> >> reinstalled while in use
> >> 2) you dont always know if a dependent package will download a new
> >> version of an installed package
> >>
> >> Best wishes,
> >> Jon
> >>
> >>
> >>
> >
> > ______________________________________________
> > R-help at r-project.org mailing list
> > https://stat.ethz.ch/mailman/listinfo/r-help
> > PLEASE do read the posting guide
> > http://www.R-project.org/posting-guide.html
> > and provide commented, minimal, self-contained, reproducible code.
More information about the R-help
mailing list