Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add docker operation mode #98

Open
wants to merge 6 commits into
base: main
Choose a base branch
from
Open

Conversation

multimeric
Copy link

Motivation: it's surprisingly difficult to get this to run, because there are some hidden dependencies and tricks required to get it working. Also, not everything is portable, as shown by #96. See also #95 for more motivation.

Changes

  • Add a Dockerfile
  • Add a conda environment definition (env.yaml)
  • Bump xslt to 1.4.5, since this compiles correctly using conda libraries
  • Document how to run this project using docker

Closes #95.

Testing
I have already tested this on https://github.com/carpentries-incubator/docker-introduction, which completed successfully. Some tweaks are needed however.

@sstevens2
Copy link

@multimeric really appreciate your putting this together! And that you used it to convert my docker lesson! Must have felt a bit circular.

I'm trying to use this branch to convert my git lesson (with PRs/branches/conflicts) in the incubator to the workbench. I got the following error when I tried to build the image.

ERROR: failed to solve: process "/usr/local/bin/_dockerfile_shell.sh R -e 'options(renv.config.pak.enabled = TRUE); renv::restore()'" did not complete successfully: exit code: 1

Any help you can provide?

@multimeric
Copy link
Author

Happy to help. Can you list the steps you used, and the output from the build step?

@sstevens2
Copy link

I cloned the lesson transition repo, then updated the submodule. Then ran the build command. Below is the full output from the build command.

Full output here
$ docker build . --tag lesson-transition
[+] Building 68.2s (11/12)                                                                                  docker:desktop-linux
 => [internal] load build definition from Dockerfile                                                                        0.0s
 => => transferring dockerfile: 678B                                                                                        0.0s
 => [internal] load metadata for docker.io/mambaorg/micromamba:1.5.8                                                        0.6s
 => [auth] mambaorg/micromamba:pull token for registry-1.docker.io                                                          0.0s
 => [internal] load .dockerignore                                                                                           0.0s
 => => transferring context: 2B                                                                                             0.0s
 => [1/7] FROM docker.io/mambaorg/micromamba:1.5.8@sha256:7644c62611ba0b661d7dbd905c1c66af9c8a9253cd0b483396500d95120f8415  0.0s
 => [internal] load build context                                                                                           0.4s
 => => transferring context: 41.39MB                                                                                        0.4s
 => CACHED [2/7] COPY --chown=mambauser:mambauser env.yaml /tmp/env.yaml                                                    0.0s
 => CACHED [3/7] RUN micromamba install -y -n base -f /tmp/env.yaml && micromamba clean --all --yes                         0.0s
 => [4/7] COPY --chown=mambauser:mambauser . lesson-transition                                                              0.2s
 => [5/7] WORKDIR lesson-transition                                                                                         0.0s
 => ERROR [6/7] RUN R -e 'options(renv.config.pak.enabled = TRUE); renv::restore()'                                        66.9s
------
 > [6/7] RUN R -e 'options(renv.config.pak.enabled = TRUE); renv::restore()':
