Re: [Rd] Outdated dependencies and install.packages()

2008-09-27 Thread Martin Maechler
> "PD" == Peter Dalgaard <[EMAIL PROTECTED]>
> on Thu, 21 Aug 2008 10:53:58 +0200 writes:

PD> Martin Maechler wrote:
>>> "PD" == Peter Dalgaard <[EMAIL PROTECTED]>
>>> on Wed, 20 Aug 2008 17:06:36 +0200 writes:
>>> 
>> 
PD> Prof Brian Ripley wrote:
>> >> On Wed, 20 Aug 2008, Peter Dalgaard wrote:
>> >> 
>> >>> This looks like a buglet:
>> >>> 
>>  install.packages("lme4", depend=TRUE, lib="~/Rlibrary/")
>> >>> --- Please select a CRAN mirror for use in this session ---
>> >>> [...snip...]
>> >>> ** preparing package for lazy loading
>> >>> Error: package 'Matrix' 0.999375-4 was found, but >= 0.999375.11 is
>> >>> required by 'lme4'
>> >>> Execution halted
>> >>> ERROR: lazy loading failed for package 'lme4'
>> >>> ** Removing '/home/bs/pd/Rlibrary/lme4'
>> >>> ** Restoring previous '/home/bs/pd/Rlibrary/lme4'
>> >>> 
>> >>> and the DESCRIPTION file for lme 4 does have
>> >>> 
>> >>> Depends: methods, R(≥ 2.7.0), Matrix(≥ 0.999375-11), lattice
>> >>> 
>> >>> 
>> >>> 
>> >>> Looks like we're either not checking the version requirement of
>> >>> dependencies, or something is making 4 > 11... (from my reading of 
the
>> >>> code, it is the former, but I could have missed something).
>> >> 
>> >> We don't check version requirements of dependencies in
>> >> install.packages(). That's a minefield related to having multiple
>> >> versions of a package on a system and which gets loaded/namespace
>> >> loaded, so you can easily have the needed version but pick up a
>> >> different one.
>> >> 
>> >> Depending on whether lazy-loading is in place (and various other
>> >> issues) you may or may not need the dependencies to install the
>> >> package.  It's also a problem that you can update dependencies to
>> >> incompatible ones, so the versions available at installation are only
>> >> part of the story.
>> >> 
>> >> I don't see why the message reports .11 not -11, but that may be
>> >> related to "package_version" classes.
>> >> 
>> >>> We should at least document the behaviour.
>> >> 
>> >> I am not sure where you think it should be documented and is not.
>> >> But for install.packages():
>> >> 
>> >> dependencies: logical indicating to also install uninstalled packages
>> >> on which these packages depend/suggest/import (and so on
>> >> recursively).  Not used if 'repos = NULL'. Can also be a
>> >> character vector, a subset of 'c("Depends", "Imports",
>> >> "Suggests")'.
>> >> 
>> >> 'uninstalled' seems pretty clear to me.
>> >> 
PD> It isn't. Matrix 0.999375-11 was 'uninstalled'. The above could just
PD> mean that if you installed it, it wouldn't be installed again.
>> 
PD> Something like "Notice that version dependencies are not checked." would
PD> help. (Assuming that people read the help page.)
>> 
>> Or even more:
>> 
>> "
>> Notice that version dependencies are not checked such that
>> outdated versions of installed packages are \emph{not} updated.
>> Consider using  \code{\link{update.packages}()} before 
>> \code{install.packages()}.
>> "
>> 
>> Note that --- thanks to Heather Turner nice help.request() proposal ---
>> one of my top "TODOs" for R-devel is
>> to finish a generalization of the current
>> update.packages()
>> function (that I have not quite finished)
>> which will allow to only look for updates of specified set of
>> packages rather than all packages in a given lib.loc
>> {something that should *not* be triggered by a help.request()
>> for a user (as ours) who has ~ 2000 R packages installed}.

I have now finally committed this code to R-devel (rev 46576)
and plan to port it to R-2.8.0 alpha before feature freeze.

It may well be worth if a few people have a look, and maybe even
try to send their next R-help e-mail with the new
help.request() function ..

Martin

PD> That's essentially what happened to me (not with 2000 packages, though).
PD> I was looking into the lme4/aod issue - reinstall lme4 - Matrix out of
PD> date - update.packages() - wait for an hour or so for gtk2 and friends
PD> to be updated on my laptop...

