Hey everyone,
I am having some issues updating some packages. I am using Bioconductor 3.18
and sometimes, when I want to update my packages using BiocManager::install()
(or, if I install a specific package), I am asked, if I want to update some packages. So far so normal and I mostly select all then. Most of the packages are updated, but some simply aren't. I don't get a warning or error for them, but if I rerun BiocManager::install()
, they still show up as old packages. Right now it's Biostrings
and edgeR
. For month the package DBI
showed up as old, until I simply installed it from source. I could do the same for Biostrings
and edgeR
, I guess, but I wonder why this happens and why I don't get any error/warning message. I guess this is because some updates are released and are not yet available precompiled for my arch (arm64
; Apple Silicon).
The same also happens for some CRAN packages that simply don't update for some time, till some weeks later they can be updated.
Any explanation?
Here's my complete output:
> BiocManager::install()
'getOption("repos")' replaces Bioconductor standard repositories, see 'help("repositories", package =
"BiocManager")' for details.
Replacement repositories:
CRAN: https://cran.rstudio.com/
Bioconductor version 3.18 (BiocManager 1.30.22), R 4.3.2 (2023-10-31)
Old packages: 'Biostrings', 'edgeR'
Update all/some/none? [a/s/n]:
a
trying URL 'https://bioconductor.org/packages/3.18/bioc/bin/macosx/big-sur-arm64/contrib/4.3/Biostrings_2.70.1.tgz'
Content type 'application/x-gzip' length 14458224 bytes (13.8 MB)
==================================================
downloaded 13.8 MB
trying URL 'https://bioconductor.org/packages/3.18/bioc/bin/macosx/big-sur-arm64/contrib/4.3/edgeR_4.0.12.tgz'
Content type 'application/x-gzip' length 2916094 bytes (2.8 MB)
==================================================
downloaded 2.8 MB
The downloaded binary packages are in
/var/folders/ws/vdb_nvyj35g9ck_srpvqpccm0000gn/T//Rtmpe0k3Id/downloaded_packages
And then, if I do it again:
> BiocManager::install()
'getOption("repos")' replaces Bioconductor standard repositories, see 'help("repositories", package =
"BiocManager")' for details.
Replacement repositories:
CRAN: https://cran.rstudio.com/
Bioconductor version 3.18 (BiocManager 1.30.22), R 4.3.2 (2023-10-31)
Old packages: 'Biostrings', 'edgeR'
Update all/some/none? [a/s/n]:
a
trying URL 'https://bioconductor.org/packages/3.18/bioc/bin/macosx/big-sur-arm64/contrib/4.3/Biostrings_2.70.1.tgz'
Content type 'application/x-gzip' length 14458224 bytes (13.8 MB)
==================================================
downloaded 13.8 MB
trying URL 'https://bioconductor.org/packages/3.18/bioc/bin/macosx/big-sur-arm64/contrib/4.3/edgeR_4.0.12.tgz'
Content type 'application/x-gzip' length 2916094 bytes (2.8 MB)
==================================================
downloaded 2.8 MB
The downloaded binary packages are in
/var/folders/ws/vdb_nvyj35g9ck_srpvqpccm0000gn/T//Rtmpe0k3Id/downloaded_packages
Thanks for pointing this out. The title suggests there is an error state thrown but I think you are referring to an apparent error in BiocManager operations. Let's get some details; I am wedded to the devel branch at the moment but I think I can see what you are talking about:
So if I read this correctly, I updated edgeR and then am told it is old and a candidate for updating. Indeed the issue is that a simple use of BiocManager::install will seek a binary version of the package. If I add type="source" to my installation request, which on macos requires availability of xcode for compilation support, then this loopy behavior of checking for available updates goes away.
Thanks for the reply. I also posted this at biostars and I updated the title and entered my whole output. I hope it's less confusing now.
So, if I got you correctly, there's not much I can do (besides compiling from source). I just have to wait for a compiled version. Is there anything like
type = no_source
?