0.350
0.350 R version 4.3.2 (2023-10-31) -- "Eye Holes"
0.350 Copyright (C) 2023 The R Foundation for Statistical Computing
0.350 Platform: aarch64-conda-linux-gnu (64-bit)
0.350
0.350 R is free software and comes with ABSOLUTELY NO WARRANTY.
0.350 You are welcome to redistribute it under certain conditions.
0.350 Type 'license()' or 'licence()' for distribution details.
0.350
0.350 R is a collaborative project with many contributors.
0.350 Type 'contributors()' for more information and
0.350 'citation()' on how to cite R or R packages in publications.
0.350
0.350 Type 'demo()' for some demos, 'help()' for on-line help, or
0.350 'help.start()' for an HTML browser interface to help.
0.350 Type 'q()' to quit R.
0.350
0.390 # Bootstrapping renv 1.0.3 ---------------------------------------------------
0.390 - Downloading renv ... OK
1.124 - Installing renv  ... OK
5.978
6.077 - Project '/tmp/lesson-transition' loaded. [renv 1.0.3]
6.080 - None of the packages recorded in the lockfile are currently installed.
6.102 > options(renv.config.pak.enabled = TRUE); renv::restore()
6.322 # Downloading packages -------------------------------------------------------
6.323 - Downloading pak from r-lib ...                OK [8.3 Mb in 0.44s]
6.993 Successfully downloaded 1 package in 0.74 seconds.
6.993
6.994 The following package(s) will be installed:
6.994 - pak [0.7.2]
6.994 These packages will be installed into "/tmp/lesson-transition/renv/library/R-4.3/aarch64-conda-linux-gnu".
6.994
6.994 # Installing packages --------------------------------------------------------
7.096 - Installing pak ...                            OK [installed binary and cached in 0.92s]
8.022 Successfully installed 1 package in 1 second.
8.898 ! Using bundled GitHub PAT. Please add your own PAT using `gitcreds::gitcreds_set()`.
9.302
11.37 ✔ Updated metadata database: 3.83 MB in 9 files.
11.37
11.38 ℹ Updating metadata database
15.67 ✔ Updating metadata database ... done
15.67
20.49
20.49 → Will install 86 packages.
20.50 → Will download 45 CRAN packages (13.33 MB).
20.50 → Will download 41 packages with unknown size.
20.51 + askpass       1.2.0      [bld][cmp][dl] (6.04 kB)
20.51 + assertthat    0.2.1      [bld][dl] (12.74 kB)
20.51 + base64enc     0.1-3      [bld][cmp][dl] (7.83 kB)
20.51 + brio          1.1.4      [bld][cmp][dl]
20.51 + bslib         0.6.1      [bld][dl]
20.51 + cachem        1.0.8      [bld][cmp][dl]
20.51 + callr         3.7.3      [bld][dl]
20.51 + cli           3.6.2      [bld][cmp][dl]
20.51 + clipr         0.8.0      [bld][dl] (21.90 kB)
20.51 + commonmark    1.9.1      [bld][cmp][dl] (145.98 kB)
20.51 + cpp11         0.4.7      [bld][dl] (285.78 kB)
20.51 + crayon        1.5.2      [bld][dl]
20.51 + credentials   2.0.1      [bld][dl] (283.84 kB) + ✖ git
20.51 + curl          5.2.0      [bld][cmp][dl] + ✖ libcurl4-openssl-dev, ✖ libssl-dev
20.51 + desc          1.4.3      [bld][dl] (80.07 kB)
20.51 + digest        0.6.34     [bld][cmp][dl]
20.51 + docopt        0.7.1      [bld][dl] (29.46 kB)
20.51 + downlit       0.4.3      [bld][dl]
20.51 + dplyr         1.1.4      [bld][cmp][dl] (1.21 MB)
20.51 + ellipsis      0.3.2      [bld][cmp][dl] (8.07 kB)
20.51 + evaluate      0.23       [bld][dl]
20.51 + fansi         1.0.6      [bld][cmp][dl] (482.48 kB)
20.51 + fastmap       1.1.1      [bld][cmp][dl]
20.51 + fontawesome   0.5.2      [bld][dl] (1.28 MB)
20.51 + fs            1.6.3      [bld][cmp][dl] + ✖ make
20.51 + generics      0.1.3      [bld][dl] (172.20 kB)
20.51 + gert          2.0.1      [bld][cmp][dl] (122.72 kB) + ✖ libgit2-dev
20.51 + gh            1.4.0      [bld][dl]
20.51 + gitcreds      0.1.2      [bld][dl] (62.57 kB) + ✖ git
20.51 + glue          1.7.0      [bld][cmp][dl] (105.42 kB)
20.51 + here          1.0.1      [bld][dl] (32.95 kB)
20.51 + highr         0.10       [bld][dl]
20.51 + htmltools     0.5.7      [bld][cmp][dl]
20.51 + httpuv        1.6.14     [bld][cmp][dl] + ✖ make, ✖ zlib1g-dev
20.51 + httr          1.4.7      [bld][dl] (118.50 kB)
20.51 + httr2         1.0.0      [bld][dl]
20.51 + ini           0.3.1      [bld][dl] (3.49 kB)
20.51 + jquerylib     0.1.4      [bld][dl] (520.21 kB)
20.51 + jsonlite      1.8.8      [bld][cmp][dl] (1.05 MB)
20.51 + knitr         1.45       [bld][dl] + ✖ pandoc
20.51 + later         1.3.2      [bld][cmp][dl] (63.60 kB)
20.51 + lifecycle     1.0.4      [bld][dl] (107.66 kB)
20.51 + magrittr      2.0.3      [bld][cmp][dl] (267.07 kB)
20.51 + memoise       2.0.1      [bld][dl] (17.85 kB)
20.51 + mime          0.12       [bld][cmp][dl] (12.56 kB)
20.51 + openssl       2.1.1      [bld][cmp][dl] + ✖ libssl-dev
20.51 + pandoc        0.2.0      [bld][dl] (42.68 kB)
20.51 + pegboard      0.7.6      [bld][cmp][dl] (GitHub: ad2542f)
20.51 + pillar        1.9.0      [bld][dl] (444.53 kB)
20.51 + pkgconfig     2.0.3      [bld][dl] (6.08 kB)
20.51 + pkgdown       2.0.7      [bld][dl] + ✖ pandoc
20.51 + processx      3.8.3      [bld][cmp][dl]
20.51 + promises      1.2.1      [bld][cmp][dl]
20.51 + ps            1.7.6      [bld][cmp][dl]
20.51 + purrr         1.0.2      [bld][cmp][dl] (220.87 kB)
20.51 + R6            2.5.1      [bld][dl] (63.42 kB)
20.51 + ragg          1.2.7      [bld][cmp][dl] + ✖ libfreetype6-dev, ✖ libjpeg-dev, ✖ libpng-dev, ✖ libtiff-dev
20.51 + rappdirs      0.3.3      [bld][cmp][dl] (12.29 kB)
20.51 + Rcpp          1.0.12     [bld][cmp][dl] (3.43 MB)
20.51 + rlang         1.1.3      [bld][cmp][dl]
20.51 + rmarkdown     2.25       [bld][dl] + ✖ pandoc
20.51 + rprojroot     2.0.4      [bld][dl] (59.95 kB)
20.51 + rstudioapi    0.15.0     [bld][dl]
20.51 + sandpaper     0.16.5     [bld][cmp][dl] (GitHub: 82d0ee3) + ✖ pandoc
20.51 + sass          0.4.8      [bld][cmp][dl] + ✖ make
20.51 + servr         0.29       [bld][dl]
20.51 + stringi       1.8.3      [bld][cmp][dl] + ✖ libicu-dev
20.51 + stringr       1.5.1      [bld][dl] (176.60 kB)
20.51 + sys           3.4.2      [bld][cmp][dl] (20.17 kB)
20.51 + systemfonts   1.0.5      [bld][cmp][dl] + ✖ libfontconfig1-dev, ✖ libfreetype6-dev
20.51 + textshaping   0.3.7      [bld][cmp][dl] + ✖ libfreetype6-dev, ✖ libfribidi-dev, ✖ libharfbuzz-dev
20.51 + tibble        3.2.1      [bld][cmp][dl] (565.98 kB)
20.51 + tidyselect    1.2.0      [bld][dl]
20.51 + tinkr         0.2.0.9000 [bld][cmp][dl] (GitHub: 8a57235)
20.51 + tinytex       0.49       [bld][dl]
20.51 + usethis       2.2.2      [bld][dl]
20.51 + utf8          1.2.4      [bld][cmp][dl] (241.08 kB)
20.51 + varnish       1.0.3      [bld][cmp][dl] (GitHub: 1f1e219)
20.51 + vctrs         0.6.5      [bld][cmp][dl] (969.07 kB)
20.51 + whisker       0.4.1      [bld][dl] (28.59 kB)
20.51 + withr         3.0.0      [bld][dl] (107.68 kB)
20.51 + xfun          0.42       [bld][cmp][dl]
20.51 + xml2          1.3.6      [bld][cmp][dl] (294.71 kB) + ✖ libxml2-dev
20.51 + xslt          1.4.5      [bld][cmp][dl] (17.79 kB) + ✖ libxslt-dev
20.51 + yaml          2.3.8      [bld][cmp][dl]
20.51 + zip           2.3.1      [bld][cmp][dl] (111.28 kB)
20.52 ✖ Missing 17 system packages. You'll probably need to install them manually:
20.52 + git                   - credentials, gitcreds
20.52 + libcurl4-openssl-dev  - curl
20.52 + libfontconfig1-dev    - systemfonts
20.52 + libfreetype6-dev      - systemfonts, textshaping, ragg
20.52 + libfribidi-dev        - textshaping
20.52 + libgit2-dev           - gert
20.52 + libharfbuzz-dev       - textshaping
20.52 + libicu-dev            - stringi
20.52 + libjpeg-dev           - ragg
20.52 + libpng-dev            - ragg
20.52 + libssl-dev            - curl, openssl
20.52 + libtiff-dev           - ragg
20.52 + libxml2-dev           - xml2
20.52 + libxslt-dev           - xslt
20.52 + make                  - fs, httpuv, sass
20.52 + pandoc                - sandpaper, knitr, pkgdown, rmarkdown
20.52 + zlib1g-dev            - httpuv
20.66 ℹ Getting 45 pkgs (13.33 MB) and 41 pkgs with unknown sizes
21.46 ✔ Got brio 1.1.4 (source) (13.08 kB)
21.51 ✔ Got downlit 0.4.3 (source) (36.89 kB)
21.54 ✔ Got systemfonts 1.0.5 (source) (80.64 kB)
21.57 ✔ Got textshaping 0.3.7 (source) (35.10 kB)
21.63 ✔ Got htmltools 0.5.7 (source) (134.68 kB)
21.64 ✔ Got yaml 2.3.8 (source) (94.76 kB)
21.67 ✔ Got digest 0.6.34 (source) (178.16 kB)
21.69 ✔ Got askpass 1.2.0 (source) (6.04 kB)
21.71 ✔ Got base64enc 0.1-3 (source) (7.83 kB)
21.72 ✔ Got httr2 1.0.0 (source) (212.03 kB)
21.74 ✔ Got sys 3.4.2 (source) (20.32 kB)
21.74 ✔ Got assertthat 0.2.1 (source) (12.61 kB)
21.75 ✔ Got evaluate 0.23 (source) (28.35 kB)
21.76 ✔ Got R6 2.5.1 (source) (64.11 kB)
21.77 ✔ Got gh 1.4.0 (source) (41.21 kB)
21.79 ✔ Got xslt 1.4.5 (source) (17.98 kB)
21.81 ✔ Got callr 3.7.3 (source) (97.81 kB)
21.87 ✔ Got crayon 1.5.2 (source) (40.57 kB)
21.90 ✔ Got zip 2.3.1 (source) (111.44 kB)
21.93 ✔ Got pandoc 0.2.0 (source) (42.76 kB)
21.94 ✔ Got ps 1.7.6 (source) (129.49 kB)
21.95 ✔ Got here 1.0.1 (source) (32.91 kB)
22.00 ✔ Got xml2 1.3.6 (source) (294.72 kB)
22.02 ✔ Got ragg 1.2.7 (source) (425.50 kB)
22.06 ✔ Got httr 1.4.7 (source) (118.57 kB)
22.11 ✔ Got fansi 1.0.6 (source) (482.60 kB)
22.26 ✔ Got lifecycle 1.0.4 (source) (108.36 kB)
22.30 ✔ Got openssl 2.1.1 (source) (1.21 MB)
22.32 ✔ Got pkgconfig 2.0.3 (source) (6.10 kB)
22.35 ✔ Got curl 5.2.0 (source) (715.88 kB)
22.45 ✔ Got rlang 1.1.3 (source) (763.76 kB)
22.45 ✔ Got tidyselect 1.2.0 (source) (101.50 kB)
22.50 ✔ Got dplyr 1.1.4 (source) (1.21 MB)
22.52 ✔ Got docopt 0.7.1 (source) (29.57 kB)
22.53 ✔ Got credentials 2.0.1 (source) (283.00 kB)
22.57 ✔ Got pillar 1.9.0 (source) (441.98 kB)
22.63 ✔ Got jquerylib 0.1.4 (source) (520.37 kB)
22.79 ✔ Got vctrs 0.6.5 (source) (967.95 kB)
22.80 ✔ Got tinkr 0.2.0.9000 (source) (169.22 kB)
23.05 ✔ Got pkgdown 2.0.7 (source) (871.47 kB)
23.11 ✔ Got servr 0.29 (source) (23.05 kB)
23.12 ✔ Got ellipsis 0.3.2 (source) (8.30 kB)
23.24 ✔ Got promises 1.2.1 (source) (3.15 MB)
23.34 ✔ Got Rcpp 1.0.12 (source) (3.43 MB)
23.40 ✔ Got glue 1.7.0 (source) (105.90 kB)
23.40 ✔ Got withr 3.0.0 (source) (108.37 kB)
23.46 ✔ Got gitcreds 0.1.2 (source) (62.81 kB)
23.47 ✔ Got utf8 1.2.4 (source) (239.71 kB)
23.51 ✔ Got commonmark 1.9.1 (source) (146.41 kB)
23.53 ✔ Got memoise 2.0.1 (source) (17.88 kB)
23.54 ✔ Got magrittr 2.0.3 (source) (267.20 kB)
23.59 ✔ Got later 1.3.2 (source) (62.18 kB)
23.63 ✔ Got rprojroot 2.0.4 (source) (61.64 kB)
23.65 ✔ Got cpp11 0.4.7 (source) (285.35 kB)
23.67 ✔ Got cli 3.6.2 (source) (569.77 kB)
23.69 ✔ Got httpuv 1.6.14 (source) (1.88 MB)
23.71 ✔ Got highr 0.10 (source) (15.08 kB)
23.75 ✔ Got tibble 3.2.1 (source) (565.72 kB)
23.77 ✔ Got purrr 1.0.2 (source) (218.46 kB)
23.78 ✔ Got clipr 0.8.0 (source) (21.95 kB)
23.82 ✔ Got desc 1.4.3 (source) (80.47 kB)
23.82 ✔ Got whisker 0.4.1 (source) (28.69 kB)
23.85 ✔ Got gert 2.0.1 (source) (123.48 kB)
23.87 ✔ Got processx 3.8.3 (source) (163.68 kB)
23.89 ✔ Got generics 0.1.3 (source) (173.58 kB)
23.91 ✔ Got fastmap 1.1.1 (source) (46.41 kB)
23.93 ✔ Got stringr 1.5.1 (source) (177.06 kB)
23.96 ✔ Got rappdirs 0.3.3 (source) (12.20 kB)
23.97 ✔ Got ini 0.3.1 (source) (3.48 kB)
23.98 ✔ Got mime 0.12 (source) (12.60 kB)
24.04 ✔ Got rstudioapi 0.15.0 (source) (115.69 kB)
24.09 ✔ Got sass 0.4.8 (source) (3.03 MB)
24.10 ✔ Got cachem 1.0.8 (source) (26.51 kB)
24.11 ✔ Got tinytex 0.49 (source) (34.20 kB)
24.18 ✔ Got jsonlite 1.8.8 (source) (1.05 MB)
24.25 ✔ Got usethis 2.2.2 (source) (371.06 kB)
24.29 ✔ Got fs 1.6.3 (source) (1.19 MB)
24.33 ✔ Got xfun 0.42 (source) (142.60 kB)
24.39 ✔ Got fontawesome 0.5.2 (source) (1.27 MB)
24.48 ✔ Got knitr 1.45 (source) (898.76 kB)
24.58 ✔ Got rmarkdown 2.25 (source) (2.19 MB)
24.69 ✔ Got bslib 0.6.1 (source) (6.06 MB)
24.77 ✔ Got pegboard 0.7.6 (source) (607.12 kB)
24.97 ✔ Got sandpaper 0.16.5 (source) (963.54 kB)
25.07 ✔ Got varnish 1.0.3 (source) (2.51 MB)
25.34 ✔ Got stringi 1.8.3 (source) (11.92 MB)
25.40 ℹ Packaging varnish 1.0.3
25.41 ℹ Building brio 1.1.4
25.70 ℹ Building digest 0.6.34
25.75 ℹ Building xfun 0.42
25.90 ℹ Building fastmap 1.1.1
25.97 ℹ Building fs 1.6.3
26.26 ℹ Building curl 5.2.0
26.35 ℹ Building yaml 2.3.8
27.18 ✔ Packaged varnish 1.0.3 (1.8s)
27.23 ℹ Building varnish 1.0.3
27.58 ✔ Built brio 1.1.4 (1.9s)
27.65 ℹ Building rlang 1.1.3
28.57 ✔ Built varnish 1.0.3 (1.2s)
28.59 ℹ Building cli 3.6.2
28.94 ✔ Built xfun 0.42 (3s)
28.98 ℹ Building rstudioapi 0.15.0
29.37 ✔ Built fastmap 1.1.1 (3.4s)
29.38 ℹ Building assertthat 0.2.1
30.47 ✔ Built assertthat 0.2.1 (1s)
30.50 ℹ Building sys 3.4.2
30.82 ✔ Built rstudioapi 0.15.0 (1.7s)
30.85 ℹ Building base64enc 0.1-3
31.00 ✔ Built curl 5.2.0 (4.6s)
31.02 ℹ Building R6 2.5.1
31.83 ✔ Built digest 0.6.34 (6s)
31.85 ✔ Built sys 3.4.2 (1.3s)
31.86 ℹ Building Rcpp 1.0.12
32.42 ✔ Built base64enc 0.1-3 (1.5s)
32.45 ✔ Built R6 2.5.1 (1.3s)
32.46 ℹ Building fansi 1.0.6
32.55 ℹ Building generics 0.1.3
32.72 ℹ Building glue 1.7.0
33.35 ✔ Built yaml 2.3.8 (6.9s)
33.37 ℹ Building magrittr 2.0.3
33.71 ✔ Built generics 0.1.3 (1.1s)
33.73 ℹ Building pkgconfig 2.0.3
34.73 ✔ Built glue 1.7.0 (1.9s)
34.79 ℹ Building utf8 1.2.4
34.93 ✔ Built pkgconfig 2.0.3 (1.1s)
35.00 ℹ Building withr 3.0.0
35.14 ✔ Built magrittr 2.0.3 (1.6s)
35.16 ℹ Building clipr 0.8.0
36.26 ✔ Built clipr 0.8.0 (1s)
36.29 ℹ Building commonmark 1.9.1
36.76 ✔ Built withr 3.0.0 (1.6s)
36.77 ℹ Building cpp11 0.4.7
38.08 ✔ Built fansi 1.0.6 (5.5s)
38.09 ℹ Building gitcreds 0.1.2
38.16 ✔ Built cpp11 0.4.7 (1.3s)
38.17 ℹ Building ini 0.3.1
39.20 ✔ Built utf8 1.2.4 (4.2s)
39.24 ℹ Building jsonlite 1.8.8
39.47 ✔ Built ini 0.3.1 (1.2s)
39.48 ℹ Building mime 0.12
39.57 ✔ Built gitcreds 0.1.2 (1.4s)
39.58 ℹ Building rappdirs 0.3.3
40.68 ✔ Built mime 0.12 (1.2s)
40.72 ℹ Building rprojroot 2.0.4
40.98 ✔ Built rappdirs 0.3.3 (1.3s)
41.00 ℹ Building whisker 0.4.1
41.08 ✔ Built cli 3.6.2 (12.1s)
41.11 ℹ Building zip 2.3.1
42.09 ✔ Built rprojroot 2.0.4 (1.3s)
42.10 ℹ Building evaluate 0.23
42.29 ✔ Built whisker 0.4.1 (1.2s)
42.31 ℹ Building crayon 1.5.2
43.21 ✔ Built evaluate 0.23 (1.1s)
43.22 ℹ Building ps 1.7.6
43.45 ✔ Built rlang 1.1.3 (15.5s)
43.47 ℹ Building docopt 0.7.1
44.40 ✔ Built crayon 1.5.2 (2s)
44.41 ℹ Building stringi 1.8.3
45.08 ✔ Built jsonlite 1.8.8 (5.7s)
45.18 ✔ Installed brio 1.1.4  (28ms)
45.27 ✔ Installed varnish 1.0.3 (github::carpentries/varnish@1f1e219) (69ms)
45.33 ✔ Installed digest 0.6.34  (34ms)
45.40 ✔ Installed xfun 0.42  (26ms)
45.41 ℹ Building highr 0.10
45.46 ✔ Built docopt 0.7.1 (1.9s)
45.48 ℹ Building tinytex 0.49
46.73 ✔ Built highr 0.10 (1.3s)
46.90 ✔ Installed fastmap 1.1.1  (137ms)
46.93 ✔ Installed highr 0.10  (18ms)
47.04 ✔ Installed curl 5.2.0  (63ms)
47.10 ✔ Installed yaml 2.3.8  (23ms)
47.17 ✔ Installed rlang 1.1.3  (34ms)
47.18 ℹ Building cachem 1.0.8
47.23 ✔ Built tinytex 0.49 (1.7s)
47.24 ℹ Building ellipsis 0.3.2
48.60 ✔ Built ps 1.7.6 (5.3s)
48.68 ✔ Installed tinytex 0.49  (21ms)
48.74 ✔ Built cachem 1.0.8 (1.5s)
48.77 ✔ Built ellipsis 0.3.2 (1.5s)
48.80 ✔ Installed cli 3.6.2  (86ms)
48.80 ℹ Building xml2 1.3.6
48.91 ✔ Installed cachem 1.0.8  (129ms)
48.92 ℹ Building memoise 2.0.1
49.07 ✔ Installed rstudioapi 0.15.0  (23ms)
49.10 ✔ Built commonmark 1.9.1 (12.8s)
49.14 ✔ Installed assertthat 0.2.1  (38ms)
49.23 ✔ Installed sys 3.4.2  (104ms)
49.23 ℹ Building askpass 1.2.0
49.34 ✔ Installed base64enc 0.1-3  (113ms)
49.39 ✔ Installed R6 2.5.1  (28ms)
49.40 ℹ Building desc 1.4.3
51.24 ✔ Built askpass 1.2.0 (2s)
51.27 ✔ Built memoise 2.0.1 (2.3s)
51.33 ✔ Installed askpass 1.2.0  (55ms)
51.33 ℹ Building openssl 2.1.1
51.59 ✔ Built desc 1.4.3 (2s)
51.62 ✔ Installed fansi 1.0.6  (323ms)
51.67 ✔ Installed generics 0.1.3  (24ms)
51.70 ✔ Installed glue 1.7.0  (50ms)
51.71 ℹ Building lifecycle 1.0.4
51.84 ✔ Installed magrittr 2.0.3  (135ms)
52.91 ✔ Installed pkgconfig 2.0.3  (1.1s)
52.97 ✔ Installed utf8 1.2.4  (25ms)
53.00 ✔ Built zip 2.3.1 (11.8s)
53.06 ✔ Installed withr 3.0.0  (70ms)
53.12 ✔ Installed clipr 0.8.0  (66ms)
53.17 ✔ Installed commonmark 1.9.1  (89ms)
53.20 ✔ Installed cpp11 0.4.7  (53ms)
53.22 ✔ Installed desc 1.4.3  (36ms)
53.23 ℹ Building systemfonts 1.0.5
53.30 ✔ Built lifecycle 1.0.4 (1.5s)
53.36 ✔ Installed lifecycle 1.0.4  (34ms)
53.37 ℹ Building vctrs 0.6.5
53.61 ✔ Installed gitcreds 0.1.2  (269ms)
53.66 ✔ Installed ini 0.3.1  (28ms)
53.75 ✔ Installed jsonlite 1.8.8  (37ms)
53.80 ✔ Installed memoise 2.0.1  (19ms)
53.84 ✔ Installed mime 0.12  (18ms)
53.88 ✔ Installed rappdirs 0.3.3  (18ms)
53.92 ✔ Installed rprojroot 2.0.4  (21ms)
53.97 ℹ Building here 1.0.1
54.98 ✔ Built here 1.0.1 (962ms)
55.03 ✔ Installed whisker 0.4.1  (18ms)
55.13 ✔ Installed zip 2.3.1  (70ms)
55.18 ✔ Installed here 1.0.1  (27ms)
55.23 ✔ Installed ellipsis 0.3.2  (21ms)
55.24 ℹ Building htmltools 0.5.7
56.71 ✔ Built xml2 1.3.6 (7.8s)
56.77 ✔ Installed xml2 1.3.6  (32ms)
56.82 ✔ Installed evaluate 0.23  (36ms)
56.82 ℹ Building knitr 1.45
57.96 ✔ Built openssl 2.1.1 (6.4s)
58.04 ✔ Installed openssl 2.1.1  (52ms)
58.05 ℹ Building credentials 2.0.1
58.41 ✔ Built fs 1.6.3 (32.1s)
58.43 ℹ Building httr 1.4.7
58.52 ✔ Built htmltools 0.5.7 (3.2s)
58.68 ✔ Installed htmltools 0.5.7  (58ms)
58.69 ℹ Building fontawesome 0.5.2
59.63 ✔ Built credentials 2.0.1 (1.5s)
59.66 ℹ Building jquerylib 0.1.4
61.02 ✔ Built fontawesome 0.5.2 (2.2s)
61.08 ✔ Installed fs 1.6.3  (35ms)
61.10 ℹ Building pandoc 0.2.0
61.19 ✔ Built jquerylib 0.1.4 (1.4s)
61.23 ℹ Building sass 0.4.8
62.32 ✔ Built httr 1.4.7 (3.8s)
62.37 ✔ Installed credentials 2.0.1  (25ms)
62.39 ℹ Building gert 2.0.1
62.87 ✔ Built Rcpp 1.0.12 (30.4s)
62.90 ✔ Built knitr 1.45 (5.8s)
62.91 ✔ Built pandoc 0.2.0 (1.7s)
62.96 ✔ Installed Rcpp 1.0.12  (72ms)
62.97 ℹ Building later 1.3.2
63.07 ✔ Installed knitr 1.45  (130ms)
63.15 ✔ Installed fontawesome 0.5.2  (146ms)
63.16 ℹ Building xslt 1.4.5
63.20 ✖ Failed to build gert 2.0.1 (697ms)
66.72 Error:
66.72 ! error in pak subprocess
66.72 Caused by error in `stop_task_build(state, worker)`:
66.72 ! Failed to build source package gert.
66.72 ---
66.72 Backtrace:
66.72 1. renv::restore()
66.72 2. renv:::renv_pak_restore(lockfile = lockfile, packages = packages, exclude = exclu…
66.72 3. pak$pkg_install(remotes)
66.72 4. pak:::remote(function(...) get("pkg_install_do_plan", asNamespace("pak"))(...), …
66.72 5. err$throw(res$error)
66.72 ---
66.72 Subprocess backtrace:
66.72  1. base::withCallingHandlers(cli_message = function(msg) { …
66.72  2. get("pkg_install_do_plan", asNamespace("pak"))(...)
66.72  3. proposal$install()
66.72  4. pkgdepends::install_package_plan(plan, lib = private$library, num_workers = nw, …
66.72  5. base::withCallingHandlers({ …
66.72  6. pkgdepends:::handle_events(state, events)
66.72  7. pkgdepends:::handle_event(state, i)
66.72  8. pkgdepends:::stop_task(state, worker)
66.72  9. pkgdepends:::stop_task_build(state, worker)
66.72 10. base::throw(pkg_error("Failed to build source package {.pkg {pkg}}.", …
66.72 11. | base::signalCondition(cond)
66.72 12. global (function (e) …
66.73 Traceback (most recent calls last):
66.73 6: renv::restore()
66.73 5: renv_pak_restore(lockfile = lockfile, packages = packages, exclude = exclude,
66.73        project = project)
66.73 4: pak$pkg_install(remotes)
66.73 3: remote(function(...) get("pkg_install_do_plan", asNamespace("pak"))(...),
66.73        list(proposal = NULL))
66.73 2: err$throw(res$error)
66.73 1: base::stop(cond)
66.73 Execution halted
------
Dockerfile:10
--------------------
   8 |     COPY --chown=$MAMBA_USER:$MAMBA_USER . lesson-transition
   9 |     WORKDIR lesson-transition
  10 | >>> RUN R -e 'options(renv.config.pak.enabled = TRUE); renv::restore()'
  11 |
  12 |     # This disables the interactive parts of the script
--------------------
ERROR: failed to solve: process "/usr/local/bin/_dockerfile_shell.sh R -e 'options(renv.config.pak.enabled = TRUE); renv::restore()'" did not complete successfully: exit code: 1

@multimeric
Copy link
Author

My best guess is that your docker is compiling it for ARM (the aarch64 I can see in the logs). This must cause the system dependencies to not install correctly, and therefore the dependent R packages such as gert also fail.

If you add --platform linux/amd64 to the docker build command, does it do anything differently?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Containerize lesson-transition tools
2 participants