Closed mikeblas closed 8 months ago
What's going on here?
In a nutshell, the 64-bit time_t transition. You could switch containers to an Ubuntu LTS base (rocker/r2u
is great and gives you 22k CRAN binaries, see https://eddelbuettel.github.io/r2u).
Or just change apt install ....
to apt install -t unstable
. It happens every once in a while and it is a Debian issue.
Now rocker/r-base
(and r-base
) being based on Debian testing do get the skirmish from unstable in times like these.
Proof:
edd@rob:~$ dkrrr r-base bash # dkrrr is a local alias to 'docker run as root'
root@e58a6b35e10d:/# apt update -qqq;
root@e58a6b35e10d:/# apt install -t unstable curl
Recommended packages:
publicsuffix
The following packages will be REMOVED:
libcurl4 libpsl5 libssh2-1 libssl3
The following NEW packages will be installed:
curl libcurl4t64 libpsl5t64 libssh2-1t64 libssl3t64
The following packages will be upgraded:
openssl
1 upgraded, 5 newly installed, 4 to remove and 111 not upgraded.
Need to get 4,342 kB of archives.
After this operation, 543 kB of additional disk space will be used.
Get:2 http://deb.debian.org/debian sid/main amd64 libcurl4t64 amd64 8.6.0-3.2 [430 kB]
Get:3 http://deb.debian.org/debian sid/main amd64 openssl amd64 3.1.5-1.1 [1,241 kB]
Get:4 http://deb.debian.org/debian sid/main amd64 libssl3t64 amd64 3.1.5-1.1 [2,058 kB]
Get:5 http://deb.debian.org/debian sid/main amd64 libssh2-1t64 amd64 1.11.0-4.1+b1 [215 kB]
Get:6 http://deb.debian.org/debian sid/main amd64 curl amd64 8.6.0-3.2 [341 kB]
Fetched 4,342 kB in 0s (11.1 MB/s)
debconf: delaying package configuration, since apt-utils is not installed
dpkg: libpsl5:amd64: dependency problems, but removing anyway as you requested:
wget depends on libpsl5 (>= 0.16.0).
libcurl4:amd64 depends on libpsl5 (>= 0.16.0).
(Reading database ... 18943 files and directories currently installed.)
Removing libpsl5:amd64 (0.21.2-1+b1) ...
Selecting previously unselected package libpsl5t64:amd64.
(Reading database ... 18936 files and directories currently installed.)
Preparing to unpack .../libpsl5t64_0.21.2-1.1_amd64.deb ...
Unpacking libpsl5t64:amd64 (0.21.2-1.1) ...
dpkg: libcurl4:amd64: dependency problems, but removing anyway as you requested:
r-base-core depends on libcurl4 (>= 7.28.0).
(Reading database ... 18943 files and directories currently installed.)
Removing libcurl4:amd64 (8.6.0-3) ...
Selecting previously unselected package libcurl4t64:amd64.
(Reading database ... 18937 files and directories currently installed.)
Preparing to unpack .../libcurl4t64_8.6.0-3.2_amd64.deb ...
Unpacking libcurl4t64:amd64 (8.6.0-3.2) ...
(Reading database ... 18944 files and directories currently installed.)
Removing libssh2-1:amd64 (1.11.0-4) ...
(Reading database ... 18936 files and directories currently installed.)
Preparing to unpack .../openssl_3.1.5-1.1_amd64.deb ...
Unpacking openssl (3.1.5-1.1) over (3.1.5-1) ...
dpkg: libssl3:amd64: dependency problems, but removing anyway as you requested:
libsasl2-2:amd64 depends on libssl3 (>= 3.0.0).
libkrb5-3:amd64 depends on libssl3 (>= 3.0.0).
coreutils depends on libssl3 (>= 3.0.0).
(Reading database ... 18936 files and directories currently installed.)
Removing libssl3:amd64 (3.1.5-1) ...
Selecting previously unselected package libssl3t64:amd64.
(Reading database ... 18923 files and directories currently installed.)
Preparing to unpack .../libssl3t64_3.1.5-1.1_amd64.deb ...
Unpacking libssl3t64:amd64 (3.1.5-1.1) ...
Setting up libssl3t64:amd64 (3.1.5-1.1) ...
Selecting previously unselected package libssh2-1t64:amd64.
(Reading database ... 18938 files and directories currently installed.)
Preparing to unpack .../libssh2-1t64_1.11.0-4.1+b1_amd64.deb ...
Unpacking libssh2-1t64:amd64 (1.11.0-4.1+b1) ...
Selecting previously unselected package curl.
Preparing to unpack .../curl_8.6.0-3.2_amd64.deb ...
Unpacking curl (8.6.0-3.2) ...
Setting up libpsl5t64:amd64 (0.21.2-1.1) ...
Setting up libssh2-1t64:amd64 (1.11.0-4.1+b1) ...
Setting up openssl (3.1.5-1.1) ...
Setting up libcurl4t64:amd64 (8.6.0-3.2) ...
Setting up curl (8.6.0-3.2) ...
Processing triggers for libc-bin (2.37-15) ...
root@e58a6b35e10d:/#
Also, as I mentioned:
edd@rob:~$ dkrrr rocker/r2u bash
root@9e5f54ba4dd5:/# Rscript -e 'install.packages("odbc")'
Get:1 https://cloud.r-project.org/bin/linux/ubuntu jammy-cran40/ InRelease [3626 B]
Get:2 http://security.ubuntu.com/ubuntu jammy-security InRelease [110 kB]
Get:3 https://cloud.r-project.org/bin/linux/ubuntu jammy-cran40/ Packages [50.4 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://r2u.stat.illinois.edu/ubuntu jammy Release.gpg [793 B]
Get:6 https://r2u.stat.illinois.edu/ubuntu jammy/main amd64 Packages [2480 kB]
Get:7 http://archive.ubuntu.com/ubuntu jammy InRelease [270 kB]
Get:8 https://r2u.stat.illinois.edu/ubuntu jammy/main all Packages [7895 kB]
Get:9 http://security.ubuntu.com/ubuntu jammy-security/multiverse amd64 Packages [44.6 kB]
Get:10 http://security.ubuntu.com/ubuntu jammy-security/main amd64 Packages [1569 kB]
Get:11 http://security.ubuntu.com/ubuntu jammy-security/universe amd64 Packages [1079 kB]
Get:12 http://security.ubuntu.com/ubuntu jammy-security/restricted amd64 Packages [1960 kB]
Get:13 http://archive.ubuntu.com/ubuntu jammy-updates InRelease [119 kB]
Get:14 http://archive.ubuntu.com/ubuntu jammy-backports InRelease [109 kB]
Get:15 http://archive.ubuntu.com/ubuntu jammy/universe amd64 Packages [17.5 MB]
Get:16 http://archive.ubuntu.com/ubuntu jammy/main amd64 Packages [1792 kB]
Get:17 http://archive.ubuntu.com/ubuntu jammy/restricted amd64 Packages [164 kB]
Get:18 http://archive.ubuntu.com/ubuntu jammy/multiverse amd64 Packages [266 kB]
Get:19 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 Packages [1848 kB]
Get:20 http://archive.ubuntu.com/ubuntu jammy-updates/multiverse amd64 Packages [50.4 kB]
Get:21 http://archive.ubuntu.com/ubuntu jammy-updates/restricted amd64 Packages [1997 kB]
Get:22 http://archive.ubuntu.com/ubuntu jammy-updates/universe amd64 Packages [1352 kB]
Get:23 http://archive.ubuntu.com/ubuntu jammy-backports/universe amd64 Packages [33.3 kB]
Get:24 http://archive.ubuntu.com/ubuntu jammy-backports/main amd64 Packages [80.9 kB]
Fetched 40.8 MB in 0s (0 B/s)
Install system packages as root...
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Get:1 https://r2u.stat.illinois.edu/ubuntu jammy/main amd64 r-cran-bit amd64 4.0.5-1.ca2204.1 [1061 kB]
Get:2 http://archive.ubuntu.com/ubuntu jammy/main amd64 libltdl7 amd64 2.4.6-15build2 [39.6 kB]
Get:3 https://r2u.stat.illinois.edu/ubuntu jammy/main amd64 r-cran-bit64 amd64 4.0.5-1.ca2204.1 [466 kB]
Get:4 https://r2u.stat.illinois.edu/ubuntu jammy/main amd64 r-cran-rlang amd64 1.1.3-1.ca2204.1 [1500 kB]
Get:5 https://r2u.stat.illinois.edu/ubuntu jammy/main amd64 r-cran-cli amd64 3.6.2-1.ca2204.1 [1239 kB]
Get:6 https://r2u.stat.illinois.edu/ubuntu jammy/main amd64 r-cran-glue amd64 1.7.0-1.ca2204.1 [147 kB]
Get:7 https://r2u.stat.illinois.edu/ubuntu jammy/main all r-cran-lifecycle all 1.0.4-1.ca2204.1 [113 kB]
Get:8 https://r2u.stat.illinois.edu/ubuntu jammy/main amd64 r-cran-vctrs amd64 0.6.5-1.ca2204.1 [1214 kB]
Get:9 https://r2u.stat.illinois.edu/ubuntu jammy/main all r-cran-blob all 1.2.4-1.ca2204.1 [46.9 kB]
Get:10 https://r2u.stat.illinois.edu/ubuntu jammy/main all r-cran-dbi all 1.2.2-1.ca2204.1 [835 kB]
Get:11 https://r2u.stat.illinois.edu/ubuntu jammy/main all r-cran-pkgconfig all 2.0.3-1.ca2204.1 [18.9 kB]
Get:12 https://r2u.stat.illinois.edu/ubuntu jammy/main all r-cran-hms all 1.1.3-1.ca2204.1 [96.9 kB]
Get:13 https://r2u.stat.illinois.edu/ubuntu jammy/main amd64 r-cran-rcpp amd64 1.0.12-1.ca2204.1 [1972 kB]
Get:14 https://r2u.stat.illinois.edu/ubuntu jammy/main amd64 r-cran-odbc amd64 1.4.2-1.ca2204.1 [633 kB]
Get:15 http://archive.ubuntu.com/ubuntu jammy/main amd64 libodbc2 amd64 2.3.9-5 [159 kB]
Fetched 9543 kB in 0s (0 B/s)
Selecting previously unselected package libltdl7:amd64.
(Reading database ... 18321 files and directories currently installed.)
Preparing to unpack .../00-libltdl7_2.4.6-15build2_amd64.deb ...
Unpacking libltdl7:amd64 (2.4.6-15build2) ...
Selecting previously unselected package libodbc2:amd64.
Preparing to unpack .../01-libodbc2_2.3.9-5_amd64.deb ...
Unpacking libodbc2:amd64 (2.3.9-5) ...
Selecting previously unselected package r-cran-bit.
Preparing to unpack .../02-r-cran-bit_4.0.5-1.ca2204.1_amd64.deb ...
Unpacking r-cran-bit (4.0.5-1.ca2204.1) ...
Selecting previously unselected package r-cran-bit64.
Preparing to unpack .../03-r-cran-bit64_4.0.5-1.ca2204.1_amd64.deb ...
Unpacking r-cran-bit64 (4.0.5-1.ca2204.1) ...
Selecting previously unselected package r-cran-rlang.
Preparing to unpack .../04-r-cran-rlang_1.1.3-1.ca2204.1_amd64.deb ...
Unpacking r-cran-rlang (1.1.3-1.ca2204.1) ...
Selecting previously unselected package r-cran-cli.
Preparing to unpack .../05-r-cran-cli_3.6.2-1.ca2204.1_amd64.deb ...
Unpacking r-cran-cli (3.6.2-1.ca2204.1) ...
Selecting previously unselected package r-cran-glue.
Preparing to unpack .../06-r-cran-glue_1.7.0-1.ca2204.1_amd64.deb ...
Unpacking r-cran-glue (1.7.0-1.ca2204.1) ...
Selecting previously unselected package r-cran-lifecycle.
Preparing to unpack .../07-r-cran-lifecycle_1.0.4-1.ca2204.1_all.deb ...
Unpacking r-cran-lifecycle (1.0.4-1.ca2204.1) ...
Selecting previously unselected package r-cran-vctrs.
Preparing to unpack .../08-r-cran-vctrs_0.6.5-1.ca2204.1_amd64.deb ...
Unpacking r-cran-vctrs (0.6.5-1.ca2204.1) ...
Selecting previously unselected package r-cran-blob.
Preparing to unpack .../09-r-cran-blob_1.2.4-1.ca2204.1_all.deb ...
Unpacking r-cran-blob (1.2.4-1.ca2204.1) ...
Selecting previously unselected package r-cran-dbi.
Preparing to unpack .../10-r-cran-dbi_1.2.2-1.ca2204.1_all.deb ...
Unpacking r-cran-dbi (1.2.2-1.ca2204.1) ...
Selecting previously unselected package r-cran-pkgconfig.
Preparing to unpack .../11-r-cran-pkgconfig_2.0.3-1.ca2204.1_all.deb ...
Unpacking r-cran-pkgconfig (2.0.3-1.ca2204.1) ...
Selecting previously unselected package r-cran-hms.
Preparing to unpack .../12-r-cran-hms_1.1.3-1.ca2204.1_all.deb ...
Unpacking r-cran-hms (1.1.3-1.ca2204.1) ...
Selecting previously unselected package r-cran-rcpp.
Preparing to unpack .../13-r-cran-rcpp_1.0.12-1.ca2204.1_amd64.deb ...
Unpacking r-cran-rcpp (1.0.12-1.ca2204.1) ...
Selecting previously unselected package r-cran-odbc.
Preparing to unpack .../14-r-cran-odbc_1.4.2-1.ca2204.1_amd64.deb ...
Unpacking r-cran-odbc (1.4.2-1.ca2204.1) ...
Setting up r-cran-rcpp (1.0.12-1.ca2204.1) ...
Setting up r-cran-rlang (1.1.3-1.ca2204.1) ...
Setting up r-cran-dbi (1.2.2-1.ca2204.1) ...
Setting up r-cran-glue (1.7.0-1.ca2204.1) ...
Setting up r-cran-bit (4.0.5-1.ca2204.1) ...
Setting up r-cran-cli (3.6.2-1.ca2204.1) ...
Setting up r-cran-lifecycle (1.0.4-1.ca2204.1) ...
Setting up r-cran-bit64 (4.0.5-1.ca2204.1) ...
Setting up r-cran-pkgconfig (2.0.3-1.ca2204.1) ...
Setting up libltdl7:amd64 (2.4.6-15build2) ...
Setting up libodbc2:amd64 (2.3.9-5) ...
Setting up r-cran-vctrs (0.6.5-1.ca2204.1) ...
Setting up r-cran-hms (1.1.3-1.ca2204.1) ...
Setting up r-cran-blob (1.2.4-1.ca2204.1) ...
Setting up r-cran-odbc (1.4.2-1.ca2204.1) ...
Processing triggers for libc-bin (2.35-0ubuntu3.1) ...
root@9e5f54ba4dd5:/#
I use this a lot myself, for CI, for development, for testing, for easier setup. No compilation needed. As I tend to say
r2u. Fast. Easy. Reliable. Pick all three.
Great, thanks! I hadn't heard for r2u before, but it looks very useful.
It's the best thing since slided bread. I worked on such approaches for 20 years, and this one gets it done. Lovely.
Some history and context here: https://arxiv.org/abs/2103.08069
So see you over at the r2u repo / rocker containers and make sure you give the repo a star.
@eddelbuettel as we discussed some years ago, I am using r-base on ppc64le and i ran into the same problem as discussed here, for me the apt-get -y install -t unstable
is the way to go since there is no ppc64le version of the r2u image, but id love to use r2u in the fututre. Could you be a dear and have r2u also build for ppc64le?
@Someone894 I wrote about that on mastodon the other day. May take a million USD or EUR and two engineers.
Until then it will remain what I wrote and run under my time budget to solve my (and others) need on x86_64. Sorry but your expectation is not realistic. Maybe if you pool with other ppc64le users you can bootstrap something.
Sorry, I had in mind that its only flipping a switch for you and it works, I dident knew it was much work, then forget about it.
Looks like the new r-base has broken a lot of packages. If I have this dockerfile, I can't build it:
because some packages have unmet dependencies:
If I use
FROM r-base:4.3.0
, this dockerifle builds just fine.Some code in the
dockerfile
forr-base
was left un-commented; it seems to be adding a Debian experimental repository, plus eddelbuettel's PPA to the repository. I haven't seen that stanza un-commented before. I don't understand why it exists, but it seems to be the cause of the break.What's going on here?