It seems that the latest R/4.2.1 version is missing some packages, although they are mentioned in the announce post New software installed R 4.2.1 ?
Take for example tidyverse and sf, both are on the list but not installed? It seems it is an omission, as tidyverse was there for almost all versions (check find /opt/ebsofts/R -type d -name "*tidyverse*" -print).
Also, when running module spider R/4.2.1, zero Included extensions are listed, unlike previous versions (and unlike in the post?)
Just following-up on this, besides missing packages (tidyverse, sf), it seems there are also packages that were not well installed?
See the empty folder for package terra (ls /opt/ebsofts/R/4.2.1-foss-2022a/lib64/R/library/terra), which is not empty for other versions (check ls /opt/ebsofts/R/4.2.0-foss-2021b/lib64/R/library/terra for example).
The problem seems to be the same on yggdrasil, with the same issues (missing packages, weird terra folder), presumably installed with the same problematic script?
Oh nice, great to hear about the new installation!
Unfortunately, it looks like the problem was âsolvedâ by offering much less extensions than before? I count up to 1000 packages installed with 4.2.0, but only ~110 with 4.3.3?
Ideally, do you think you could maintain consistency with the same packages pre-compiled across R versions? If not, would it be possible to include at least the package tidyverse with R 4.3.3? It has become the most popular R package, so is likely so be useful to many users here!?
Thanks!
For a rough count of packages:
find /opt/ebsofts/R/4.3.3-*/lib64/R/library/* -maxdepth 0 -type d | wc -l
find /opt/ebsofts/R/4.2.0-*/lib64/R/library/* -maxdepth 0 -type d | wc -l
We are using EasyBuild to build software on our HPC cluster. Each build recipe is submitted through a strict validation process to ensure reproducibility across different systems.
We follow their release as closely as possible to avoid any unexpected behavior.
I built R/4.3.3 using the latest release of EasyBuild, published last month and available here. The configuration for R/4.4.4 is not yet available.
Building software can sometimes be a challenging task (as easybuilder once told me, âa pain in the assâ).
SoI tried to install tidyvers with R/4.3.3 and itâs not working due to version depenencies:
install.packages("tidyverse")
logs:
ERROR: dependency âMatrixâ is not available for package âmgcvâ
* removing â/home/users/a/alberta/Rpackages/mgcvâ
ERROR: dependencies âMASSâ, âmgcvâ are not available for package âggplot2â
* removing â/home/users/a/alberta/Rpackages/ggplot2â
ERROR: dependency âggplot2â is not available for package âtidyverseâ
* removing â/home/users/a/alberta/Rpackages/tidyverseâ
I notice another R-bundle-cran module exists (which include tidyvers) but only compatible with R/4.3.2. I am bulding both, R and the bundle.
The problem is that the most recent version of Matrix depends on R 4.4 (see CRAN: Package Matrix).
So to install manually, you need to run:
install.packages("lattice") # might be necessary
install.packages("https://cran.r-project.org/src/contrib/Archive/Matrix/Matrix_1.6-5.tar.gz", repo=NULL)
Iâm not familiar with EasyBuild but it seems strange to me that they omitted Matrix, which is a package used by many other packages, 50 depend on it (check length(tools::dependsOnPkgs("Matrix", dependencies = "strong"))) and it is therefore the 19th (out of 20000) most important package in that metric.
The Matrix, tidyverse, and other R packages are considered extensions and are, by definition, optional. It makes sense not to include these packages in the core R build for several reasons.
By keeping the core and extensions separate, the core R installation remains lighter and more modular.
If an error occurs in building an extension package, it does not cause the entire R build process to fail. This separation ensures that issues with individual packages do not affect the stability of the core R installation.
Users have the flexibility to install (or load other module) only the packages they need, which can be tailored to their specific use cases.
A more telling example:
It took me 30 minutes to compile R/4.3.2 without extensions.
Yesterday I started compiling R-bundle-cran, which includes almost 1100 extensions, itâs still a work in progressâŚ
oh very nice, thanks!! That seems a great solution to have both R and R-bundle separately.
I see that R-bundle also comes with R (ie I donât need to module load R), though a slightly lower version 4.3.2? Not sure if you can edit the output of module spider, but might be a useful info to add?
I wonder if this bundle wouldnât be compatible with higher versions of R.
However, it was also compiled with a defined version of GCC and OpenMPI, so it would have to be recompiled with the correct versions.