Interestingly, this issue does not exist for BioConductor packages.
KS
On 09.06.2026 03:14, Jinsong Zhao wrote:> On 6/9/2026 12:16 AM, Duncan Murdoch wrote:
>> There's one other possibility I can see:? maybe
>>
>> ?? .builtDate(repo["Built"]) >?
.builtDate(inst["Built"]))
>>
>> in the needs.install() function in old.packages(), even just after a
>> reinstall.? This could be due to time zone differences or some other
>> bug.? Someone who is experiencing this would have to debug something
>> like that.
>>
>
> Yes, the comparison between the build date of a repository and
> installed packages makes sense. However, my concern is whether it is
> necessary for CRAN to build packages so frequently. For example,
> consider the boot package, which was shipped with R 4.6 and built on
> April 21. I reinstalled R on June 4 and updated all packages
> afterward. The updated boot package was built on June 2. Today, I
> checked again, and the boot package in the CRAN repository was built
> on June 6. This means that if I run update.packages(), it will
> reinstall the boot package at the same version, 1.3-32.
>
> > a <- utils:::.available.both(repos)
> Warning message:
> In utils:::.available.both(repos) :
> ? Some listed binary packages have no source
> > b <- installed.packages()
> > subset(as.data.frame(a), Package == "boot")[,c(2,18)]
> ???? Version?????????????????????????????????????? Built
> boot? 1.3-32 R 4.6.0; ; 2026-06-06 01:01:20 UTC; windows
> > subset(as.data.frame(b), Package == "boot")[,c(3,16)]
> ?????? Version?????????????????????????????????????? Built
> boot??? 1.3-32 R 4.6.0; ; 2026-06-02 01:42:34 UTC; windows
> boot.1? 1.3-32 R 4.6.0; ; 2026-04-24 08:16:13 UTC; windows
>
>
> Best,
> Jinsong
>
>
>> Duncan Murdoch
>>
>> On 2026-06-08 9:47 a.m., Jinsong Zhao wrote:
>>> On 6/8/2026 9:09 PM, Duncan Murdoch wrote:
>>>> On 2026-06-08 8:54 a.m., Karl Schilling wrote:
>>>>> Dear Duncan Murdoch:
>>>>>
>>>>> I did just what you recommended. I have only one library.
>>>>> ?? > lp <- .libPaths()
>>>>> ?? > lp
>>>>> [1] "C:/Program Files/R/R-4.6.0patched/library"
>>>>> ?? > length(lp)
>>>>> [1] 1
>>>>
>>>> That looks suspicious to me.? I haven't used Windows in a
long time,
>>>> but when I did, that directory would have been write
protected.? When
>>>> I would try to install a package there it would fail, and R
would add
>>>> a user library and install there instead. The .libPaths()
vector would
>>>> be changed for the rest of that session, but could revert to
just one
>>>> entry if I started a new session.
>>>>
>>>>>
>>>>> But maybe the post by Jinsong ZZhao is relevent here:
>>>>
>>>> Yes, that could explain everything.? If the date when a binary
package
>>>> is built changes, that could mean that different C libraries
were
>>>> linked into it, and you should use the newer one. Or it might
just
>>>> mean that CRAN rebuilt it unnecessarily, but there's no way
for R to
>>>> know that.
>>>>
>>> I think that CRAN rebuilt the package unnecessarily is the root of
the
>>> problem. As I know, for a major version, such as 4.6.x, the tool
chains
>>> will keep unchanging for a long time, so it is not necessary to
rebuilt
>>> the package with same version nearly every day.
>>>
>>> Best,
>>>
>>> Jinsong
>>>
>>>> Duncan Murdoch
>>>>
>>>>
>>>>
>>>>>
>>>>>> The root of the problem is that old.packages have
updated the
>>>>>> internal
>>>>>> function needs.install, which compares the built date
of repo and
>>>>>> the
>>>>>> installed packages. And it seems that repo packages
have newer built
>>>>>> date, though I do not know why.
>>>>>>
>>>>>> So reinstallation R and all packages could not solve
the problem.
>>>>>>
>>>>>> Best,
>>>>>> Jinsong
>>>>>>
>>>>>> PS: the internal function need.install:
>>>>>>
>>>>>> ????? .ts <- function(x) if (isTRUE(!is.na(x)))
>>>>>> ????????? as.POSIXlt(x, optional = TRUE, tz =
"UTC")
>>>>>> ????? else NA
>>>>>> ????? needs.install <- function(repo, inst)
>>>>>> ((package_version(repo["Version"]) >
>>>>>> ????????? package_version(inst["Version"]))
||
>>>>>> (package_version(repo["Version"])
=>>>>>> ????????? package_version(inst["Version"])
&&
>>>>>> (isTRUE(.builtDate(repo["Built"]) >
>>>>>> ????????? .builtDate(inst["Built"])) ||
>>>>>> isTRUE(.ts(repo["Published"]) >
>>>>>> ????????? .ts(inst["Published"])))))
>>>>>
>>>>>
>>>>> I reinstalled r 4.6patched and all packages on May 28.
Later that
>>>>> day,
>>>>> then, "update.packages" did? result in only three
packages
>>>>> highlighted
>>>>> for updating. A couple of days later, ALL my packages were
again
>>>>> in the
>>>>> list to be updated. And just as documented in the post by
>>>>> guido.hooiveld at wur.nl, my installed packages had the
same version
>>>>> numbers as those in the repository.
>>>>> Looking at the repository
>>>>> https://cloud.r-project.org/bin/windows/contrib/4.6, I
realized
>>>>> that the
>>>>> "Last modified" date was more recent (mostly June
7) - though the
>>>>> version numbers of my installed packages were identical to
those
>>>>> in the
>>>>> repository.
>>>>>
>>>>> So does "Last modified" reflect / affect the
.builtDate in the above
>>>>> function? And do different dates for "Last
modified" imply changes
>>>>> even
>>>>> if the version numbers are unchanged?
>>>>>
>>>>> Thank you so much for your help,
>>>>>
>>>>> Karl Schilling
>>>>>
>>>>>
>>>>> On 08.06.2026 14:01, Duncan Murdoch wrote:
>>>>>> I think what needs to happen here is that someone who
is
>>>>>> experiencing
>>>>>> this needs to debug it.? It sounds as though
old.packages() is
>>>>>> identifying packages that you think don't need
replacing.? You
>>>>>> need to
>>>>>> figure out why this is happening.
>>>>>>
>>>>>> A guess:
>>>>>>
>>>>>> ???- Your .libPaths() vector (which is used as the
default for
>>>>>> lib.loc)
>>>>>> contains two or more library paths.? You have old
packages in one of
>>>>>> those paths, and when you install new ones, they go
into the other
>>>>>> path.
>>>>>>
>>>>>> You can diagnose this as follows:
>>>>>>
>>>>>> ???1.? Print .libPaths().? How many entries does it
have?
>>>>>> ???2.? If it has two (or more) entries, run the
following:
>>>>>>
>>>>>> ???????? lp <- .libPaths()
>>>>>> ???????? both <- intersect(list.files(lp[1]),
list.files(lp[2]))
>>>>>> ???????? print(both)
>>>>>>
>>>>>> ?????? (If you have more than two entries, do this for
all pairs.)
>>>>>>
>>>>>> ?????? This will list all the packages that you have
installed in
>>>>>> both
>>>>>> places.? On my system, the first entry is my user
library, the
>>>>>> second
>>>>>> is the system library.? You generally need admin
permissions to
>>>>>> modify
>>>>>> the system library, so if you sometimes run with admin
>>>>>> permissions and
>>>>>> sometimes don't, you can end up with different
versions in those two
>>>>>> places.
>>>>>>
>>>>>> 3.?? To find out if you have different versions, run
>>>>>> packageVersion(pkgname, lp[1]) and compare to
>>>>>> packageVersion(pkgname,
>>>>>> lp[2]).? For example, I see that I have
"bslib" installed in both
>>>>>> places, and I see
>>>>>>
>>>>>> ??? > packageVersion("bslib", lp[1])
>>>>>> ??? [1] ?0.11.0?
>>>>>> ??? > packageVersion("bslib", lp[2])
>>>>>> ??? [1] ?0.10.0?
>>>>>>
>>>>>> So it looks as though my system library has an obsolete
version
>>>>>> installed.? I should delete it.
>>>>>>
>>>>>> Duncan Murdoch
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> On 2026-06-08 7:40 a.m., Paulo Barata wrote:
>>>>>>> To the R-Help list,
>>>>>>>
>>>>>>> I have also the same problem here. Most often when
I attempt to
>>>>>>> update my packages, it seems that most of them,
maybe all of them,
>>>>>>> are flagged as needing update, even when they were
updated just the
>>>>>>> previous day.
>>>>>>>
>>>>>>> I do not use RStudio, I only use R directly.
Currently, I am
>>>>>>> using R
>>>>>>> version 4.6.0 Patched (2026-05-29 r90087 ucrt), on
Windows 10
>>>>>>> Professional.
>>>>>>>
>>>>>>> Paulo Barata
>>>>>>>
>>>>>>> Rio de Janeiro - Brazil
>>>>>>>
>>>>>>> -------------------------------------------------
>>>>>>>
>>>>>>>>
>>>>>>>> Message: 1
>>>>>>>> Date: Sun, 7 Jun 2026 16:30:34 +0200
>>>>>>>> From: Karl Schilling <karl.schilling at
uni-bonn.de>
>>>>>>>> To: r-help at r-project.org
>>>>>>>> Subject: Re: [R] issue with update.packages(),
library 'utils'
>>>>>>>> Message-ID:
<240738c2-9935-40a9-b461-c82776cd1a77 at uni-bonn.de>
>>>>>>>> Content-Type: text/plain;
charset="utf-8"; Format="flowed"
>>>>>>>>
>>>>>>>> I have exactly the same problem as reported by
Guido Hooiveld.
>>>>>>>>
>>>>>>>> I had previously attributed my problem with an
inappropriate
>>>>>>>> way of
>>>>>>>> updating my packages when I updated from R 4.5
to 4.6. I then
>>>>>>>> completely
>>>>>>>> reinstalled R4.6 and all packages, which
"solved" the problem - at
>>>>>>>> least
>>>>>>>> when I run "update.packages2 the same day
I reinstalled everything
>>>>>>>> (see
>>>>>>>> my postings and related answers from May27-29.
>>>>>>>> Alas, the next day the problem was back again,
and ALL my packages
>>>>>>>> updated the day before were now identified as
outdated.
>>>>>>>>
>>>>>>>> I have no idea about the background of this
problem. But a cue
>>>>>>>> may be
>>>>>>>> possibly come from the observation that when I
use RStudio to
>>>>>>>> check for
>>>>>>>> packages that need to be updated (RStudie
>Tools > Check for
>>>>>>>> Package
>>>>>>>> Updates ...), this does not happen.
>>>>>>>>
>>>>>>>> Karl Schilling
>>>>>>>>
>>>>>>>>
>>>>>>>> On 04.06.2026 13:49, Hooiveld, Guido via R-help
wrote:
>>>>>>>>> Hi, I got confused by the recent behavior
of update.packages()
>>>>>>>>> from
>>>>>>>>> the library utils. Since a while it reports
that updates of ALL
>>>>>>>>> installed packages are available at the
CRAN repository but turns
>>>>>>>>> out
>>>>>>>>> that this is not the case for MOST
packages. In other words,
>>>>>>>>> most of
>>>>>>>>> the installed packages on my computer are
of the same version
>>>>>>>>> as on
>>>>>>>>> the repository, yet it still is reported
that an update for these
>>>>>>>>> packages is available. Of course I can
re-install these (current)
>>>>>>>>> packages, but that is IMHO a waste of
time/bandwidth. I had a
>>>>>>>>> look at
>>>>>>>>> it, and to me it seems this also somehow
relates to the function
>>>>>>>>> old.packages(). That is, old.packages()
identifies also
>>>>>>>>> packages as
>>>>>>>>> outdated, whereas they are clearly not...
?? See code below. Any
>>>>>>>>> suggestion on what may be causing this, and
how to avoid it?
>>>>>>>>> Thanks,
>>>>>>>>> Guido
>>>>>>>>>> ## update.packages() identifies that
updates for e.g. ##
>>>>>>>>>> 'ActivePathways' and
'alphavantager' are available for my
>>>>>>>>>> installation. ## Yet, the installed
version is the same as on
>>>>>>>>>> the
>>>>>>>>>> repository. ## (Note that after these 2
notifications I
>>>>>>>>>> cancelled
>>>>>>>>>> update.packages()
>>>>>>>>>>
update.packages(repos=https://cloud.r-project.org)
>>>>>>>>> ActivePathways : Version 2.0.6 installed in
C:/Program
>>>>>>>>> Files/R/R-4.6.0/library Version 2.0.6
available at
>>>>>>>>>
https://cloud.r-project.org/bin/windows/contrib/4.6
>>>>>>>>> alphavantager :
>>>>>>>>> Version 0.1.3 installed in C:/Program
Files/R/R-4.6.0/library
>>>>>>>>> Version
>>>>>>>>> 0.1.3 available at
>>>>>>>>>
https://cloud.r-project.org/bin/windows/contrib/4.6
>>>>>>>>> cancelled by user Warning message: In
.available.both(repos,
>>>>>>>>> method,
>>>>>>>>> ...) : Some listed binary packages have no
source
>>>>>>>>>> ## check and compare the output of
old.packages() old.pkgs <-
>>>>>>>>>>
old.packages(repos=https://cloud.r-project.org)
>>>>>>>>> Warning message: In .available.both(repos,
method, ...) : Some
>>>>>>>>> listed
>>>>>>>>> binary packages have no source
>>>>>>>>>> head(old.pkgs)
>>>>>>>>> Package LibPath Installed ActivePathways
"ActivePathways"
>>>>>>>>> "C:/Program
>>>>>>>>> Files/R/R-4.6.0/library"
"2.0.6" alphavantager "alphavantager"
>>>>>>>>> "C:/Program
Files/R/R-4.6.0/library" "0.1.3" anytime "anytime"
>>>>>>>>> "C:/Program
Files/R/R-4.6.0/library" "0.3.13" aod "aod"
>>>>>>>>> "C:/Program
>>>>>>>>> Files/R/R-4.6.0/library"
"1.3.3" ape "ape" "C:/Program
>>>>>>>>> Files/R/R-4.6.0/library"
"5.8-1" aplot "aplot" "C:/Program
>>>>>>>>> Files/R/R-4.6.0/library"
"0.2.9" Built ActivePathways "R 4.6.0; ;
>>>>>>>>> 2026-05-30 02:41:50 UTC; windows"
alphavantager "R 4.6.0; ;
>>>>>>>>> 2026-05-30
>>>>>>>>> 03:56:11 UTC; windows" anytime "R
4.6.0; x86_64-w64-mingw32;
>>>>>>>>> 2026-05-30 01:03:29 UTC; windows" aod
"R 4.6.0; ; 2026-05-30
>>>>>>>>> 01:07:09
>>>>>>>>> UTC; windows" ape "R 4.6.0;
x86_64-w64-mingw32; 2026-05-30
>>>>>>>>> 02:11:50
>>>>>>>>> UTC; windows" aplot "R 4.6.0; ;
2026-05-30 03:14:45 UTC; windows"
>>>>>>>>> ReposVer Repository ActivePathways
"2.0.6"
>>>>>>>>>
https://cloud.r-project.org/bin/windows/contrib/4.6 alphavantager
>>>>>>>>> "0.1.3"
https://cloud.r-project.org/bin/windows/contrib/4.6
>>>>>>>>> anytime
>>>>>>>>> "0.3.13"
https://cloud.r-project.org/bin/windows/contrib/4.6 aod
>>>>>>>>> "1.3.3"
https://cloud.r-project.org/bin/windows/contrib/4.6 ape
>>>>>>>>> "5.8-1"
https://cloud.r-project.org/bin/windows/contrib/4.6 aplot
>>>>>>>>> "0.2.9"
https://cloud.r-project.org/bin/windows/contrib/4.6
>>>>>>>>>> ## Of the 519 packages on my system,
only 3 are really
>>>>>>>>>> outdated. ##
>>>>>>>>>> Note that these are NOT
ActivePathways' and 'alphavantager' that
>>>>>>>>>> were
>>>>>>>>>> identified ## by update.packages()
above. length(
>>>>>>>>>> old.pkgs[,"Installed"] ==
old.pkgs[,"ReposVer"] )
>>>>>>>>> [1] 519
>>>>>>>>>> sum( old.pkgs[,"Installed"]
== old.pkgs[,"ReposVer"] )
>>>>>>>>> [1] 516
>>>>>>>>>> sum( old.pkgs[,"Installed"]
!= old.pkgs[,"ReposVer"] )
>>>>>>>>> [1] 3
>>>>>>>>>> old.pkgs[
old.pkgs[,"Installed"] != old.pkgs[,"ReposVer"] ,]
>>>>>>>>> Package LibPath Installed limSolve
"limSolve" "C:/Program
>>>>>>>>> Files/R/R-4.6.0/library"
"2.0.1" RCurl "RCurl" "C:/Program
>>>>>>>>> Files/R/R-4.6.0/library"
"1.98-1.18" rjsoncons "rjsoncons"
>>>>>>>>> "C:/Program
>>>>>>>>> Files/R/R-4.6.0/library"
"1.3.2" Built limSolve "R 4.6.0;
>>>>>>>>> x86_64-w64-mingw32; 2026-05-30 01:01:26
UTC; windows" RCurl "R
>>>>>>>>> 4.6.0;
>>>>>>>>> x86_64-w64-mingw32; 2026-04-21 00:45:50
UTC; windows"
>>>>>>>>> rjsoncons "R
>>>>>>>>> 4.6.0; x86_64-w64-mingw32; 2026-05-30
03:10:49 UTC; windows"
>>>>>>>>> ReposVer
>>>>>>>>> Repository limSolve "2.0.2"
>>>>>>>>>
https://cloud.r-project.org/bin/windows/contrib/4.6 RCurl
>>>>>>>>> "1.98-1.19"
>>>>>>>>>
https://cloud.r-project.org/bin/windows/contrib/4.6 rjsoncons
>>>>>>>>> "1.3.3"
>>>>>>>>>
https://cloud.r-project.org/bin/windows/contrib/4.6
>>>>>>>>>> ## sessionInfo() sessionInfo()
>>>>>>>>> R version 4.6.0 (2026-04-24 ucrt) Platform:
>>>>>>>>> x86_64-w64-mingw32/x64
>>>>>>>>> Running under: Windows 11 x64 (build 22631)
Matrix products:
>>>>>>>>> default
>>>>>>>>> LAPACK version 3.12.1 locale: [1]
LC_COLLATE=English_United
>>>>>>>>> States.utf8 [2] LC_CTYPE=English_United
States.utf8 [3]
>>>>>>>>> LC_MONETARY=English_United States.utf8 [4]
LC_NUMERIC=C [5]
>>>>>>>>> LC_TIME=English_United States.utf8 time
zone: Europe/Amsterdam
>>>>>>>>> tzcode
>>>>>>>>> source: internal attached base packages:
[1] stats graphics
>>>>>>>>> grDevices
>>>>>>>>> utils datasets methods base loaded via a
namespace (and not
>>>>>>>>> attached):
>>>>>>>>> [1] compiler_4.6.0 tools_4.6.0
>>>>>>>>>
--------------------------------------------------------- Guido
>>>>>>>>> Hooiveld, PhD Nutrition, Metabolism &
Genomics Group Division of
>>>>>>>>> Human
>>>>>>>>> Nutrition & Health Wageningen
University the Netherlands Visiting
>>>>>>>>> address: Mail address: HELIX (Building
124), room 2048 Stippeneng
>>>>>>>>> 4 PO
>>>>>>>>> Box 17 6708 WE Wageningen 6700 AA
Wageningen the Netherlands the
>>>>>>>>> Netherlands tel: (+) 31 317 485788 fax: (+)
31 317 483342 email:
>>>>>>>>> guido.hooiveld at wur.nl internet:
http://www.humannutrition.nl
>>>>>>>>>
http://scholar.google.com/citations?user=qFHaMnoAAAAJ
>>>>>>>>>
http://www.scopus.com/authid/detail.url?authorId=6603101814
>>>>>>>>>
______________________________________________
>>>>>>>>> R-help at r-project.org
>>>>>>>>> mailing list -- To UNSUBSCRIBE and more,
see
>>>>>>>>>
https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the
>>>>>>>>> posting guide
https://www.R-project.org/posting-guide.html and
>>>>>>>>> provide
>>>>>>>>> commented, minimal, self-contained,
reproducible code.
>>>>>>>>
>>>>>>>> ------------------------------
>>>>>>>>
>>>>>>>> Message: 2
>>>>>>>> Date: Sun, 7 Jun 2026 23:23:43 +0200
>>>>>>>> From: Iago <iagogv at disroot.org>
>>>>>>>> To: r-help at r-project.org
>>>>>>>> Subject: Re: [R] issue with update.packages(),
library 'utils'
>>>>>>>> Message-ID:
<bf1dc0c5-3a67-42c9-b5e9-05fada44e91f at disroot.org>
>>>>>>>> Content-Type: text/plain;
charset="utf-8"
>>>>>>>>
>>>>>>>> I had this problem too and I don?t use RStudio,
so this is/was
>>>>>>>> an R
>>>>>>>> issue. Regarding the previous discussion on
this issue, the
>>>>>>>> curious
>>>>>>>> thing is that it had never occurred before when
updating from
>>>>>>>> 4.4 to
>>>>>>>> 4.5, from 4.3 to 4.4, etc., at least to me.
>>>>>>>>
>>>>>>>> Iago
>>>>>>>>
>>>>>>>
>>>>>>> ______________________________________________
>>>>>>> R-help at r-project.org mailing list -- To
UNSUBSCRIBE and more, see
>>>>>>> https://stat.ethz.ch/mailman/listinfo/r-help
>>>>>>> PLEASE do read the posting guide
>>>>>>> https://www.R-project.org/posting-guide.html
>>>>>>> and provide commented, minimal, self-contained,
reproducible code.
>>>>>>
>>>>>> ______________________________________________
>>>>>> R-help at r-project.org mailing list -- To UNSUBSCRIBE
and more, see
>>>>>> https://stat.ethz.ch/mailman/listinfo/r-help
>>>>>> PLEASE do read the posting guide
>>>>>> https://www.R-project.org/posting-guide.html
>>>>>> and provide commented, minimal, self-contained,
reproducible code.
>>>>
>>>> ______________________________________________
>>>> R-help at r-project.org mailing list -- To UNSUBSCRIBE and
more, see
>>>> https://stat.ethz.ch/mailman/listinfo/r-help
>>>> PLEASE do read the posting guide
>>>> https://www.R-project.org/posting-guide.html
>>>> and provide commented, minimal, self-contained, reproducible
code.
>>>
>