Skip to content

[R-pkg-devel] install.packages() seems not to select the latest suitable version

4 messages · Dirk Eddelbuettel, John C Nash, Adelchi Azzalini

#
When I updated package mnormt to version 2.0.0 in June (now at 2.0.1), 
at the stage of --as-cran checking, there was a compilation error,  
which was overcome by setting the 

Depends:	R (? 4.0.0)

With this option, all worked fine.

However, shortly afterwards, complaints started coming, 
either from users or from maintainers of packages making use of mnormt,
because this high version dependence causes troubles to some people,
such as those using Debian installations, currently at a much lower 
R version.

At the time I select that dependence value, I relied on the fact that
install.packages() selected the most recent suitable version of a package,
given the existing R installation. I expected that people without
R 4.0.0 would have the older version of mnormt, 1.5-7, installed.
As my memory goes (and the memory of other people too), this was 
the working in the past, but apparently not any more. 

For instance, this is a passage from a specific user:
 
"install.packages() used tp just install the most recent available 
for your current version of R.  In the past it might have done just that, 
but that's clearly not the case currently."

Can anyone clarify the reason of this (apparent? real?) change?
...and possibly indicate a way who people with lower R version (and perhaps
limited R expertise) can install the older version of mnormt, 1.5-7, 
without much hassle?

 
----
Adelchi Azzalini
http://azzalini.stat.unipd.it/
#
Hi Adelchi,
On 28 July 2020 at 11:46, Adelchi Azzalini wrote:
| When I updated package mnormt to version 2.0.0 in June (now at 2.0.1), 
| at the stage of --as-cran checking, there was a compilation error,  
| which was overcome by setting the 
| 
| Depends:	R (? 4.0.0)
| 
| With this option, all worked fine.
| 
| However, shortly afterwards, complaints started coming, 
| either from users or from maintainers of packages making use of mnormt,
| because this high version dependence causes troubles to some people,
| such as those using Debian installations, currently at a much lower 
| R version.

You can point those users to a) the r-sig-debian list and b) the Debian
directory at CRAN as we have always had "backports" of the current R to older
Debian releases---thanks to the work by Johannes Ranke "backporting" whatever
my current Debian packages of R are.

Moreover, you can also point them at `apt install r-cran-mnormt` -- I have
maintained your package within Debian since 2007 (!!) and continue to do so
giving Debian (and Ubuntu) users the choice between a distro binary and
installation from CRAN source. 
 
| At the time I select that dependence value, I relied on the fact that
| install.packages() selected the most recent suitable version of a package,
| given the existing R installation. I expected that people without
| R 4.0.0 would have the older version of mnormt, 1.5-7, installed.
| As my memory goes (and the memory of other people too), this was 
| the working in the past, but apparently not any more. 

I don't think that is quite correct. The CRAN repo is always set up for the
currently released version, and may allow constraints such 'R (>= 4.0.0)'
imposing the current (major) release.

There is no recent change in this behavior.

| For instance, this is a passage from a specific user:
|  
| "install.packages() used tp just install the most recent available 
| for your current version of R.  In the past it might have done just that, 
| but that's clearly not the case currently."

Yes and no. I don't think this correctly stated. `install.packages()` always
picks the most recent version, but this may also require running _the
current_ R release.  I disagree about "not the case currently" -- no change
as stated above.

| Can anyone clarify the reason of this (apparent? real?) change?
| ...and possibly indicate a way who people with lower R version (and perhaps
| limited R expertise) can install the older version of mnormt, 1.5-7, 
| without much hassle?

"Versioned" installs were never supported by `install.packages()`.

But one could always download an older version to a local file, and point
install.packages() at that file (and setting 'repos=NULL'), or use `R CMD
INSTALL` directly. No change there either.

Dirk
#
Possibly the "old" site-library is not getting over-written. I had to
manually delete.

See https://www.mail-archive.com/r-help at r-project.org/msg259132.html

JN
On 2020-07-28 7:21 a.m., Dirk Eddelbuettel wrote:
2 days later
#
Many thanks for your detailed explanations/annotations.

Adelchi