PD> -- 
PD> O__   Peter Dalgaard Øster Farimagsgade 5, Entr.B
PD> c/ /'_ --- Dept. of Biostatistics PO Box 2099, 1014 Cph. K
PD> (*) \(*) -- University of Copenhagen   Denmark  Ph:  (+45) 35327918
PD> ~~ - ([EMAIL PROTECTED])  FAX: (+45) 35327907

__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel


Re: [Rd] Outdated dependencies and install.packages()

2008-08-21 Thread Martin Maechler
> "MM" == Martin Maechler <[EMAIL PROTECTED]>
> on Thu, 21 Aug 2008 09:39:13 +0200 writes:

[...]

MM> Note that --- thanks to Kate Mullen's nice help.request() proposal ---

oops!!   s/Kate Mullen/Heather Turner/

both very fine ladies, both in the program committee of
useR!2008,  but I do need to apologize here :  
S.O.R.R.Y...

Martin

MM> one of my top "TODOs" for R-devel is
MM> to finish a generalization of the current
MM> update.packages()
MM> function (that I have not quite finished)
MM> which will allow to only look for updates of specified set of
MM> packages rather than all packages in a given lib.loc
MM> {something that should *not* be triggered by a help.request()
MM> for a user (as ours) who has ~ 2000 R packages installed}.

__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel


Re: [Rd] Outdated dependencies and install.packages()

2008-08-21 Thread Peter Dalgaard
Martin Maechler wrote:
>> "PD" == Peter Dalgaard <[EMAIL PROTECTED]>
>> on Wed, 20 Aug 2008 17:06:36 +0200 writes:
>> 
>
> PD> Prof Brian Ripley wrote:
> >> On Wed, 20 Aug 2008, Peter Dalgaard wrote:
> >> 
> >>> This looks like a buglet:
> >>> 
>  install.packages("lme4", depend=TRUE, lib="~/Rlibrary/")
> >>> --- Please select a CRAN mirror for use in this session ---
> >>> [...snip...]
> >>> ** preparing package for lazy loading
> >>> Error: package 'Matrix' 0.999375-4 was found, but >= 0.999375.11 is
> >>> required by 'lme4'
> >>> Execution halted
> >>> ERROR: lazy loading failed for package 'lme4'
> >>> ** Removing '/home/bs/pd/Rlibrary/lme4'
> >>> ** Restoring previous '/home/bs/pd/Rlibrary/lme4'
> >>> 
> >>> and the DESCRIPTION file for lme 4 does have
> >>> 
> >>> Depends: methods, R(≥ 2.7.0), Matrix(≥ 0.999375-11), lattice
> >>> 
> >>> 
> >>> 
> >>> Looks like we're either not checking the version requirement of
> >>> dependencies, or something is making 4 > 11... (from my reading of the
> >>> code, it is the former, but I could have missed something).
> >> 
> >> We don't check version requirements of dependencies in
> >> install.packages(). That's a minefield related to having multiple
> >> versions of a package on a system and which gets loaded/namespace
> >> loaded, so you can easily have the needed version but pick up a
> >> different one.
> >> 
> >> Depending on whether lazy-loading is in place (and various other
> >> issues) you may or may not need the dependencies to install the
> >> package.  It's also a problem that you can update dependencies to
> >> incompatible ones, so the versions available at installation are only
> >> part of the story.
> >> 
> >> I don't see why the message reports .11 not -11, but that may be
> >> related to "package_version" classes.
> >> 
> >>> We should at least document the behaviour.
> >> 
> >> I am not sure where you think it should be documented and is not.
> >> But for install.packages():
> >> 
> >> dependencies: logical indicating to also install uninstalled packages
> >> on which these packages depend/suggest/import (and so on
> >> recursively).  Not used if 'repos = NULL'. Can also be a
> >> character vector, a subset of 'c("Depends", "Imports",
> >> "Suggests")'.
> >> 
> >> 'uninstalled' seems pretty clear to me.
> >> 
> PD> It isn't. Matrix 0.999375-11 was 'uninstalled'. The above could just
> PD> mean that if you installed it, it wouldn't be installed again.
>
> PD> Something like "Notice that version dependencies are not checked." 
> would
> PD> help. (Assuming that people read the help page.)
>
> Or even more:
>
> "
> Notice that version dependencies are not checked such that
>  outdated versions of installed packages are \emph{not} updated.
>  Consider using  \code{\link{update.packages}()} before 
>  \code{install.packages()}.
> "
>
> Note that --- thanks to Kate Mullen's nice help.request() proposal ---
> one of my top "TODOs" for R-devel is
> to finish a generalization of the current
>   update.packages()
> function (that I have not quite finished)
> which will allow to only look for updates of specified set of
> packages rather than all packages in a given lib.loc
> {something that should *not* be triggered by a help.request()
>  for a user (as ours) who has ~ 2000 R packages installed}.
>
> Martin
>   
That's essentially what happened to me (not with 2000 packages, though).
I was looking into the lme4/aod issue - reinstall lme4 - Matrix out of
date - update.packages() - wait for an hour or so for gtk2 and friends
to be updated on my laptop...

