Giter Club home page Giter Club logo

r2u's People

Contributors

eddelbuettel avatar jdblischak avatar jesse-ross avatar jmiahjones avatar rcannood avatar remlapmot avatar zeehio avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

r2u's Issues

Please update 10 CRAN packages and 1 Bioconductor package

Thank you for your work on packaging so many R packages for Ubuntu! As you said in your e-mail, I'm reporting a few that are currently a bit behind CRAN and Bioconductor:

setRepositories(ind=1:4) # CRAN & BioC
subset(
 merge(
  available.packages(), installed.packages(),
  by = 'Package', suffixes=c('.available', '.installed')
 ),
 Version.available > Version.installed
)[,c('Package','Repository')]
#              Package                                              Repository
# 24          antiword                 https://cloud.r-project.org/src/contrib
# 154             coda                 https://cloud.r-project.org/src/contrib
# 163       commonmark                 https://cloud.r-project.org/src/contrib
# 197       data.table                 https://cloud.r-project.org/src/contrib
# 237          distrEx                 https://cloud.r-project.org/src/contrib
# 264            edgeR https://bioconductor.org/packages/3.18/bioc/src/contrib
# 511           igraph                 https://cloud.r-project.org/src/contrib
# 612          littler                 https://cloud.r-project.org/src/contrib
# 697  MplusAutomation                 https://cloud.r-project.org/src/contrib
# 1145              sp                 https://cloud.r-project.org/src/contrib
# 1225       tidygraph                 https://cloud.r-project.org/src/contrib

I can see r-cran-littler being available in https://cloud.r-project.org/bin/linux/ubuntu jammy-cran40/, but the one in https://r2u.stat.illinois.edu/ubuntu jammy/main has a larger APT priority on the docker.io/rocker/r2u container.

apt pinning seems to have no effect for r-cran-jquerylib

r-cran-jquerylib from R2U should be installed, but the one from the standard Ubuntu repo is installed despite the r2u apt repo has priority 700:

$ cat /etc/apt/preferences.d/99cranapt
Package: *
Pin: release o=CRAN-Apt Project
Pin: release l=CRAN-Apt Packages
Pin-Priority: 700

$ apt policy r-cran-jquerylib 
r-cran-jquerylib:
  Installed: 0.1.4+dfsg-3
  Candidate: 0.1.4+dfsg-3
  Version table:
 *** 0.1.4+dfsg-3 500
        500 http://ftp.belnet.be/ubuntu jammy/universe amd64 Packages
        500 http://ftp.belnet.be/ubuntu jammy/universe i386 Packages
        100 /var/lib/dpkg/status
     0.1.4-1.ca2204.1 700
        700 https://dirk.eddelbuettel.com/cranapt jammy/main all Packages
     0.1.4-1cran1.2204.0 500
        500 http://ppa.launchpad.net/c2d4u.team/c2d4u4.0+/ubuntu jammy/main amd64 Packages
        500 http://ppa.launchpad.net/c2d4u.team/c2d4u4.0+/ubuntu jammy/main i386 Packages
$ 
$ apt install r-cran-jquerylib 
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
r-cran-jquerylib is already the newest version (0.1.4+dfsg-3).
0 upgraded, 0 newly installed, 0 to remove and 4 not upgraded.
$ 
$ inxi -Sxxx
System:
  Host: _ Kernel: 5.15.0-89-generic x86_64 bits: 64 compiler: gcc
    v: 11.4.0 Desktop: Cinnamon 5.8.4 tk: GTK 3.24.33 wm: muffin vt: 7
    dm: LightDM 1.30.0 Distro: Linux Mint 21.2 Victoria
    base: Ubuntu 22.04 jammy

I discovered it while inspecting a broken symlink such as jquerylib/lib/3.6.0/jquery-3.6.0.js in this package after it has been recorded (i.e. hardlinked) by renv into its cache, because these symlinks are defined relative. I suspect the relative symlinks (e.g. jquerylib/lib/3.6.0/jquery-3.6.0.js linking to ../../../../../../share/javascript/jquery/jquery.js) will be specific to the Ubuntu-packaged r-cran-jquerylib.

r2u access slow from New Zealand

Hi Dirk,

Hope all is well - I recently upgraded a machine to 22.04 and successfully installed a large number of packages very quickly. A huge improvement over the previous system.

However the last couple of days I've noticed it has been quite slow. I'm currently switching over another machine to r2u and it's crawling:

image

Many thanks for a great system!

Uninstall/removal instructions

Hey, this works well generally, but I ran into some problems on a laptop that I couldn't really be bothered debugging. I think I got through the removal process semi-okay by trial and error but it would be good to have some explicit ones.

The steps I followed were:

  1. remove.packages("bspm") or the system package r-cran-bspm
  2. remove the bspm package folder from your library if 1. is not successful
  3. remove bspm::enable() from your Rprofile.site
  4. Remove the cran_apt listings from your sources, eg by rm /etc/apt/sources.list.d/cran_apt.list

Problems with R 4.4 and BiocManager

Hi, I just updated to R 4.4, and BiocManager requieres me to upgrade to 3.19. The problem is the packages provided in r2u are for BiocManager 1.18, and it is impossible to install Bioconductor packages that are not packaged in the r2u repos (clustifyr in my case).

I tried updating BiocManager with BiocManager::install(version="3.19") but still shows the "please upgrade to BiocManager 3.19" afterwards.

image

Any plans to upgrade to BiocManager 1.19?

Best regards.

Question: best practices for installing Bioconductor packages

hi @eddelbuettel

First off, thanks a lot for r2u

I am seeking some guidance on best practices for installing Bioconductor packages and I have looked at:

Based on some of the discussions there, this is what I put together as my Dockerfile

FROM docker.io/eddelbuettel/r2u:22.04

RUN apt update -qq && \
     DEBIAN_FRONTEND=noninteractive \
     install.r \
     r-bioc-bsgenome.hsapiens.ucsc.hg38_1.4.4-1.ca2204.1_all.deb \
     r-bioc-rsamtools_2.12.0-1.ca2204.1_amd64.deb \
     r-bioc-txdb.hsapiens.ucsc.hg38.knowngene_3.15.0-1.ca2204.1_all.deb \
     BiocManager

RUN R --no-echo --no-restore --no-save -e  "BiocManager::install(c('ATACseqQC'))"

Some questions:

  1. How do I search for r-bioc-ATACseqQC-* - I could not figure that out and hence I had to have the additional line of the RUN R command in my Dockerfile. Is there an easy way to search for ATACseqQC? I do see this comment but not sure how to use it to search for ATACseqQC
  2. Should I be using rocker/r2u

Thanks in advance

Sending build context to Docker daemon  2.048kB
Step 3/3 : RUN R --no-echo --no-restore --no-save -e  "BiocManager::install(c('ATACseqQC'))"
 ---> Running in e98d8197900f
'getOption("repos")' replaces Bioconductor standard repositories, see
'help("repositories", package = "BiocManager")' for details.
Replacement repositories:
    CRAN: https://cloud.r-project.org
Bioconductor version 3.17 (BiocManager 1.30.20), R 4.3.0 (2023-04-21)
Installing package(s) 'BiocVersion', 'ATACseqQC'
Install system packages as root...
Reading package lists... Done
.
...

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

22 packages can be upgraded. Run 'apt list --upgradable' to see them.

...

Building dependency tree... Done
  Selecting previously unselected package r-cran-biocmanager.
(Reading database ... 18437 files and directories currently installed.)
Preparing to unpack .../r-cran-biocmanager_1.30.20-1.ca2204.1_all.deb ...
Unpacking r-cran-biocmanager (1.30.20-1.ca2204.1) ...
Setting up r-cran-biocmanager (1.30.20-1.ca2204.1) ...
Reading state information... Done

...

Warning: replacing previous import ‘utils::findMatches’ by ‘S4Vectors::findMatches’ when loading ‘AnnotationDbi’
....
Warning: replacing previous import ‘utils::findMatches’ by ‘S4Vectors::findMatches’ when loading ‘AnnotationDbi’
** help
*** installing help indices
** building package indices
** installing vignettes
** testing if installed package can be loaded from temporary location
Warning: replacing previous import ‘utils::findMatches’ by ‘S4Vectors::findMatches’ when loading ‘AnnotationDbi’
** testing if installed package can be loaded from final location
Warning: replacing previous import ‘utils::findMatches’ by ‘S4Vectors::findMatches’ when loading ‘AnnotationDbi’
** testing if installed package keeps a record of temporary installation path
* DONE (ATACseqQC)

The downloaded source packages are in
        ‘/tmp/Rtmpqnktlw/downloaded_packages’
