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@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.

______________________________________________
R-help@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.

Reply via email to