-- 
   O__   Peter Dalgaard Øster Farimagsgade 5, Entr.B
  c/ /'_ --- Dept. of Biostatistics PO Box 2099, 1014 Cph. K
 (*) \(*) -- University of Copenhagen   Denmark  Ph:  (+45) 35327918
~~ - ([EMAIL PROTECTED])  FAX: (+45) 35327907

__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel


Re: [Rd] Outdated dependencies and install.packages()

2008-08-21 Thread Martin Maechler
> "PD" == Peter Dalgaard <[EMAIL PROTECTED]>
> on Wed, 20 Aug 2008 17:06:36 +0200 writes:

PD> Prof Brian Ripley wrote:
>> On Wed, 20 Aug 2008, Peter Dalgaard wrote:
>> 
>>> This looks like a buglet:
>>> 
 install.packages("lme4", depend=TRUE, lib="~/Rlibrary/")
>>> --- Please select a CRAN mirror for use in this session ---
>>> [...snip...]
>>> ** preparing package for lazy loading
>>> Error: package 'Matrix' 0.999375-4 was found, but >= 0.999375.11 is
>>> required by 'lme4'
>>> Execution halted
>>> ERROR: lazy loading failed for package 'lme4'
>>> ** Removing '/home/bs/pd/Rlibrary/lme4'
>>> ** Restoring previous '/home/bs/pd/Rlibrary/lme4'
>>> 
>>> and the DESCRIPTION file for lme 4 does have
>>> 
>>> Depends: methods, R(≥ 2.7.0), Matrix(≥ 0.999375-11), lattice
>>> 
>>> 
>>> 
>>> Looks like we're either not checking the version requirement of
>>> dependencies, or something is making 4 > 11... (from my reading of the
>>> code, it is the former, but I could have missed something).
>> 
>> We don't check version requirements of dependencies in
>> install.packages(). That's a minefield related to having multiple
>> versions of a package on a system and which gets loaded/namespace
>> loaded, so you can easily have the needed version but pick up a
>> different one.
>> 
>> Depending on whether lazy-loading is in place (and various other
>> issues) you may or may not need the dependencies to install the
>> package.  It's also a problem that you can update dependencies to
>> incompatible ones, so the versions available at installation are only
>> part of the story.
>> 
>> I don't see why the message reports .11 not -11, but that may be
>> related to "package_version" classes.
>> 
>>> We should at least document the behaviour.
>> 
>> I am not sure where you think it should be documented and is not.
>> But for install.packages():
>> 
>> dependencies: logical indicating to also install uninstalled packages
>> on which these packages depend/suggest/import (and so on
>> recursively).  Not used if 'repos = NULL'. Can also be a
>> character vector, a subset of 'c("Depends", "Imports",
>> "Suggests")'.
>> 
>> 'uninstalled' seems pretty clear to me.
>> 
PD> It isn't. Matrix 0.999375-11 was 'uninstalled'. The above could just
PD> mean that if you installed it, it wouldn't be installed again.

PD> Something like "Notice that version dependencies are not checked." would
PD> help. (Assuming that people read the help page.)

Or even more:

"
Notice that version dependencies are not checked such that
 outdated versions of installed packages are \emph{not} updated.
 Consider using  \code{\link{update.packages}()} before 
 \code{install.packages()}.
"

