From 9b2fecd9e205a1088caa1a43cdc81e0dc7902d92 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?G=C3=A1bor=20Cs=C3=A1rdi?= Date: Thu, 2 Feb 2023 06:42:00 -0800 Subject: [PATCH 1/2] Use gcc-8 on Ubuntu 18.04 To address #153 on Ubuntu 18.04. --- builder/Dockerfile.ubuntu-1804 | 3 ++- builder/build.sh | 7 +++++++ builder/package.ubuntu-1804 | 6 +++--- 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/builder/Dockerfile.ubuntu-1804 b/builder/Dockerfile.ubuntu-1804 index 2d0fc61..b6c2614 100644 --- a/builder/Dockerfile.ubuntu-1804 +++ b/builder/Dockerfile.ubuntu-1804 @@ -7,7 +7,8 @@ RUN set -x \ && export DEBIAN_FRONTEND=noninteractive \ && apt-get update \ && apt-get install -y curl libcurl4-openssl-dev libicu-dev libopenblas-base libpcre2-dev wget python-pip \ - && apt-get build-dep -y r-base + && apt-get build-dep -y r-base \ + && apt-get install -y gcc-8 g++-8 gfortran-8 RUN pip install awscli diff --git a/builder/build.sh b/builder/build.sh index e842e23..e34276b 100755 --- a/builder/build.sh +++ b/builder/build.sh @@ -120,6 +120,13 @@ compile_r() { --with-blas \ --with-lapack" + if _version_is_greater_than ${R_VERSION} 4.2.10; then + if [[ "${OS_IDENTIFIER}" = "ubuntu-1804" ]]; then + default_configure_options="$default_configure_options \ + CC=gcc-8 CXX=g++-8 FC=gfortran-8" + fi + fi + CONFIGURE_OPTIONS=${CONFIGURE_OPTIONS:-$default_configure_options} # set some common environment variables for the configure step diff --git a/builder/package.ubuntu-1804 b/builder/package.ubuntu-1804 index a5a75ae..56d4317 100644 --- a/builder/package.ubuntu-1804 +++ b/builder/package.ubuntu-1804 @@ -27,9 +27,9 @@ deb: fields: Bugs: https://github.com/rstudio/r-builds/issues depends: -- g++ -- gcc -- gfortran +- g++-8 +- gcc-8 +- gfortran-8 - libbz2-dev - libc6 - libcairo2 From f5a104562ef87c8b37df42193b75e1bff6c0f54d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?G=C3=A1bor=20Cs=C3=A1rdi?= Date: Thu, 2 Feb 2023 07:44:27 -0800 Subject: [PATCH 2/2] Use corrent DEB packages Need gcc, g++, gfortran for R <= 4.2.x, and gcc-8, g++-8, gofrtran-8 for R >= 4.3.0. --- builder/build.sh | 4 ++++ builder/package.ubuntu-1804 | 6 +++--- test/test-r.sh | 6 +++--- 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/builder/build.sh b/builder/build.sh index e34276b..9ae6ace 100755 --- a/builder/build.sh +++ b/builder/build.sh @@ -124,6 +124,9 @@ compile_r() { if [[ "${OS_IDENTIFIER}" = "ubuntu-1804" ]]; then default_configure_options="$default_configure_options \ CC=gcc-8 CXX=g++-8 FC=gfortran-8" + gcc_package=gcc-8 + gxx_package=g++-8 + gfortran_package=gfortran-8 fi fi @@ -172,6 +175,7 @@ EOF package_r() { if [[ -f /package.sh ]]; then export R_VERSION=${1} + export gcc_package gxx_package gfortran_package source /package.sh fi } diff --git a/builder/package.ubuntu-1804 b/builder/package.ubuntu-1804 index 56d4317..f49efaf 100644 --- a/builder/package.ubuntu-1804 +++ b/builder/package.ubuntu-1804 @@ -27,9 +27,9 @@ deb: fields: Bugs: https://github.com/rstudio/r-builds/issues depends: -- g++-8 -- gcc-8 -- gfortran-8 +- ${gxx_package-g++} +- ${gcc_package-gcc} +- ${gfortran_package-gfortran} - libbz2-dev - libc6 - libcairo2 diff --git a/test/test-r.sh b/test/test-r.sh index 8783716..bd376dd 100755 --- a/test/test-r.sh +++ b/test/test-r.sh @@ -8,9 +8,9 @@ R_HOME=/opt/R/${R_VERSION}/lib/R "${R_HOME}/bin/Rscript" -e 'sessionInfo()' # List R devel dependencies -gcc --version -g++ --version -gfortran --version +$("${R_HOME}/bin/R" CMD config CC) --version +$("${R_HOME}/bin/R" CMD config CXX) --version +$("${R_HOME}/bin/R" CMD config FC) --version # List shared library dependencies (e.g. BLAS/LAPACK) LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${R_HOME}/lib ldd "${R_HOME}/lib/libR.so"