[R-sig-Debian] Problem Installing R 4.3.3 on Vanilla based Jammy Ubuntu

m@rcobi@@chette m@iii@g oii icioud@com
2024-03-27T17:33:23Z

Hi r-sig-debian list, first time posting here!

Something changed with the latest release of the R package for Ubuntu 22.04.
When trying to install within a Docker image with base Ubuntu LTS 22.04 (Jammy)
using the following Docker file (that I have been using for several years in
many projects)  that follows the install step on the CRAN Ubuntu page

FROM ubuntu:22.04

USER root

ENV DEBIAN_FRONTEND noninteractive

## INSTALL R
RUN apt update \
  && apt install -y --no-install-recommends \
  software-properties-common \
  dirmngr \
  gnupg2 \
  wget \
  && wget -q -O -
https://cloud.r-project.org/bin/linux/ubuntu/marutter_pubkey.asc \
  | tee -a /etc/apt/trusted.gpg.d/cran_ubuntu_key.asc  \
  && add-apt-repository -y "deb
https://cloud.r-project.org/bin/linux/ubuntu $(lsb_release -cs)-cran40/"

RUN apt update -y \
  && apt install -y r-base

I get the following error message:

$ apt install -y 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-base-core (>= 4.3.3-1.2204.0) but it is not going to be
installed
          Depends: r-recommended (= 4.3.3-1.2204.0) but it is not going to be
installed
          Recommends: r-base-html but it is not going to be installed
          Recommends: r-doc-html but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

So, something is not working anymore? Seems like I can?t resolve the r-base-core
package to Michael Rutter?s repo when within a docker container (built with
omitting the apt install r-base step). Looking at the policy for r-base-core, it
only resolves to the Ubuntu LTS base repo:

$ apt policy r-base-core
r-base-core:
  Installed: (none)
  Candidate: 4.1.2-1ubuntu2
  Version table:
     4.1.2-1ubuntu2 500
        500 http://ports.ubuntu.com/ubuntu-ports jammy/universe arm64 Packages

While looking at the policy for r-base, it resolves to the
cloud.r-project.org/bin/linux/ubuntu<https://cloud.r-project.org/bin/linux/ubuntu>
repos:

$ apt policy r-base
r-base:
  Installed: (none)
  Candidate: 4.3.3-1.2204.0
  Version table:
     4.3.3-1.2204.0 500
        500 https://cloud.r-project.org/bin/linux/ubuntu jammy-cran40/ Packages
     4.3.2-1.2204.0 500
        500 https://cloud.r-project.org/bin/linux/ubuntu jammy-cran40/ Packages
     4.3.1-4.2204.0 500
        500 https://cloud.r-project.org/bin/linux/ubuntu jammy-cran40/ Packages
     4.3.1-3.2204.0 500
        500 https://cloud.r-project.org/bin/linux/ubuntu jammy-cran40/ Packages
     4.3.1-2.2204.0 500
        500 https://cloud.r-project.org/bin/linux/ubuntu jammy-cran40/ Packages
     4.3.1-1.2204.0 500
        500 https://cloud.r-project.org/bin/linux/ubuntu jammy-cran40/ Packages
     4.3.0-1.2204.0 500
        500 https://cloud.r-project.org/bin/linux/ubuntu jammy-cran40/ Packages
     4.2.3-1.2204.0 500
        500 https://cloud.r-project.org/bin/linux/ubuntu jammy-cran40/ Packages
     4.2.2.20221110-1.2204.0 500
        500 https://cloud.r-project.org/bin/linux/ubuntu jammy-cran40/ Packages
     4.2.2-1.2204.0 500
        500 https://cloud.r-project.org/bin/linux/ubuntu jammy-cran40/ Packages
     4.2.1-3.2204.0 500
        500 https://cloud.r-project.org/bin/linux/ubuntu jammy-cran40/ Packages
     4.2.1-2.2204.0 500
        500 https://cloud.r-project.org/bin/linux/ubuntu jammy-cran40/ Packages
     4.2.1-1.2204.0 500
        500 https://cloud.r-project.org/bin/linux/ubuntu jammy-cran40/ Packages
     4.2.0-1.2204.0 500
        500 https://cloud.r-project.org/bin/linux/ubuntu jammy-cran40/ Packages
     4.1.2-1ubuntu2 500
        500 http://ports.ubuntu.com/ubuntu-ports jammy/universe arm64 Packages


Finally, if I change the repos to M. Rutter ppa, it fixes the problem. Here?s a
working version of the Dockerfile with the changes

FROM ubuntu:22.04

USER root

ENV DEBIAN_FRONTEND noninteractive

## INSTALL R
RUN apt update \
  && apt install -y --no-install-recommends \
  software-properties-common \
  dirmngr \
  gnupg2 \
  wget \
  && wget -q -O -
https://cloud.r-project.org/bin/linux/ubuntu/marutter_pubkey.asc \
  | tee -a /etc/apt/trusted.gpg.d/cran_ubuntu_key.asc  \
  && add-apt-repository -y "ppa:marutter/rrutter4.0"

RUN apt update -y \
  && apt install -y r-base

If this is the new way of pulling r-base with apt install, the CRAN
documentation should be updated but I have a feeling that something basic is
broken somewhere that could be easily fixed. I don?t maintain Ubuntu package so
this is the extent of my knowledge but I have many deployed pipelines
referencing
cloud.r-project.org/bin/linux/ubuntu<https://cloud.r-project.org/bin/linux/ubuntu>
that will probably need updated?

Looking forward to solutions.

Marco

	[[alternative HTML version deleted]]