Note that --- thanks to Kate Mullen's nice help.request() proposal ---
one of my top "TODOs" for R-devel is
to finish a generalization of the current
  update.packages()
function (that I have not quite finished)
which will allow to only look for updates of specified set of
packages rather than all packages in a given lib.loc
{something that should *not* be triggered by a help.request()
 for a user (as ours) who has ~ 2000 R packages installed}.

Martin

__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel


Re: [Rd] Outdated dependencies and install.packages()

2008-08-20 Thread Peter Dalgaard
Prof Brian Ripley wrote:
> On Wed, 20 Aug 2008, Peter Dalgaard wrote:
>
>> This looks like a buglet:
>>
>>> install.packages("lme4", depend=TRUE, lib="~/Rlibrary/")
>> --- Please select a CRAN mirror for use in this session ---
>> [...snip...]
>> ** preparing package for lazy loading
>> Error: package 'Matrix' 0.999375-4 was found, but >= 0.999375.11 is
>> required by 'lme4'
>> Execution halted
>> ERROR: lazy loading failed for package 'lme4'
>> ** Removing '/home/bs/pd/Rlibrary/lme4'
>> ** Restoring previous '/home/bs/pd/Rlibrary/lme4'
>>
>> and the DESCRIPTION file for lme 4 does have
>>
>> Depends: methods, R(≥ 2.7.0), Matrix(≥ 0.999375-11), lattice
>> 
>>
>>
>> Looks like we're either not checking the version requirement of
>> dependencies, or something is making 4 > 11... (from my reading of the
>> code, it is the former, but I could have missed something).
>
> We don't check version requirements of dependencies in
> install.packages(). That's a minefield related to having multiple
> versions of a package on a system and which gets loaded/namespace
> loaded, so you can easily have the needed version but pick up a
> different one.
>
> Depending on whether lazy-loading is in place (and various other
> issues) you may or may not need the dependencies to install the
> package.  It's also a problem that you can update dependencies to
> incompatible ones, so the versions available at installation are only
> part of the story.
>
> I don't see why the message reports .11 not -11, but that may be
> related to "package_version" classes.
>
>> We should at least document the behaviour.
>
> I am not sure where you think it should be documented and is not.
> But for install.packages():
>
> dependencies: logical indicating to also install uninstalled packages
>   on which these packages depend/suggest/import (and so on
>   recursively).  Not used if 'repos = NULL'. Can also be a
>   character vector, a subset of 'c("Depends", "Imports",
>   "Suggests")'.
>
> 'uninstalled' seems pretty clear to me.
>
It isn't. Matrix 0.999375-11 was 'uninstalled'. The above could just
mean that if you installed it, it wouldn't be installed again.

Something like "Notice that version dependencies are not checked." would
help. (Assuming that people read the help page.)

-- 
   O__   Peter Dalgaard Øster Farimagsgade 5, Entr.B
  c/ /'_ --- Dept. of Biostatistics PO Box 2099, 1014 Cph. K
 (*) \(*) -- University of Copenhagen   Denmark  Ph:  (+45) 35327918
~~ - ([EMAIL PROTECTED])  FAX: (+45) 35327907

__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel


Re: [Rd] Outdated dependencies and install.packages()

2008-08-20 Thread Prof Brian Ripley

On Wed, 20 Aug 2008, Peter Dalgaard wrote:


This looks like a buglet:


install.packages("lme4", depend=TRUE, lib="~/Rlibrary/")

--- Please select a CRAN mirror for use in this session ---
[...snip...]
** preparing package for lazy loading
Error: package 'Matrix' 0.999375-4 was found, but >= 0.999375.11 is
required by 'lme4'
Execution halted
ERROR: lazy loading failed for package 'lme4'
** Removing '/home/bs/pd/Rlibrary/lme4'
** Restoring previous '/home/bs/pd/Rlibrary/lme4'

and the DESCRIPTION file for lme 4 does have

Depends: methods, R(≥ 2.7.0), Matrix(≥ 0.999375-11), lattice



Looks like we're either not checking the version requirement of
dependencies, or something is making 4 > 11... (from my reading of the
code, it is the former, but I could have missed something).


We don't check version requirements of dependencies in install.packages(). 
That's a minefield related to having multiple versions of a package on a 
system and which gets loaded/namespace loaded, so you can easily have the 
needed version but pick up a different one.


