Build can't find r-cran-xxx binaries

My R package has stopped building because it can’t find r-cran-xxx binaries in both r-stable and r-devel. Looking at the log, the PPA ppa:marutter/rrutter4.0 is being added but none of the the list of packages I’ve put under r-binary-packages are found. For example:

E: Unable to locate package r-cran-curl

The full log is here:
https://travis-ci.org/github/ImperialCollegeLondon/safedata/jobs/688323701

I suspect this is to do with moving from R3.x to R4.0 and caching, but I’m not clear what I need to do.

Many thanks for supporting Travis and R!
David

Hello @davidorme,

Have you tried adding this package in your config?

r_packages: devtools

I have just tried that, and also commented out the cache: packages in my .travis.yml file, but I’m still getting the same issue:

https://travis-ci.org/github/ImperialCollegeLondon/safedata/jobs/688712061

From earlier builds, it looks like source R packages (r_packages) get installed after binary ones (r_binary_packages), so it looks like adding devtools is downstream of the issue?

Did you check if the binary packages you are trying to install actually exist?

E.g. googling “apt r-cran-assertthat” and looking at the PPAs that the build installs suggest that it’s expected to be present in Ubuntu stock repos. It is, but its only available since Bionic while you are using Xenial.

Aha. In previous builds (before R 4.0), I think all the r-cran-xxx binaries were coming from the first PPA in the build list (ppa:marutter/rrutter3.5). That has been replaced by a new PPA (ppa:marutter/rrutter4.0) which seems to have many fewer packages available. If those packages have been moved to Ubuntu stock in Bionic, then that fits - using the new version of R on the older Ubuntu version leaves a gap.

It seems like the default dist setting is Xenial, so I think I need to add dist: bionic to my config to fix this.

1 Like

OK. I spoke too soon. That didn’t work.

https://travis-ci.org/github/ImperialCollegeLondon/safedata/jobs/689273261

WTH? You are not getting Bionic! Another missing image?

I guess you can try installing those packages from CRAN (via r_packages:) instead as a workaround…

I’d missed that I was still getting Xenial. That explains why it didn’t fix it. Something weird going on.

Ah. Same as this issue, I think. Everything has shifted to 4.0 and the PPA isn’t populated yet. It seems like I can wait for the binaries or shift to source packages (assuming I can’t get bionic).

Also, I’ve checked the build details from another recent question that mentioned bionic and that also specifies dist: bionic but gets Xenial:

Travis support reports that they have now added dist: bionic images for language: r. So this issue should be solved now.

hi I have the same issue with language: r and dist: bionic — I’m getting

Operating System Details
Distributor ID: Ubuntu
Description: Ubuntu 16.04.6 LTS

https://travis-ci.org/tdhock/nc/builds/575098317

2 Likes

For dist: bionic VM Xenial is still used with language: r

I am now getting bionic correctly, which is great, but that still isn’t resolving the original problem with the lack of binary packages. I’ve just tried reverting to my original config (a handful of source installs and a long list of binary packages) and it fails to find the binaries.

It is successfully adding the marutter repo, which used to provide a long list of binary packages:

sudo add-apt-repository -y "ppa:marutter/rrutter4.0"

However, as earlier, this now only provides a small set of binary packages prebuilt. I’d been using binaries because they are faster to install - I guess I can revert to building from source, but am I missing something to configure binary package installations?

@jeroen @jimhester A wide selection of binary R packages used to be available from ppa:marutter/rrutter. Are these packages planned to come back? My builds have been broken since May (example).

Thank you.

It’s better to avoid the r-cran-xyz packages on travis, and just install them from source. The problem with the r-cran binaries is that they only work for the latest version of R, whereas on Travis you can pick any R version.

The problem is that Travis has a time limit of something like 45 minutes. Some packages have a lot of dependencies that can take a long time to install.

I guess what you’re saying is that I don’t have a choice? r-cran-xyz packages aren’t coming back?

Can you point to me an R example of a two stage build? I can’t follow the Ruby code from the manual example.

Okay, I got it working, https://travis-ci.org/github/OpenMx/OpenMx/builds/702504029

They r-cran-xyz packages for R 4.0 should be available again after this gets merged: https://github.com/travis-ci/travis-build/pull/1921

1 Like