Old packages: 'AnnotationDbi', 'class', 'CNEr', 'DelayedArray',
  'DirichletMultinomial', 'edgeR', 'GenomeInfoDbData', 'HDF5Array',
  'KernSmooth', 'MASS', 'nnet', 'rhdf5filters', 'S4Vectors', 'seqLogo',
  'SummarizedExperiment', 'TFBSTools'
Removing intermediate container e98d8197900f
 ---> 3fbc913298b7
Successfully built 3fbc913298b7

r2u not handling dependency for stringi?

kendonb@kendonb-Z370M-D3H:~$ sudo apt install r-cran-stringi
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
r-cran-stringi is already the newest version (1.7.6-1.ca2204.1).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

kendonb@kendonb-Z370M-D3H:~$ Rscript -e 'library(stringi)'
Error: package or namespace load failed for ‘stringi’ in dyn.load(file, DLLpath = DLLpath, ...):
 unable to load shared object '/home/kendonb/R/x86_64-pc-linux-gnu-library/4.2/stringi/libs/stringi.so':
  libicui18n.so.67: cannot open shared object file: No such file or directory
Execution halted

A workaround is to reinstall stringi from source.

InRelease repository is unsigned?

Error: The repository 'http://ppa.launchpad.net/edd/misc/ubuntu jammy InRelease' is not signed.
Warning: GPG error: http://ppa.launchpad.net/edd/misc/ubuntu jammy InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 67C2D66C4B1D4339

Using within RStudio

While this works using R running in a terminal, I'm getting an error when installing from within RStudio:

> install.packages("hts")
Error in install.packages : cannot connect to the system package manager

On KDE Neon 5.25 (based on Ubuntu 20.04). Using R 4.2.1 and RStudio 2022.07.1 Build 554.

Different number of CRAN packages with `available.packages()`?

Hi, I saw your recent announcements on Mastodon about the number of CRAN packages supported (~22k) and I was surprised because I thought the number of CRAN packages was around 20k. This is also what available.packages() returns:

nrow(available.packages())
#> [1] 19946

I'm simply curious, where does the difference come from?

Many thanks for r2u!

Can't install sf

Hi !

Thanks for this great piece of software. I'm using it to build a custom docker image to ensure a standard & reproducible working environment. So far I can configure my dockerfile to pre-install the required packages.

Everything works as expected and once I'm into my container I can also install new packages thanks to bpsm using install.packages("<pkg_name>") or directly from terminal using sudo apt-get install r-cran-<pkg_name>.

However if I try to install package sf from my container I get an error :

$ sudo apt-get install r-cran-sf
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 r-cran-sf : Depends: libgdal29 (>= 3.3.0) but it is not installable
             Depends: libgeos-c1v5 (>= 3.9.0) but it is not going to be installed
             Depends: libproj19 (>= 7.1.0) but it is not installable
E: Unable to correct problems, you have held broken packages.

From your documentation I can see that there was an issue with sf and that it was solved :

  • [DONE] Both sf and terra needed a dependency adjustment on 'focal' for their most recent versions.

But I don't see what should I do in order to allow sf to be installed?

Here is an excerpt of the dockerfile used to build the container:

ARG r_version="4.2.1"
ENV R_VERSION=${r_version}
ENV R_BASE_VERSION=${R_VERSION}

USER 0 
RUN apt-get update \
	&& apt-get install -y --no-install-recommends \
		software-properties-common \
                dirmngr \
                ed \
		less \
		locales \
		vim-tiny \
		wget \
		ca-certificates \
        && add-apt-repository --enable-source --yes "ppa:marutter/rrutter4.0" \
        && add-apt-repository --enable-source --yes "ppa:c2d4u.team/c2d4u4.0+"

RUN apt-get update \
        && apt-get install -y --no-install-recommends \
                 littler \
		r-base=${R_BASE_VERSION}-* \
		r-base-dev=${R_BASE_VERSION}-* \
        r-base-core=${R_BASE_VERSION}-* \
		r-recommended=${R_BASE_VERSION}-* \
                 r-cran-docopt \
  	&& ln -s /usr/lib/R/site-library/littler/examples/install.r /usr/local/bin/install.r \
 	&& ln -s /usr/lib/R/site-library/littler/examples/install2.r /usr/local/bin/install2.r \
 	&& ln -s /usr/lib/R/site-library/littler/examples/installGithub.r /usr/local/bin/installGithub.r \
 	&& ln -s /usr/lib/R/site-library/littler/examples/testInstalled.r /usr/local/bin/testInstalled.r \
 	&& rm -rf /tmp/downloaded_packages/ /tmp/*.rds \
 	&& rm -rf /var/lib/apt/lists/*

RUN add-apt-repository --yes "ppa:edd/r-4.0" \
	&& apt-get install -y --no-install-recommends \
                sudo \
                r-cran-bspm \
        && echo "suppressMessages(bspm::enable())" >> /etc/R/Rprofile.site \
        && echo "options(bspm.sudo=TRUE)" >> /etc/R/Rprofile.site \
        && echo 'APT::Install-Recommends "false";' > /etc/apt/apt.conf.d/90local-no-recommends \
        && echo "docker ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers.d/local-docker-user \
        && chmod 0440 /etc/sudoers.d/local-docker-user \
        && chgrp 1000 /usr/local/lib/R/site-library \
        && install.r remotes

and the session info from within my container :

> sessionInfo()
R version 4.2.1 (2022-06-23)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Ubuntu 20.04.5 LTS

Matrix products: default
BLAS:   /usr/lib/x86_64-linux-gnu/blas/libblas.so.3.9.0
LAPACK: /usr/lib/x86_64-linux-gnu/lapack/liblapack.so.3.9.0

locale:
 [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C               LC_TIME=en_US.UTF-8       
 [4] LC_COLLATE=en_US.UTF-8     LC_MONETARY=en_US.UTF-8    LC_MESSAGES=en_US.UTF-8   
 [7] LC_PAPER=en_US.UTF-8       LC_NAME=C                  LC_ADDRESS=C              
[10] LC_TELEPHONE=C             LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C       

attached base packages:
[1] stats     graphics  grDevices datasets  utils     methods   base     

other attached packages:
[1] timetk_2.8.1    lubridate_1.8.0 R6_2.5.1       

loaded via a namespace (and not attached):
 [1] zoo_1.8-10         tidyselect_1.1.2   purrr_0.3.4        listenv_0.8.0     
 [5] splines_4.2.1      bspm_0.3.10        lattice_0.20-45    colorspace_2.0-3  
 [9] vctrs_0.4.1        generics_0.1.3     rsample_1.1.0      utf8_1.2.2        
[13] survival_3.4-0     prodlim_2019.11.13 rlang_1.0.5        pillar_1.8.1      
[17] glue_1.6.2         withr_2.5.0        lifecycle_1.0.2    lava_1.6.10       
[21] timeDate_4021.104  munsell_0.5.0      gtable_0.3.1       future_1.28.0     
[25] recipes_1.0.1      codetools_0.2-18   parallel_4.2.1     class_7.3-20      
[29] fansi_1.0.3        furrr_0.3.1        xts_0.12.1         Rcpp_1.0.9        
[33] scales_1.2.1       ipred_0.9-13       parallelly_1.32.1  ggplot2_3.3.6     
[37] digest_0.6.29      dplyr_1.0.10       grid_4.2.1         hardhat_1.2.0     
[41] cli_3.4.0          tools_4.2.1        magrittr_2.0.3     tibble_3.1.7      
[45] tidyr_1.2.1        future.apply_1.9.1 pkgconfig_2.0.3    MASS_7.3-58.1     
[49] ellipsis_0.3.2     Matrix_1.5-1       gower_1.0.0        rstudioapi_0.14   
[53] globals_0.16.1     rpart_4.1.16       nnet_7.3-17        compiler_4.2.1   

Thanks for your support.

Best regards!

Source package versions installed within `{renv}`

I'm very excited for r2u as I've been running R on Ubuntu since the days of 8.04 Hardy Haron!

I leverage {renv} in almost all of my R projects. After I configured r2u successfully on my Ubuntu 20.04 laptop (and confirmed the binary packages installed without issue), I noticed that after bootstrapping an {renv} project that source versions of packages were installed after running renv::install("name_of_package") , which I believe is supposed to act as a shim to the default install.packages(). If this issue is more related to bspm, I'd be glad to move this over.

Enhancement: Update to R 4.4

Would it be possible to update to R 4.4 (released yesterday). This is important for folks that run on security sensitive environments given the recently found high severity vulnerability in R (https://thehackernews.com/2024/04/new-r-programming-vulnerability-exposes.html).

I can help get this going with a little support / guidance from you guys. But if you just tell me that's not going to happen over the next few weeks we may just switch to vanilla rocker/r-ver until you guys can update this image to R 4.4.

Thanks! Marcelo

49 pkgs can't be installed because they are in official jammy/universe for R-4.1 but not in r2u

The r-bioc-affxparser package is not included in your r2u packages probably because no CRAN package depends on it.

However it is part of the ubuntu jammy universe repository https://packages.ubuntu.com/jammy/r-bioc-affxparser

And since ubuntu jammy ships with R-4.1, the package is not installable on an R-4.2 system:

$ sudo apt install r-bioc-affxparser 
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 r-bioc-affxparser : Depends: r-api-bioc-3.14
E: Unable to correct problems, you have held broken packages.

Could you extend your r2u inclusion criteria to all those bioconductor packages already in ubuntu jammy? I took the 99 "r-bioc-" packages from https://packages.ubuntu.com/search?suite=jammy&arch=amd64&searchon=names&keywords=r-bioc- and with a rudimentary script I filtered out those already in r2u. If I am not mistaken, I would be asking you to include 49 additional packages in r2u that since they are already in ubuntu jammy they are not installable on my system via apt:

r-bioc-affxparser
r-bioc-altcdfenvs
r-bioc-arrayexpress
r-bioc-ballgown
r-bioc-basilisk.utils
r-bioc-bioccheck
r-bioc-biocviews
r-bioc-bitseq
r-bioc-bladderbatch
r-bioc-cner
r-bioc-ctc
r-bioc-cummerbund
r-bioc-dada2
r-bioc-degnorm
r-bioc-degreport
r-bioc-demixt
r-bioc-deseq
r-bioc-destiny
r-bioc-dexseq
r-bioc-dir.expiry
r-bioc-dirichletmultinomial
r-bioc-drimseq
r-bioc-dropletutils
r-bioc-dupradar
r-bioc-ebseq
r-bioc-edaseq
r-bioc-eir
r-bioc-experimenthub
r-bioc-fishpond
r-bioc-genelendatabase
r-bioc-genomeinfodbdata
r-bioc-genomicfiles
r-bioc-ggbio
r-bioc-glmgampoi
r-bioc-goseq
r-bioc-grohmm
r-bioc-hilbertvis
r-bioc-hsmmsinglecell
r-bioc-htsfilter
r-bioc-hypergraph
r-bioc-ihw
r-bioc-ioniser
r-bioc-isoformswitchanalyzer
r-bioc-lpsymphony
r-bioc-makecdfenv

I'll get those packages straight from Bioconductor if I need them, but I feel it would make sense to cover those and they are not that many (I'm assuming the build process is mostly automated)

Thanks

guidelines on using newer r2u simultaneously with older CRAN packages?

Dirk thanks for this great package, works very well!

Could you please share your advice on using simultaneously r2u and standard install.packages() commands without bspm? Currently I have both, and as "~/R/x86_64-pc-linux-gnu-library/4.2" is first in .libPaths() is first, R might uses older versions in "~/R/x86_64-pc-linux-gnu-library/4.2" rather than newer installed by r2u.

So my questions are:

  • If one sticks with using a mix of install.packages() without bspm and r2u, do you recommend changing `.libPaths()?
  • If one decides instead to use bspm, I guess one will need to remove all packages in "~/R/x86_64-pc-linux-gnu-library/4.2" and even in "/usr/local/lib/R/site-library", as older versions there would take precedence over r2u packages? Is my understanding correct that bpsm will have install.packages() in /usr/lib/R/site-library, but remove.packages("xxx") under bpsm is left unaffected and will remove from the first repo? Does this mean I should look for all packages in either "~/R/x86_64-pc-linux-gnu-library/4.2" and "/usr/local/lib/R/site-library", check those installed by install.packages (i.e. exclude the github ones), remove them, then install again?

Thanks!!

libPath conflict in Ubuntu 22.04 between r2u default site-library and R console and RStudio paths

I've been struggling a bit with packages that seem to have been successfully downloaded but cannot be found. Another pilgrim surfaced with the same issue on community.rstudio.com. If this is expected behavior, maybe just a README note. Otherwise, please think about it?

As @hunsicker describes his setup

Evidently the system is now installing the compiled R packages into /usr/lib/R/site-library rather than into my personal R library. Since update.packages() looks first in my personal R library, it finds an old version and doesn't look further to see if there is a newer version in the site library. As a result, the package is never effectively updated.

We don't have exactly similar configs. My .libPath looks like

> .libPaths() [1] "/home/roc/R/x86_64-pc-linux-gnu-library/4.2" [2] "/usr/local/lib/R/site-library" [3] "/usr/local/lib/R/library"

and r2u is installing to /usr/lib/R/site-library.

Is it just a matter of linking everything in .libPaths to that directory, or is it better to fiddle with env and profile to set things right?

support Debian?

Dear Dirk,

Nice project for the hurried R user.

It would be nice to support Debian.
Ubuntu being a Debian derivative, I even wonder if supporting Debian first
would not have given you Ubuntu being supported for free.

Regards,
F.

Problem with running install.packages()

Hi,

After installing r2u, according to this, in a clean R session inside Ubuntu terminal, when trying to install any packages e.g. :
install.packages("BiocManager")

I see the following error:

Error: dbus: Call failed: Launch helper exited with unknown return code 1

I checked the /var/log/syslog and I found this error:

Traceback (most recent call last):
 org.r_project.linux1[44262]:   File "/usr/local/lib/R/site-library/bspm/service/bspm.py", line 150, in <module>
 org.r_project.linux1[44262]:     read_conf()
 org.r_project.linux1[44262]:   File "/usr/local/lib/R/site-library/bspm/service/bspm.py", line 16, in read_conf
 org.r_project.linux1[44262]:     conf = backend.discover()
 org.r_project.linux1[44262]:   File "/usr/local/lib/R/site-library/bspm/service/backend/apt.py", line 15, in discover
 org.r_project.linux1[44262]:     cache_update(partial(cache.update, aprogress), force=True)
org.r_project.linux1[44262]:   File "/usr/local/lib/R/site-library/bspm/service/backend/_utils.py", line 33, in cache_update
 org.r_project.linux1[44262]:     method()
 org.r_project.linux1[44262]:   File "/usr/lib/python3/dist-packages/apt/cache.py", line 573, in update
org.r_project.linux1[44262]:     raise FetchFailedException(e) 
dbus-daemon[726]: [system] Activated service 'org.r_project.linux1' failed: Launch helper exited with unknown return code 1

The R version is
R version 4.3.2 (2023-10-31) -- "Eye Holes"

The operating system:
Distributor ID: Ubuntu Description: Ubuntu 22.04.3 LTS Release: 22.04 Codename: jammy

Any help would be greatly appreciated!

Alternative mirrors?

The "well-connected main mirror" is rather slow far away from Illinois.
Are there alternative mirrors available?
(I am personally in Germany)

Is r2u compatible with Singularity?

Dear Dirk,

on a HPC machine, we need to use Singularity and not directly docker.
So, first converting the docker image is:

singularity pull docker://eddelbuettel/r2u:jammy

Then, the singularity image (SIF) is created but the admin part was ripped off. I can start a container with R, but the the great CRANapt seems to have suffered from the operation:

$ singularity exec r2u_jammy.sif R

R version 4.2.0 (2022-04-22) -- "Vigorous Calisthenics"
Copyright (C) 2022 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu (64-bit)

R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under certain conditions.
Type 'license()' or 'licence()' for distribution details.

  Natural language support but running in an English locale

R is a collaborative project with many contributors.
Type 'contributors()' for more information and
'citation()' on how to cite R or R packages in publications.

Type 'demo()' for some demos, 'help()' for on-line help, or
'help.start()' for an HTML browser interface to help.
Type 'q()' to quit R.

> install.packages("Seurat")
Error: cannot connect to the system package manager

Am I doing it wrong or is it a limitation? Classic containers of singularity image with R and install.packages() calls are fine.
Many thanks in advance,

Are certain Bioconductor packages out of date?

I've been getting some issues with using bioconductor packages related to images that should have already been solved in Bioconductor 3.17.

Looking at https://r2u.stat.illinois.edu/ubuntu/pool/dists/jammy/main/ it seems (for example) that DelayedArray was last updated on June 12th when it was updated to v0.26.3-1:

r-bioc-csaw_1.34.0-1.ca2004.2_amd64.deb            28-Apr-2023 05:30             1116136
r-bioc-decipher_2.28.0-1.ca2004.2_amd64.deb        28-Apr-2023 05:19            16072628
r-bioc-delayedarray_0.26.3-1.ca2004.1_amd64.deb    12-Jun-2023 15:25             1931432 <--
r-bioc-delayedmatrixstats_1.22.0-1.ca2004.2_all..> 28-Apr-2023 04:38              672268
r-bioc-deseq2_1.40.2-1.ca2004.1_amd64.deb          14-Jul-2023 19:57             2578212
r-bioc-diffbind_3.10.0-1.ca2004.2_amd64.deb        28-Apr-2023 13:05             7175872

However, the latest release of DelayedArray on Bioconductor 3.17 is 0.26.7 (link). This is also the version available in the posit package manager (link).

The only solution I found for now is installing DelayedArray from source, which misses the entire point of r2u.

Could it be that something is wrong with the procedure for updating the r2u apt repository, or is this intended behaviour?

Thank you for taking the time to look into this issue.

add_cranapt_jammy script: bspm config issue

Very enthusiastic about this project thank you for making it happen.

I just used the add_cranapt_jammy.sh script on a fresh ubuntu 22.04 install (R version 4.2.1 (2022-06-23))
and encountered and issue that after script installation install.packages() is left in a non functional state.

I looked at the bspm site and I think it may be a due change in options there, or possibly a difference between
attended and unattended installations.

# after running script
install.packages("curl")
# results in "Error in install.packages : cannot connect to the system package manager"
# applying the following to fix:
options(bspm.sudo = FALSE)
install.packages("curl")
Install system packages...

I've modified the changes the script made to my /etc/R/Rprofile.set by this script to remove the line

options(bspm.sudo=TRUE)

and everything now seems to work well, so thank you. I'm not 100% sure that this is the most technically correct thing to do but bspm installation instructions no longer reference the option bspm.sudo.

pandoc missing when installing rmarkdown

Thank you for creating r2u. I recently found out about it and I'm impressed by the speed of the installations and the ease of use.

My first assumption was that all system requirements (including those mentioned in the DESCRIPTION file of the package) would be installed. However, when installing rmarkdown, I noticed that pandoc was not installed. Is this a bug or a deliberate choice?

Example Dockerfile:

FROM rocker/r2u:22.04
RUN R -e "install.packages('rmarkdown')"
RUN R -e "rmarkdown::pandoc_available()"

Support for the ARM64 system architecture

The rocker/r2u containers seem to be fixed to the AMD64 architecture, as the usual automatic selection of the correct underlying system architecture does not work. Unfortunately, this means that the containers on Apple M-chips are quite slow, as they are based on the ARM64 architecture and the entire code has to be compiled with Rosetta.

Are there plans to support ARM in the future?

Security vulnerability found in python3.10

Hi Dirk,

A recent build on ECR that used snyk to scan for vulnerabilities flagged a high severity vulnerability related to Python 3.10 libraries that is fixed in version 3.10.6-1.

Link to full description of the vulnerability: https://security.snyk.io/vuln/SNYK-UBUNTU2204-PYTHON310-3098759

Impacted docker images: eddelbuettel/r2u:22.04 and eddelbuettel/r2u:jammy

Proposed fix: Upgrade Ubuntu:22.04 python3.10 to version 3.10.6-1~22.04.1 or higher. apt upgrade in the Dockerfile should take care of this and a new push to registry.

Thanks! These images are still the best.

devEMF has graphics API version mismatch with current R

Using the r2u version of devEMF 4.4.1 reports the following issue when using it with R 4.3.1 in Docker:

Error in emf(file = Filenameemf, width = width, height = height, :
Graphics API version mismatch

This seems similar to the issue #42

Incorrect comment referring to 4.2.0 in add_cranapt_jammy.sh

Consider this comment from add_cranapt_jammy.sh:

Third: ensure R 4.2.0 is used (could use Launchpad source or edd PPA too)

I don't think that the comment is correct. I think that the code merely ensures that the latest version of R will be used, not that it will be 4.2.0. For example, when I run the script now I see R 4.2.1.

Apologies if I am missing something! Thanks for a cool tool!

Package install issue with jammy

I run into some issues with Ubuntu 22.04 (jammy) but not with 20.04 (focal) and docker build fails as a result.

Dockerfile:

FROM eddelbuettel/r2u:22.04
RUN install.r shiny rmarkdown
...

Output after docker build:

Sending build context to Docker daemon  1.717MB
Step 1/9 : FROM eddelbuettel/r2u:22.04
 ---> 3a33fd542e6d
Step 2/9 : RUN install.r shiny rmarkdown
 ---> Running in 89c8be562c21
Warning messages:
1: In normalizePath(paths, "/") :
  path[1]="/usr/local/lib/R/site-library/": Operation not permitted
2: In normalizePath(paths, "/") :
  path[2]="/usr/local/lib/R/site-library/": Operation not permitted
Error: .onLoad failed in loadNamespace() for 'utils', details:
  call: system(paste(which, shQuote(names[i])), intern = TRUE, ignore.stderr = TRUE)
  error: cannot popen '/usr/bin/which 'uname' 2>/dev/null', probable reason 'Cannot allocate memory'
Error: .onLoad failed in loadNamespace() for 'utils', details:
  call: system(paste(which, shQuote(names[i])), intern = TRUE, ignore.stderr = TRUE)
  error: cannot popen '/usr/bin/which 'uname' 2>/dev/null', probable reason 'Cannot allocate memory'
The command '/bin/sh -c install.r shiny rmarkdown' returned a non-zero code: 1

sf: WARNING: different compile-time and runtime versions for GEOS found

Hi Dirk

I get some warnings with the r2u version of sf, with the infamous message: WARNING: different compile-time and runtime versions for GEOS found:, which triggered some unusual warnings with st_read (example code taken from help page of st_read).

Solution I found was to install myself sf from CRAN, disabling bspm: bspm::disable(); install.packages(c("sf")). I guess that would be a rather tricky issue to address at the r2u level?

Thanks!

output with r2u sf

library(sf)
#> Linking to GEOS 3.10.2, GDAL 3.0.4, PROJ 6.3.1; sf_use_s2() is TRUE
#> WARNING: different compile-time and runtime versions for GEOS found:
#> Linked against: 3.10.2-CAPI-1.16.0 compiled against: 3.8.0-CAPI-1.13.1
#> It is probably a good idea to reinstall sf, and maybe rgeos and rgdal too
dang::shadowedPackages()
#>    Package                                         LibPath Version n  good
#> 1:    bspm /home/matifou/R/x86_64-pc-linux-gnu-library/4.2 0.4.2.3 2  TRUE
#> 2:    bspm                   /usr/local/lib/R/site-library   0.4.2 2 FALSE

## from ?st_read
nc = st_read(system.file("shape/nc.shp", package="sf"), quiet = TRUE)
wkt = st_as_text(st_geometry(nc[1,]))
st_read(system.file("gpkg/nc.gpkg", package="sf"), wkt_filter = wkt, quiet = TRUE)
#> Warning in CPL_read_ogr(dsn, layer, query, as.character(options), quiet, : GDAL
#> Error 1: SQLite error on SELECT name, ellipsoid_auth_name, ellipsoid_code,
#> prime_meridian_auth_name, prime_meridian_code, area_of_use_auth_name,
#> area_of_use_code, publication_date, deprecated FROM geodetic_datum WHERE
#> auth_name = ? AND code = ?: no such column: area_of_use_auth_name
#> Warning in CPL_read_ogr(dsn, layer, query, as.character(options), quiet, : GDAL
#> Message 1: Unable to parse srs_id '4267' well-known text
#> 'GEOGCS["NAD27",DATUM["North_American_Datum_1927",SPHEROID["Clarke
#> 1866",6378206.4,294.9786982138982,AUTHORITY["EPSG","7008"]],EXTENSION["PROJ4_GRIDS","@conus,@alaska,@ntv2_0.gsb,@ntv1_can.dat"],AUTHORITY["EPSG","6267"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degree",0.0174532925199433,AUTHORITY["EPSG","9122"]],AUTHORITY["EPSG","4267"]]'
#> Simple feature collection with 4 features and 14 fields
#> Geometry type: MULTIPOLYGON
#> Dimension:     XY
#> Bounding box:  xmin: -81.91116 ymin: 35.98933 xmax: -80.87086 ymax: 36.58965
#> CRS:           NA
#>    AREA PERIMETER CNTY_ CNTY_ID      NAME  FIPS FIPSNO CRESS_ID BIR74 SID74
#> 1 0.081     1.288  1880    1880   Watauga 37189  37189       95  1323     1
#> 2 0.114     1.442  1825    1825      Ashe 37009  37009        5  1091     1
#> 3 0.199     1.984  1874    1874    Wilkes 37193  37193       97  3146     4
#> 4 0.061     1.231  1827    1827 Alleghany 37005  37005        3   487     0
#>   NWBIR74 BIR79 SID79 NWBIR79                           geom
#> 1      17  1775     1      33 MULTIPOLYGON (((-81.80622 3...
#> 2      10  1364     0      19 MULTIPOLYGON (((-81.47276 3...
#> 3     200  3725     7     222 MULTIPOLYGON (((-81.02057 3...
#> 4      10   542     3      12 MULTIPOLYGON (((-81.23989 3...

Created on 2023-02-19 with reprex v2.0.2

output with CRAN sf

bspm::disable()
install.packages(c("sf"))
#> Installing package into '/home/matifou/R/x86_64-pc-linux-gnu-library/4.2'
#> (as 'lib' is unspecified)
library(sf)
#> Linking to GEOS 3.10.2, GDAL 3.4.3, PROJ 8.2.0; sf_use_s2() is TRUE
dang::shadowedPackages()
#>    Package                                         LibPath Version n  good
#> 1:    bspm /home/matifou/R/x86_64-pc-linux-gnu-library/4.2 0.4.2.3 2  TRUE
#> 2:    bspm                   /usr/local/lib/R/site-library   0.4.2 2 FALSE
#> 3:      sf /home/matifou/R/x86_64-pc-linux-gnu-library/4.2   1.0.9 2  TRUE
#> 4:      sf                         /usr/lib/R/site-library   1.0.9 2  TRUE

## from ?st_read
nc = st_read(system.file("shape/nc.shp", package="sf"), quiet = TRUE)
wkt = st_as_text(st_geometry(nc[1,]))
st_read(system.file("gpkg/nc.gpkg", package="sf"), wkt_filter = wkt, quiet = TRUE)
#> Simple feature collection with 4 features and 14 fields
#> Geometry type: MULTIPOLYGON
#> Dimension:     XY
#> Bounding box:  xmin: -81.91116 ymin: 35.98933 xmax: -80.87086 ymax: 36.58965
#> Geodetic CRS:  NAD27
#>    AREA PERIMETER CNTY_ CNTY_ID      NAME  FIPS FIPSNO CRESS_ID BIR74 SID74
#> 1 0.081     1.288  1880    1880   Watauga 37189  37189       95  1323     1
#> 2 0.114     1.442  1825    1825      Ashe 37009  37009        5  1091     1
#> 3 0.199     1.984  1874    1874    Wilkes 37193  37193       97  3146     4
#> 4 0.061     1.231  1827    1827 Alleghany 37005  37005        3   487     0
#>   NWBIR74 BIR79 SID79 NWBIR79                           geom
#> 1      17  1775     1      33 MULTIPOLYGON (((-81.80622 3...
#> 2      10  1364     0      19 MULTIPOLYGON (((-81.47276 3...
#> 3     200  3725     7     222 MULTIPOLYGON (((-81.02057 3...
#> 4      10   542     3      12 MULTIPOLYGON (((-81.23989 3...

Created on 2023-02-19 with reprex v2.0.2

Remove.package is not automagically translated

I don't know if this is a breakage in the upstream bspm package, but I have a very simple example of something I ran into today:

r$> install.packages("rextendr")
...
# Everything works beautifully
r$> remove.packages("rextendr")
Removing package from ‘/home/aperson/R/x86_64-pc-linux-gnu-library/4.2’
(as ‘lib’ is unspecified)
Error in find.package(pkgs, lib) : there is no package called ‘rextendr’

I was using this in radian, but I also found that this occurs in the plain old R interactive shell as well.

For now, I can just remove the r-cran-FOO apt package, but I thought I'd report this.

Enhancement: Timeline for support of Ubuntu 24.04LTS?

Filling this issue just to keep it in the radar. I know that this version of Ubuntu has been released yesterday :-).

So far, I've upgraded one of my Linux boxes to 24.04LTS but manually kept pointing to the 22.04 r4u packages, and everything seems to be working, so there is no rush.

r-cran-nlme version conflict prevents installing r-recommended

Hi,

I suspect the r-cran-nlme package on the r2u repository should have version number 3.1-157 instead of 3.1.157. Here is why I have this suspicion:

On a new ubuntu 22.04 system, I followed the r2u instructions to get R set up with r2u. I did not have R installed in the system.

I followed the README instructions. You can see below the relevant apt repositories and pinning set as documented:

$ cat /etc/apt/sources.list.d/cranapt.list
deb [arch=amd64] https://dirk.eddelbuettel.com/cranapt jammy main
$ cat /etc/apt/sources.list.d/cran-ubuntu.list 
deb [arch=amd64] https://cloud.r-project.org/bin/linux/ubuntu jammy-cran40/
$  cat /etc/apt/preferences.d/99cranapt 
Package: *
Pin: origin "dirk.eddelbuettel.com"
Pin-Priority: 700

When I try to install r-base (after a successful apt update):

$ sudo apt install r-base
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 r-base : Depends: r-recommended (= 4.2.0-1.2204.0) but it is not installable
E: Unable to correct problems, you have held broken packages.

My apt skills are limited, but I then try to install r-recommended to try to see what's going on:

Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 r-recommended : Depends: r-cran-nlme (>= 3.1.52) but 3.1-157-1.ca2204.1 is to be installed
E: Unable to correct problems, you have held broken packages.

If I apt show -a r-cran-nlme I see:

$ apt show -a r-cran-nlme
Package: r-cran-nlme
Version: 3.1.157-1.2204.0
Priority: optional
Section: gnu-r
Source: nlme
Maintainer: Dirk Eddelbuettel <[email protected]>
Installed-Size: 2807 kB
Depends: r-base-core (>= 4.2.0-1.2204.0), r-api-4.0, r-cran-lattice (>= 0.12-11.1), libc6 (>= 2.35)
Replaces: r-recommended (<< 1.9.0)
Homepage: https://cran.r-project.org/package=nlme
Download-Size: 2217 kB
APT-Sources: https://cloud.r-project.org/bin/linux/ubuntu jammy-cran40/ Packages
Description: GNU R package for (non-)linear mixed effects models
 This package provides functions to fit and compare linear and non-linear
 mixed-effects models.
 .
 This package is part of the set of packages that are 'recommended'
 by R Core and shipped with upstream source releases of R itself.

Package: r-cran-nlme
Version: 3.1.155-1
Priority: optional
Section: universe/math
Source: nlme
Origin: Ubuntu
Maintainer: Ubuntu Developers <[email protected]>
Original-Maintainer: Dirk Eddelbuettel <[email protected]>
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Installed-Size: 2831 kB
Depends: r-base-core (>= 4.1.2-1ubuntu1), r-api-4.0, r-cran-lattice (>= 0.12-11.1), libc6 (>= 2.29)
Replaces: r-recommended (<< 1.9.0)
Homepage: https://cran.r-project.org/package=nlme
Download-Size: 2235 kB
APT-Sources: http://es.archive.ubuntu.com/ubuntu jammy/universe amd64 Packages
Description: GNU R package for (non-)linear mixed effects models
 This package provides functions to fit and compare linear and non-linear
 mixed-effects models.
 .
 This package is part of the set of packages that are 'recommended'
 by R Core and shipped with upstream source releases of R itself.

Package: r-cran-nlme
Version: 3.1-157-1.ca2204.1
Priority: optional
Section: gnu-r
Maintainer: Dirk Eddelbuettel <[email protected]>
Installed-Size: 2811 kB
Depends: libc6 (>= 2.35), r-base-core (>= 4.2.0), r-api-4.0, r-cran-lattice
Suggests: r-cran-hmisc, r-cran-mass, r-cran-sasmixed
Homepage: https://cran.r-project.org/package=nlme
Download-Size: 2230 kB
APT-Sources: https://dirk.eddelbuettel.com/cranapt jammy/main amd64 Packages
Description: CRAN Package 'nlme' (Linear and Nonlinear Mixed Effects Models)
 Fit and compare Gaussian linear and nonlinear mixed-effects models.

Comparing version numbers for my three entries (ubuntu repositories, CRAN ppa, r2u ppa), shouldn't the r2u entry be 3.1.157 instead of 3.1-157?

I will learn to force some package versions and make things work, I can manage, but I'm surprised it's not working and I'd like to give this feedback just in case this is unexpected or a typo...

Thanks

is arrow package available [on arm64 aka aarch64] ?

after setting up r4u, R still insists on building from source. Source build always fails for me so I was hoping r4u would solve my issue.

 install.packages("arrow",source="binary")
Install system packages as root...
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Hit http://us-east-1.ec2.ports.ubuntu.com/ubuntu-ports jammy InRelease
Hit http://us-east-1.ec2.ports.ubuntu.com/ubuntu-ports jammy-updates InRelease
Hit http://us-east-1.ec2.ports.ubuntu.com/ubuntu-ports jammy-backports InRelease
Hit https://cloud.r-project.org/bin/linux/ubuntu jammy-cran40/ InRelease
Hit http://ports.ubuntu.com/ubuntu-ports jammy-security InRelease
Ign https://r2u.stat.illinois.edu/ubuntu jammy InRelease
Hit https://r2u.stat.illinois.edu/ubuntu jammy Release
Hit https://ppa.launchpadcontent.net/c2d4u.team/c2d4u4.0+/ubuntu jammy InRelease
Fetched 0 B in 0s (0 B/s)
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Fetched 0 B in 0s (0 B/s)
Installing package into ‘/usr/local/lib/R/site-library’
(as ‘lib’ is unspecified)
trying URL 'https://cloud.r-project.org/src/contrib/arrow_12.0.1.1.tar.gz'
Content type 'application/x-gzip' length 4097373 bytes (3.9 MB)
==================================================
downloaded 3.9 MB

* installing *source* package ‘arrow’ ...
** package ‘arrow’ successfully unpacked and MD5 sums checked
** using staged installation
*** Building on linux aarch64
*** Found local C++ source: 'tools/cpp'
*** Building libarrow from source

...etc.

RQuantLib is uninstallable on r2u:jammy

Reported via toot by Dave Vanness a few hours ago.

Confirmed on my 23.04 laptop accessing r2u:22.04.

The culprit is the inclusion of my very own PPA which lets the most current QuantLib library seep in during build time but then during run-time we do not have the same library -- boom. Uninstallable. QuantLib being complicated adding the PPA to the run-time will likely not help as the underlying binary build is from the LTS release 22.04. So a better fix is likely to just turn off the PPA use which I shall try next.

Instructions about installing bspm for r2u may be assuming a dependency that may be missing

The instructions are:

apt install --yes --no-install-recommends python3-{dbus,gi,apt}
## Then install bspm (as root) and enable it, and enable a speed optimization
Rscript -e 'install.packages("bspm")'
RHOME=$(R RHOME)
echo "suppressMessages(bspm::enable())" >> ${RHOME}/etc/Rprofile.site
echo "options(bspm.version.check=FALSE)" >> ${RHOME}/etc/Rprofile.site

Failed on newly installed Ubuntu. I think because installing bspm may require make to have been installed as well as the python requirements.

When that install failed, the addition of those lines to Rprofile.site of course still went ahead changing Rprofile.site. That then caused confusing error messages when you next run R as execution of those lines expects that bpsm has been installed when it failed to install.

As I say, I think the cause of the failed installation of bspm was another missing dependency and for me, installing make solved that and then I could remove those messages from Rprofile.site, launch R, install bspm, reinstate those lines in Rprofile.site and everything is fine now. Maybe my diagnosis is incorrect but the facts of the matter were as reported.

broken dependencies?

With the usual apologies if this is the wrong venue for this question ...

I just installed the latest r-base-core via apt-get upgrade (on Pop!_OS 22.04 LTS, which is an Ubuntu derivative):

apt list r-base-core
r-base-core/jammy-cran40,now 4.3.1-3.2204.0 amd64 [residual-config]

Many packages were removed. When I try to reinstall them I get (for example):

$ sudo apt-get install r-cran-tibble
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help resolve the situation:

The following packages have unmet dependencies:
 r-base-core : Breaks: r-cran-tibble (< 3.2.1+dfsg-2~) but 3.2.1-1.ca2204.1 is to be installed
E: Unable to correct problems, you have held broken packages.

When I install via bspm I get:

> install.packages("tibble")
Error: dbus: Call failed: Could not activate remote peer: unit failed.

When I disable bspm I am able to install tibble as usual, at the price of the usual giant compilation of lots of packages ...

Happy to provide any additional information/diagnostics that would be useful ...

vdiffr has graphics API version mismatch with current R

Not sure if I analysed the situation correctly, but it seems that r-cran-vdiffr in r2u for jammy needs a rebuild, as it fails to work with R 4.3.1:

https://app.travis-ci.com/github/jranke/mkin/builds/265560310

You can see that R 4.3.1-4 is installed on line 695:

https://app.travis-ci.com/github/jranke/mkin/builds/265560310#L695

and the following lines illustrate (I think) that vdiffr comes from r2u:

https://app.travis-ci.com/github/jranke/mkin/builds/265560310#L1711
https://app.travis-ci.com/github/jranke/mkin/builds/265560310#L1793

I am a bit confused, because in the log, the package is retrieved after it has been set up. Presumably just a matter of output buffering.

Am I correct to assume that a rebuild of vdiffr in r2u would fix this?

Thankful for all of these amazing tools, as always,

Johannes

typical time lag for updating package versions?

I definitely don't want to look a gift horse in the mouth, but ... some people are reporting problems because the current r2u versions of RcppEigen and lme4 are out of sync (the recently superseded version of lme4, 1.1-34, won't work with the new version of RcppEigen). I've tried to suggest workarounds, but having lme4 updated to at least 1.1-35 would forestall a lot of queries.

Is there a general rule for how often packages get updated/time lag between CRAN release and r2u availability, or is it "when Dirk gets a chance"?

Requesting 79 Bioconductor packages

Hi!

While installing a large number of packages from both CRAN and Bioconductor on a container running the docker.io/rocker/r2u image, I got some of the Bioconductor dependencies from source. I can start a fresh copy of the container and run:

# podman run -it docker.io/rocker/r2u
apt update && apt -y full-upgrade
R -e 'setRepositories(ind=1:4); install.packages(c(
"derfinderHelper", "EBarrays", "RTCGA", "sesameData", "GenomicScores",
"derfinder", "splots", "NanoStringNCTools", "org.Rn.eg.db", "biocthis",
"geNetClassifier", "gDRtestData", "RTCGA.miRNASeq", "CytoML",
"BioNet", "rols", "pRolocdata", "sesame", "RTCGA.mutations",
"JASPAR2020", "LOLA", "msdata", "CAMERA", "RMassBankData", "Homo.sapiens",
"PFAM.db", "ALLMLL", "gDRutils", "RTCGA.CNV", "JASPAR2018", "drawProteins",
"hgu133plus2.db", "RBioFormats", "grasp2db", "phastCons100way.UCSC.hg38",
"RTCGA.rnaseq", "simpIntLists", "rpx", "microRNA", "gDRstyle",
"MotifDb", "wiggleplotr", "hgu95av2.db", "JASPAR2014", "KOdata",
"faahKO", "flowWorkspaceData", "DAPARdata", "RTCGA.RPPA", "recount",
"RTCGA.methylation", "MafH5.gnomAD.v3.1.2.GRCh38", "pRoloc",
"humanStemCell", "cellHTS2", "org.Bt.eg.db", "SPIA", "RTCGA.mRNA",
"RTCGA.clinical", "human.db0", "rae230aprobe", "org.Sc.sgd.db",
"GeomxTools", "lydata", "ChemmineOB", "MafDb.1Kgenomes.phase1.hs37d5",
"rsbml", "biodb", "ReportingTools", "gwascat", "rae230a.db",
"humanCHRLOC", "hgu133a.db", "HubPub", "pasilla", "DAPAR", "SNPlocs.Hsapiens.dbSNP144.GRCh37",
"JASPAR2016", "CCl4"
))'

It will say Install system packages as root... twice, install a number of *.deb packages on the second run and then install the remaining packages from source (some of these are large and may benefit from an increased download timeout). I plucked the source package names from the console by grepping for ^trying URL. I really appreciate installing only these 79 packages from source instead of all the 1316 dependencies, and I would be grateful if you package these ones too. Please let me know if I can help!

Speaking of system dependencies,

  • CytoML wants libxml2 (and will fail to compile without libxml/tree.h)
  • ChemmineOB wants libopenbabel and Eigen (and will fail to compile without openbabel/obutil.h and Eigen/Core)
  • rsbml wants libsbml (and will fail to configure without a corresponding .pc file)

Error when installing Bioconductor packages

Hi Dirk!

Thanks for creating r2u! It has sped up the build times of our images significantly (From >30 mins to <5 mins?) !

Since the last update of eddelbuettel/r2u:22.04 (more specifically, "eddelbuettel/r2u@sha256:a4899fc475905331ff8a66f7bcbcefa261be1bd16447a34937df00c8a64af028"), I get the following error message when installing any Bioconductor package:

$ docker run eddelbuettel/r2u:22.04 Rscript -e 'install.packages("BiocParallel")'
Available system packages as root...
Get:1 https://ppa.launchpadcontent.net/c2d4u.team/c2d4u4.0+/ubuntu jammy InRelease [18.1 kB]
Hit https://ppa.launchpadcontent.net/edd/misc/ubuntu jammy InRelease            
Get:2 https://ppa.launchpadcontent.net/marutter/rrutter4.0/ubuntu jammy InRelease [17.5 kB]
Get:3 https://ppa.launchpadcontent.net/c2d4u.team/c2d4u4.0+/ubuntu jammy/main amd64 Packages [993 kB]
Ign https://r2u.stat.illinois.edu/ubuntu jammy InRelease                        
Get:4 https://r2u.stat.illinois.edu/ubuntu jammy Release [5713 B]               
Get:5 https://ppa.launchpadcontent.net/marutter/rrutter4.0/ubuntu jammy/main amd64 Packages [7623 B]
Get:6 https://r2u.stat.illinois.edu/ubuntu jammy Release.gpg [793 B]            
Get:7 https://r2u.stat.illinois.edu/ubuntu jammy/main amd64 Packages [2222 kB]  
Get:8 http://security.ubuntu.com/ubuntu jammy-security InRelease [110 kB]       
Get:9 https://r2u.stat.illinois.edu/ubuntu jammy/main all Packages [6923 kB]    
Get:10 http://security.ubuntu.com/ubuntu jammy-security/universe amd64 Packages [798 kB]
Get:11 http://security.ubuntu.com/ubuntu jammy-security/main amd64 Packages [754 kB]
Hit http://archive.ubuntu.com/ubuntu jammy InRelease                            
Get:12 http://archive.ubuntu.com/ubuntu jammy-updates InRelease [114 kB]        
Get:13 http://archive.ubuntu.com/ubuntu jammy-backports InRelease [107 kB]      
Get:14 http://archive.ubuntu.com/ubuntu jammy-updates/universe amd64 Packages [1008 kB]
Get:15 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 Packages [1078 kB]
Get:16 http://archive.ubuntu.com/ubuntu jammy-backports/universe amd64 Packages [22.4 kB]
Get:17 http://archive.ubuntu.com/ubuntu jammy-backports/main amd64 Packages [49.0 kB]
Fetched 14.2 MB in 6s (24.0 kB/s)                                               
Error in dbs[bins, "Version"] : subscript out of bounds
Calls: install.packages -> .doTrace -> eval.parent -> eval -> eval
Execution halted

This did work with a previous version of r2u:

$ docker run 'eddelbuettel/r2u@sha256:1d3a92aab5abad11787cd6b6c9479960db9f4e56dcc7f837768da2e3f3c4dfe2' Rscript -e 'install.packages("BiocParallel")'
Install system packages as root...
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Get:1 https://ppa.launchpadcontent.net/c2d4u.team/c2d4u4.0+/ubuntu jammy InRelease [18.1 kB]
Get:2 https://ppa.launchpadcontent.net/edd/misc/ubuntu jammy InRelease [18.1 kB]
...
Setting up r-cran-bh (1.81.0-1-1.ca2204.1) ...
Setting up r-cran-snow (0.4-4-1.ca2204.1) ...
Setting up r-cran-cpp11 (0.4.3-1.ca2204.1) ...
Setting up r-cran-futile.options (1.0.1-1.ca2204.1) ...
Setting up r-cran-formatr (1.14-1.ca2204.1) ...
Setting up r-cran-lambda.r (1.2.4-1.ca2204.1) ...
Setting up r-cran-futile.logger (1.4.3-1.ca2204.1) ...
Setting up r-bioc-biocparallel (1.32.4-1.ca2204.1) ...
Reading state information... Done
Get:1 https://r2u.stat.illinois.edu/ubuntu jammy/main all r-cran-formatr all 1.14-1.ca2204.1 [151 kB]
Get:2 https://r2u.stat.illinois.edu/ubuntu jammy/main all r-cran-lambda.r all 1.2.4-1.ca2204.1 [110 kB]
Get:3 https://r2u.stat.illinois.edu/ubuntu jammy/main all r-cran-futile.options all 1.0.1-1.ca2204.1 [19.4 kB]
Get:4 https://r2u.stat.illinois.edu/ubuntu jammy/main all r-cran-futile.logger all 1.4.3-1.ca2204.1 [94.6 kB]
Get:5 https://r2u.stat.illinois.edu/ubuntu jammy/main all r-cran-snow all 0.4-4-1.ca2204.1 [95.7 kB]
Get:6 https://r2u.stat.illinois.edu/ubuntu jammy/main all r-cran-bh all 1.81.0-1-1.ca2204.1 [8778 kB]
Get:7 https://r2u.stat.illinois.edu/ubuntu jammy/main all r-cran-cpp11 all 0.4.3-1.ca2204.1 [225 kB]
Get:8 https://r2u.stat.illinois.edu/ubuntu jammy/main amd64 r-bioc-biocparallel amd64 1.32.4-1.ca2204.1 [1350 kB]
Fetched 10.8 MB in 0s (0 B/s)

Am I doing something wrong or is this a bug?

Robrecht

cc @KaiWaldrant

Possible package missing from repo: r-cran-r2rtf

Tried running an update on Ubuntu 22.04LTS today and got this error:

$ sudo apt update
Hit:1 https://cloud.r-project.org/bin/linux/ubuntu jammy-cran40/ InRelease
...
Ign:9 https://r2u.stat.illinois.edu/ubuntu jammy InRelease                                                                 
...
Hit:14 http://archive.ubuntu.com/ubuntu jammy-backports InRelease                         
Get:18 http://archive.ubuntu.com/ubuntu jammy-security InRelease [110 kB]
...
Fetched 231 kB in 2s (146 kB/s)
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
2 packages can be upgraded. Run 'apt list --upgradable' to see them.

$ sudo apt upgrade
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Calculating upgrade... Done
The following NEW packages will be installed:
  r-cran-r2rtf
The following packages have been kept back:
  firmware-sof-signed
The following packages will be upgraded:
  r-cran-gsdesign
1 upgraded, 1 newly installed, 0 to remove and 1 not upgraded.
Need to get 323 kB/1,764 kB of archives.
After this operation, 502 kB of additional disk space will be used.
Do you want to continue? [Y/n] y
Err:1 https://r2u.stat.illinois.edu/ubuntu jammy/main all r-cran-r2rtf all 1.1.0-1.ca2204.1
  404  Not Found [IP: 192.17.190.167 443]
E: Failed to fetch https://r2u.stat.illinois.edu/ubuntu/pool/dists/jammy/main/r-cran-r2rtf_1.1.0-1.ca2204.1_all.deb  404  Not Found [IP: 192.17.190.167 443]
E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?

The strange thing is that I can get the deb file directly using a web browser and going to https://r2u.stat.illinois.edu/ubuntu/pool/dists/jammy/main/, but not with wget or curl.

Some packages fail to install

Some packages, e.g. ggplot2 fail to install:

Minimal example:

FROM eddelbuettel/r2u:22.04
RUN sudo apt-get -y install r-cran-ggplot2

output:

 docker build . -t cronicle -f ./Dockerfile --platform linux/amd64                                                                                  13:42:32
[+] Building 11.0s (5/5) FINISHED                                                                                                                                                     
 => [internal] load build definition from Dockerfile                                                                                                                             0.0s
 => => transferring dockerfile: 1.10kB                                                                                                                                           0.0s
 => [internal] load .dockerignore                                                                                                                                                0.0s
 => => transferring context: 2B                                                                                                                                                  0.0s
 => [internal] load metadata for docker.io/eddelbuettel/r2u:22.04                                                                                                                0.2s
 => CACHED [1/2] FROM docker.io/eddelbuettel/r2u:22.04@sha256:1d3a92aab5abad11787cd6b6c9479960db9f4e56dcc7f837768da2e3f3c4dfe2                                                   0.0s
 => ERROR [2/2] RUN sudo apt-get -y install r-cran-ggplot2                                                                                                                      10.7s
------                                                                                                                                                                                
 > [2/2] RUN sudo apt-get -y install r-cran-ggplot2:                                                                                                                                  
#5 0.638 Reading package lists...                                                                                                                                                     
#5 5.752 Building dependency tree...                                                                                                                                                  
#5 6.551 Reading state information...                                                                                                                                                 
#5 7.202 The following additional packages will be installed:                                                                                                                         
#5 7.202   r-cran-cli r-cran-colorspace r-cran-digest r-cran-fansi r-cran-farver
#5 7.202   r-cran-glue r-cran-gtable r-cran-isoband r-cran-labeling r-cran-lifecycle
#5 7.202   r-cran-magrittr r-cran-munsell r-cran-pillar r-cran-pkgconfig r-cran-r6
#5 7.202   r-cran-rcolorbrewer r-cran-rlang r-cran-scales r-cran-tibble r-cran-utf8
#5 7.203   r-cran-vctrs r-cran-viridislite r-cran-withr
#5 7.206 Suggested packages:
#5 7.206   r-cran-callr r-cran-covr r-cran-htmltools r-cran-htmlwidgets r-cran-knitr
#5 7.206   r-cran-mockery r-cran-processx r-cran-ps r-cran-rmarkdown r-cran-rprojroot
#5 7.206   r-cran-rstudioapi r-cran-testthat r-cran-whoami r-cran-kernlab
#5 7.206   r-cran-mvtnorm r-cran-vcd r-cran-shiny r-cran-shinyjs r-cran-dplyr
#5 7.206   r-cran-png r-cran-jpeg r-cran-rcartocolor r-cran-scico r-cran-viridis
#5 7.206   r-cran-wesanderson r-cran-tinytest r-cran-simplermarkdown r-cran-unitizer
#5 7.206   r-cran-ragg r-cran-ggplot2movies r-cran-hexbin r-cran-hmisc r-cran-interp
#5 7.206   r-cran-mapproj r-cran-maps r-cran-maptools r-cran-multcomp r-cran-profvis
#5 7.206   r-cran-quantreg r-cran-rgeos r-cran-sf r-cran-svglite r-cran-vdiffr
#5 7.206   r-cran-xml2 r-cran-crayon r-cran-dbi r-cran-forcats r-cran-microbenchmark
#5 7.206   r-cran-r.utils r-cran-rprintf r-cran-rsqlite r-cran-stringr r-cran-waldo
#5 7.206   r-cran-magick r-cran-lintr r-cran-tidyverse r-cran-bit64 r-cran-debugme
#5 7.206   r-cran-diagrammer r-cran-formattable r-cran-lubridate r-cran-nanotime
#5 7.206   r-cran-nycflights13 r-cran-palmerpenguins r-cran-stringi r-cran-units
#5 7.206   r-cran-disposables r-cran-pryr r-cran-fs r-cran-usethis r-cran-dichromat
#5 7.206   r-cran-hms r-cran-bench r-cran-blob r-cran-brio r-cran-evaluate r-cran-mockr
#5 7.206   r-cran-pkgbuild r-cran-pkgload r-cran-purrr r-cran-tidyr r-cran-generics
#5 7.206   r-cran-pkgdown r-cran-zeallot
#5 7.588 The following NEW packages will be installed:
#5 7.588   r-cran-cli r-cran-colorspace r-cran-digest r-cran-fansi r-cran-farver
#5 7.589   r-cran-ggplot2 r-cran-glue r-cran-gtable r-cran-isoband r-cran-labeling
#5 7.589   r-cran-lifecycle r-cran-magrittr r-cran-munsell r-cran-pillar
#5 7.589   r-cran-pkgconfig r-cran-r6 r-cran-rcolorbrewer r-cran-rlang r-cran-scales
#5 7.590   r-cran-tibble r-cran-utf8 r-cran-vctrs r-cran-viridislite r-cran-withr
#5 7.971 0 upgraded, 24 newly installed, 0 to remove and 14 not upgraded.
#5 7.971 Need to get 18.5 MB of archives.
#5 7.971 After this operation, 29.1 MB of additional disk space will be used.
#5 7.971 Get:1 https://r2u.stat.illinois.edu/ubuntu jammy/main amd64 r-cran-cli amd64 3.4.1-1.ca2204.1 [1,162 kB]
#5 8.249 Get:2 https://r2u.stat.illinois.edu/ubuntu jammy/main amd64 r-cran-colorspace amd64 2.0-3-1.ca2204.1 [2,499 kB]
#5 8.757 Get:3 https://r2u.stat.illinois.edu/ubuntu jammy/main amd64 r-cran-digest amd64 0.6.30-1.ca2204.1 [184 kB]
#5 8.789 Get:4 https://r2u.stat.illinois.edu/ubuntu jammy/main amd64 r-cran-fansi amd64 1.0.3-1.ca2204.1 [295 kB]
#5 8.844 Get:5 https://r2u.stat.illinois.edu/ubuntu jammy/main amd64 r-cran-farver amd64 2.1.1-1.ca2204.1 [1,420 kB]
#5 9.092 Get:6 https://r2u.stat.illinois.edu/ubuntu jammy/main amd64 r-cran-glue amd64 1.6.2-1.ca2204.1 [143 kB]
#5 9.118 Get:7 https://r2u.stat.illinois.edu/ubuntu jammy/main all r-cran-gtable all 0.3.1-1.ca2204.1 [154 kB]
#5 9.145 Get:8 https://r2u.stat.illinois.edu/ubuntu jammy/main amd64 r-cran-isoband amd64 0.2.6-1.ca2204.1 [1,821 kB]
#5 9.463 Get:9 https://r2u.stat.illinois.edu/ubuntu jammy/main amd64 r-cran-rlang amd64 1.0.6-1.ca2204.1 [1,449 kB]
#5 9.715 Get:10 https://r2u.stat.illinois.edu/ubuntu jammy/main all r-cran-labeling all 0.4.2-1.ca2204.1 [61.0 kB]
#5 9.727 Get:11 https://r2u.stat.illinois.edu/ubuntu jammy/main all r-cran-lifecycle all 1.0.3-1.ca2204.1 [112 kB]
#5 9.750 Get:12 https://r2u.stat.illinois.edu/ubuntu jammy/main all r-cran-munsell all 0.5.0-1.ca2204.1 [231 kB]
#5 9.790 Get:13 https://r2u.stat.illinois.edu/ubuntu jammy/main all r-cran-r6 all 2.5.1-1.ca2204.1 [83.2 kB]
#5 9.809 Get:14 https://r2u.stat.illinois.edu/ubuntu jammy/main all r-cran-rcolorbrewer all 1.1-3-1.ca2204.1 [54.0 kB]
#5 9.820 Get:15 https://r2u.stat.illinois.edu/ubuntu jammy/main all r-cran-viridislite all 0.4.1-1.ca2204.1 [1,296 kB]
#5 10.04 Get:16 https://r2u.stat.illinois.edu/ubuntu jammy/main all r-cran-scales all 1.2.1-1.ca2204.1 [587 kB]
#5 10.15 Get:17 https://r2u.stat.illinois.edu/ubuntu jammy/main amd64 r-cran-magrittr amd64 2.0.3-1.ca2204.1 [199 kB]
#5 10.18 Get:18 https://r2u.stat.illinois.edu/ubuntu jammy/main amd64 r-cran-utf8 amd64 1.2.2-1.ca2204.1 [135 kB]
#5 10.21 Get:19 https://r2u.stat.illinois.edu/ubuntu jammy/main amd64 r-cran-vctrs amd64 0.5.0-1.ca2204.1 [1,191 kB]
#5 10.41 Get:20 https://r2u.stat.illinois.edu/ubuntu jammy/main all r-cran-pillar all 1.8.1-1.ca2204.1 [619 kB]
#5 10.51 Get:21 https://r2u.stat.illinois.edu/ubuntu jammy/main all r-cran-pkgconfig all 2.0.3-1.ca2204.1 [18.9 kB]
#5 10.51 Get:22 https://r2u.stat.illinois.edu/ubuntu jammy/main amd64 r-cran-tibble amd64 3.1.8-1.ca2204.1 [640 kB]
#5 10.61 Get:23 https://r2u.stat.illinois.edu/ubuntu jammy/main all r-cran-withr all 2.5.0-1.ca2204.1 [222 kB]
#5 10.65 Err:24 https://r2u.stat.illinois.edu/ubuntu jammy/main all r-cran-ggplot2 all 3.3.6-1.ca2204.1
#5 10.65   404  Not Found [IP: 192.17.190.167 443]
#5 10.67 Fetched 14.6 MB in 3s (4,796 kB/s)
#5 10.67 E: Failed to fetch https://r2u.stat.illinois.edu/ubuntu/pool/dists/jammy/main/r-cran-ggplot2_3.3.6-1.ca2204.1_all.deb  404  Not Found [IP: 192.17.190.167 443]
#5 10.67 E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?
------
executor failed running [/bin/sh -c sudo apt-get -y install r-cran-ggplot2]: exit code: 100

Description: always starts with 'CRAN Package '${name}' (${title})

Which is of course not always correct but let us hope the BioConductor packages will forgive us:

edd@vijay:~$ apt-cache show r-bioc-rgraphviz | grep "^Package\|^Description:"
Package: r-bioc-rgraphviz
Description: CRAN Package 'Rgraphviz' (Provides plotting capabilities for R graph objects)
edd@vijay:~$ 

can 'install.packages("bspm")' be used if bspm is not installed?

This may just be a documentation issue. In "step 5" of your setup instructions you say to run

Rscript -e 'install.packages("bspm")'

But bpsm is installed so the user can use install.packages(), right? Catch-22? The script in "Step 5" failed for me but
apt install r-cran-bspm from the console worked fine and install.packages() worked thereafter so no worries.

Debian support

Hello, not an issue but rather a question : I run Debian stable on my box. Is it safe/possible for me to use r2u? How about Linux but non Ubuntu users in general? Thanks for the great effort

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.