Depending on whether lazy-loading is in place (and various other issues) 
you may or may not need the dependencies to install the package.  It's 
also a problem that you can update dependencies to incompatible ones, so 
the versions available at installation are only part of the story.


I don't see why the message reports .11 not -11, but that may be 
related to "package_version" classes.



We should at least document the behaviour.


I am not sure where you think it should be documented and is not.
But for install.packages():

dependencies: logical indicating to also install uninstalled packages
  on which these packages depend/suggest/import (and so on
  recursively).  Not used if 'repos = NULL'. Can also be a
  character vector, a subset of 'c("Depends", "Imports",
  "Suggests")'.

'uninstalled' seems pretty clear to me.

--
Brian D. Ripley,  [EMAIL PROTECTED]
Professor of Applied Statistics,  http://www.stats.ox.ac.uk/~ripley/
University of Oxford, Tel:  +44 1865 272861 (self)
1 South Parks Road, +44 1865 272866 (PA)
Oxford OX1 3TG, UKFax:  +44 1865 272595__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel


Re: [Rd] Outdated dependencies and install.packages()

2008-08-20 Thread Martin Morgan
A small addendum is that if the outdated dependency is in the
LinkingTo: field, the error can be more cryptic. Installation then
fails with compilation errors rather than the hint that the dependency
is out of date.

Martin Morgan

Peter Dalgaard <[EMAIL PROTECTED]> writes:

> This looks like a buglet:
>
>> install.packages("lme4", depend=TRUE, lib="~/Rlibrary/")
> --- Please select a CRAN mirror for use in this session ---
> [...snip...]
> ** preparing package for lazy loading
> Error: package 'Matrix' 0.999375-4 was found, but >= 0.999375.11 is
> required by 'lme4'
> Execution halted
> ERROR: lazy loading failed for package 'lme4'
> ** Removing '/home/bs/pd/Rlibrary/lme4'
> ** Restoring previous '/home/bs/pd/Rlibrary/lme4'
>
> and the DESCRIPTION file for lme 4 does have
>
> Depends: methods, R(≥ 2.7.0), Matrix(≥ 0.999375-11), lattice
> 
>
>
> Looks like we're either not checking the version requirement of
> dependencies, or something is making 4 > 11... (from my reading of the
> code, it is the former, but I could have missed something).
>
> We should at least document the behaviour.
>
> -- 
>O__   Peter Dalgaard Øster Farimagsgade 5, Entr.B
>   c/ /'_ --- Dept. of Biostatistics PO Box 2099, 1014 Cph. K
>  (*) \(*) -- University of Copenhagen   Denmark  Ph:  (+45) 35327918
> ~~ - ([EMAIL PROTECTED])  FAX: (+45) 35327907
>
> __
> R-devel@r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel

-- 
Martin Morgan
Computational Biology / Fred Hutchinson Cancer Research Center
1100 Fairview Ave. N.
PO Box 19024 Seattle, WA 98109

Location: Arnold Building M2 B169
Phone: (206) 667-2793

__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel


[Rd] Outdated dependencies and install.packages()

2008-08-20 Thread Peter Dalgaard
This looks like a buglet:

> install.packages("lme4", depend=TRUE, lib="~/Rlibrary/")
--- Please select a CRAN mirror for use in this session ---
[...snip...]
** preparing package for lazy loading
Error: package 'Matrix' 0.999375-4 was found, but >= 0.999375.11 is
required by 'lme4'
Execution halted
ERROR: lazy loading failed for package 'lme4'
** Removing '/home/bs/pd/Rlibrary/lme4'
** Restoring previous '/home/bs/pd/Rlibrary/lme4'

and the DESCRIPTION file for lme 4 does have

Depends: methods, R(≥ 2.7.0), Matrix(≥ 0.999375-11), lattice



Looks like we're either not checking the version requirement of
dependencies, or something is making 4 > 11... (from my reading of the
code, it is the former, but I could have missed something).

We should at least document the behaviour.

-- 
   O__   Peter Dalgaard Øster Farimagsgade 5, Entr.B
  c/ /'_ --- Dept. of Biostatistics PO Box 2099, 1014 Cph. K
 (*) \(*) -- University of Copenhagen   Denmark  Ph:  (+45) 35327918
~~ - ([EMAIL PROTECTED])  FAX: (+45) 35327907

__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel