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

Unable to build terra-docker-r image #477

Open
AMCalejandro opened this issue Feb 28, 2024 · 0 comments
Open

Unable to build terra-docker-r image #477

AMCalejandro opened this issue Feb 28, 2024 · 0 comments

Comments

@AMCalejandro
Copy link

Hi,

I am unable to build the Docker image using the latest version of the Dockerfile you have in this remote
The issue seems to be related to this Dockerfile actually getting R=3.16 and not R=4.1 as speicified in the README

Dockerfile

ROM us.gcr.io/broad-dsp-gcr-public/terra-jupyter-base:1.1.3

USER root

COPY scripts $JUPYTER_HOME/scripts

# Add env vars to identify binary package installation
ENV TERRA_R_PLATFORM="terra-jupyter-r-2.2.4"
ENV TERRA_R_PLATFORM_BINARY_VERSION=4.3

# Install protobuf 3.20.3. Note this version comes from base deep learning image. Use `conda list` to see what's installed
RUN cd /tmp \
  && wget https://github.com/protocolbuffers/protobuf/releases/download/v3.20.3/protobuf-all-3.20.3.tar.gz \
	&& tar -xvzf protobuf-all-3.20.3.tar.gz \
	&& cd protobuf-3.20.3/ \
	&& ./configure \
	&& make \
	&& make check \
	&& sudo make install \
	&& sudo ldconfig \
	&& rm -rf /tmp/protobuf-* \
	&& cd ~

# Add R kernel
RUN find $JUPYTER_HOME/scripts -name '*.sh' -type f | xargs chmod +x \
 && $JUPYTER_HOME/scripts/kernel/kernelspec.sh $JUPYTER_HOME/scripts/kernel /opt/conda/share/jupyter/kernels

# https://cran.r-project.org/bin/linux/ubuntu/README.html
RUN apt-get update \
    && apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E298A3A825C0D65DFD57CBB651716619E084DAB9 \
    && add-apt-repository 'deb https://cloud.r-project.org/bin/linux/ubuntu bionic-cran40/' \
    && apt-get install -yq --no-install-recommends apt-transport-https \
    && apt update \
    && apt install -yq --no-install-recommends \
	apt-utils \
	libssh2-1-dev \
	libssl-dev \
	libcurl4-gnutls-dev \
	libgit2-dev \
	libxml2-dev \
	libgfortran-7-dev \
	r-base-dev \
	r-base-core \
	# This section installs libraries
	libnetcdf-dev \
	libhdf5-serial-dev \
	libfftw3-dev \
	libopenbabel-dev \
	libopenmpi-dev \
	libexempi3 \
	libgdal-dev \
	libcairo2-dev \
	libtiff5-dev \
	libgsl0-dev \
	libgtk2.0-dev \
	libgl1-mesa-dev \
	libglu1-mesa-dev \
	libgmp3-dev \
	libhdf5-dev \
	libncurses-dev \
	libxpm-dev \
	libv8-3.14-dev \
	libgtkmm-2.4-dev \
	libmpfr-dev \
	libudunits2-dev \
	libmodule-build-perl \
	libapparmor-dev \
	libgeos-dev \
	librdf0-dev \
	libmagick++-dev \
	libsasl2-dev \
	libpoppler-cpp-dev \
	libpq-dev \
	libperl-dev \
	libgfortran5 \
	libarchive-extract-perl \
	libfile-copy-recursive-perl \
	libcgi-pm-perl \
	libdbi-perl \
	libdbd-mysql-perl \
	libxml-simple-perl \
	sqlite \
	mpi-default-bin \
	openmpi-common \
	tcl8.5-dev \
	imagemagick \
	tabix \
	ggobi \
	graphviz \
	jags \
	xfonts-100dpi \
	xfonts-75dpi \
	biber \
	libzmq3-dev \
	libsbml5-dev \
	biber \
    ocl-icd-opencl-dev \
    libeigen3-dev \
    mono-runtime \
	cmake \
 	libarchive-dev \
    && ln -s /usr/lib/gcc/x86_64-linux-gnu/7/libgfortran.so /usr/lib/x86_64-linux-gnu/libgfortran.so \
    && ln -s /usr/lib/gcc/x86_64-linux-gnu/7/libstdc++.so /usr/lib/x86_64-linux-gnu/libstdc++.so \
    && apt-get clean \
    && rm -rf /var/lib/apt/lists/*

# DEVEL: Add sys env variables to DEVEL image
# Variables in Renviron.site are made available inside of R.
# Add libsbml CFLAGS
ENV LIBSBML_CFLAGS="-I/usr/include"
ENV LIBSBML_LIBS="-lsbml"
RUN echo 'export LIBSBML_CFLAGS="-I/usr/include"' >> /etc/profile \
    && echo 'export LIBSBML_LIBS="-lsbml"' >> /etc/profile

## set pip3 to run as root, not as jupyter user
ENV PIP_USER=false

## Install python packages needed for a few Bioc packages
RUN pip3 -V \
    && pip3 install --upgrade pip \
    && pip3 install cwltool \
    && apt-get clean \
    && rm -rf /var/lib/apt/lists/*

RUN R -e 'install.packages("BiocManager")' \
    ## check version
    && R -e 'BiocManager::install(version="3.18", ask=FALSE)' \
    && R -e 'BiocManager::install(c( \
    "boot", \
    "class", \
    "cluster", \
    "codetools", \
    "foreign", \
    "kernsmooth", \
    "lattice", \
    "mass", \
    "Matrix", \
    "mgcv", \
    "nlme", \
    "nnet", \
    "rpart", \
    "spatial", \
    "survival", \
    # Jupyter notebook essentials
    "IRdisplay",  \
    "IRkernel", \
    # User oriented packages
    "reticulate", \
    "remotes", \
    "devtools", \
    "pbdZMQ", \
    "uuid", \
    "lme4", \
    "lmerTest", \
    "data.table", \
    "tidyr", \
    "dplyr", \
    "ggplot2"))' \
    && R -e 'BiocManager::install("DataBiosphere/Ronaldo")'


## pip runs as jupyter user
ENV PIP_USER=true

RUN R -e 'IRkernel::installspec(user=FALSE)' \
    && chown -R $USER:users /usr/local/lib/R/site-library /home/jupyter

USER $USER

Command to run

docker build -t test  .

Output

[+] Building 1131.8s (6/13)                                                                                                                  
[+] Building 1132.0s (6/13)                                                                                                                  
[+] Building 1132.1s (6/13)                                                                                                                  
 => => transferring dockerfile: 4.29kB                                                                                                  0.0s
 => [internal] load .dockerignore                                                                                                       0.0s
[+] Building 1132.3s (6/13)                                                                                                                  
 => [internal] load metadata for us.gcr.io/broad-dsp-gcr-public/terra-jupyter-base:1.1.3                                                0.4s
 => [internal] load build context                                                                                                       0.0s
[+] Building 1520.2s (12/13)                                                                                                                 
 => [internal] load build definition from Dockerfile_w_Rinstalls                                                                        0.0s
 => => transferring dockerfile: 4.29kB                                                                                                  0.0s
 => [internal] load .dockerignore                                                                                                       0.0s
 => => transferring context: 2B                                                                                                         0.0s
 => [internal] load metadata for us.gcr.io/broad-dsp-gcr-public/terra-jupyter-base:1.1.3                                                0.4s
 => [internal] load build context                                                                                                       0.0s
 => => transferring context: 854B                                                                                                       0.0s
 => CACHED [1/9] FROM us.gcr.io/broad-dsp-gcr-public/terra-jupyter-base:1.1.3@sha256:d1758af3b27f9ec97e37855538acd0ac074120a1b4a3cbed0  0.0s
 => [2/9] COPY scripts /etc/jupyter/scripts                                                                                             0.0s 
 => [3/9] RUN cd /tmp   && wget https://github.com/protocolbuffers/protobuf/releases/download/v3.20.3/protobuf-all-3.20.3.tar.gz  &  1179.4s 
 => [4/9] RUN find /etc/jupyter/scripts -name '*.sh' -type f | xargs chmod +x  && /etc/jupyter/scripts/kernel/kernelspec.sh /etc/jupyt  0.4s 
 => [5/9] RUN apt-get update     && apt-get install -yq --no-install-recommends apt-transport-https     && apt update     && apt ins  318.0s 
 => [6/9] RUN echo 'export LIBSBML_CFLAGS="-I/usr/include"' >> /etc/profile     && echo 'export LIBSBML_LIBS="-lsbml"' >> /etc/profile  0.4s
 => [7/9] RUN pip3 -V     && pip3 install --upgrade pip     && pip3 install cwltool     && apt-get clean     && rm -rf /var/lib/apt/l  17.1s
 => ERROR [8/9] RUN R -e 'install.packages("BiocManager")'     && R -e 'BiocManager::install(version="3.18", ask=FALSE)'     && R -e '  4.1s
------
 > [8/9] RUN R -e 'install.packages("BiocManager")'     && R -e 'BiocManager::install(version="3.18", ask=FALSE)'     && R -e 'BiocManager::install(c(     "boot",     "class",     "cluster",     "codetools",     "foreign",     "kernsmooth",     "lattice",     "mass",     "Matrix",     "mgcv",     "nlme",     "nnet",     "rpart",     "spatial",     "survival",     "IRdisplay",      "IRkernel",     "reticulate",     "remotes",     "devtools",     "pbdZMQ",     "uuid",     "lme4",     "lmerTest",     "data.table",     "tidyr",     "dplyr",     "ggplot2"))'     && R -e 'BiocManager::install("DataBiosphere/Ronaldo")':
#0 0.388 
#0 0.388 R version 3.6.3 (2020-02-29) -- "Holding the Windsock"
#0 0.388 Copyright (C) 2020 The R Foundation for Statistical Computing
#0 0.388 Platform: x86_64-pc-linux-gnu (64-bit)
#0 0.388 
#0 0.389 R is free software and comes with ABSOLUTELY NO WARRANTY.
#0 0.389 You are welcome to redistribute it under certain conditions.
#0 0.389 Type 'license()' or 'licence()' for distribution details.
#0 0.389 
#0 0.389   Natural language support but running in an English locale
#0 0.389 
#0 0.389 R is a collaborative project with many contributors.
#0 0.389 Type 'contributors()' for more information and
#0 0.389 'citation()' on how to cite R or R packages in publications.
#0 0.389 
#0 0.389 Type 'demo()' for some demos, 'help()' for on-line help, or
#0 0.389 'help.start()' for an HTML browser interface to help.
#0 0.389 Type 'q()' to quit R.
#0 0.389 
#0 0.465 > install.packages("BiocManager")
#0 0.468 Installing package into ‘/usr/local/lib/R/site-library’
#0 0.468 (as ‘lib’ is unspecified)
#0 1.672 trying URL 'https://cloud.r-project.org/src/contrib/BiocManager_1.30.22.tar.gz'
#0 1.967 Content type 'application/x-gzip' length 582690 bytes (569 KB)
#0 1.967 ==================================================
#0 2.189 downloaded 569 KB
#0 2.189 
#0 2.351 * installing *source* package ‘BiocManager’ ...
#0 2.354 ** package ‘BiocManager’ successfully unpacked and MD5 sums checked
#0 2.354 ** using staged installation
#0 2.364 ** R
#0 2.369 ** inst
#0 2.370 ** byte-compile and prepare package for lazy loading
#0 2.755 ** help
#0 2.776 *** installing help indices
#0 2.790 ** building package indices
#0 2.800 ** installing vignettes
#0 2.802 ** testing if installed package can be loaded from temporary location
#0 3.231 ** testing if installed package can be loaded from final location
#0 3.676 ** testing if installed package keeps a record of temporary installation path
#0 3.677 * DONE (BiocManager)
#0 3.683 
#0 3.683 The downloaded source packages are in
#0 3.683        ‘/tmp/RtmpkJT8fH/downloaded_packages’
#0 3.683 > 
#0 3.683 > 
#0 3.731 
#0 3.731 R version 3.6.3 (2020-02-29) -- "Holding the Windsock"
#0 3.731 Copyright (C) 2020 The R Foundation for Statistical Computing
#0 3.731 Platform: x86_64-pc-linux-gnu (64-bit)
#0 3.731 
#0 3.731 R is free software and comes with ABSOLUTELY NO WARRANTY.
#0 3.731 You are welcome to redistribute it under certain conditions.
#0 3.731 Type 'license()' or 'licence()' for distribution details.
#0 3.731 
#0 3.731   Natural language support but running in an English locale
#0 3.731 
#0 3.731 R is a collaborative project with many contributors.
#0 3.731 Type 'contributors()' for more information and
#0 3.731 'citation()' on how to cite R or R packages in publications.
#0 3.731 
#0 3.731 Type 'demo()' for some demos, 'help()' for on-line help, or
#0 3.731 'help.start()' for an HTML browser interface to help.
#0 3.731 Type 'q()' to quit R.
#0 3.731 
#0 3.791 > BiocManager::install(version="3.18", ask=FALSE)
#0 4.107 Error: Bioconductor version '3.18' requires R version '4.3'; use `version = '3.10'`
#0 4.107   with R version 3.6; see https://bioconductor.org/install
#0 4.107 Execution halted
------
Dockerfile_w_Rinstalls:125
--------------------
 124 |     
 125 | >>> RUN R -e 'install.packages("BiocManager")' \
 126 | >>>     ## check version
 127 | >>>     && R -e 'BiocManager::install(version="3.18", ask=FALSE)' \
 128 | >>>     && R -e 'BiocManager::install(c( \
 129 | >>>     "boot", \
 130 | >>>     "class", \
 131 | >>>     "cluster", \
 132 | >>>     "codetools", \
 133 | >>>     "foreign", \
 134 | >>>     "kernsmooth", \
 135 | >>>     "lattice", \
 136 | >>>     "mass", \
 137 | >>>     "Matrix", \
 138 | >>>     "mgcv", \
 139 | >>>     "nlme", \
 140 | >>>     "nnet", \
 141 | >>>     "rpart", \
 142 | >>>     "spatial", \
 143 | >>>     "survival", \
 144 | >>>     # Jupyter notebook essentials
 145 | >>>     "IRdisplay",  \
 146 | >>>     "IRkernel", \
 147 | >>>     # User oriented packages
 148 | >>>     "reticulate", \
 149 | >>>     "remotes", \
 150 | >>>     "devtools", \
 151 | >>>     "pbdZMQ", \
 152 | >>>     "uuid", \
 153 | >>>     "lme4", \
 154 | >>>     "lmerTest", \
 155 | >>>     "data.table", \
 156 | >>>     "tidyr", \
 157 | >>>     "dplyr", \
 158 | >>>     "ggplot2"))' \
 159 | >>>     && R -e 'BiocManager::install("DataBiosphere/Ronaldo")'
 160 |     
--------------------
ERROR: failed to solve: process "/bin/sh -c R -e 'install.packages(\"BiocManager\")'     && R -e 'BiocManager::install(version=\"3.18\", ask=FALSE)'     && R -e 'BiocManager::install(c(     \"boot\",     \"class\",     \"cluster\",     \"codetools\",     \"foreign\",     \"kernsmooth\",     \"lattice\",     \"mass\",     \"Matrix\",     \"mgcv\",     \"nlme\",     \"nnet\",     \"rpart\",     \"spatial\",     \"survival\",     \"IRdisplay\",      \"IRkernel\",     \"reticulate\",     \"remotes\",     \"devtools\",     \"pbdZMQ\",     \"uuid\",     \"lme4\",     \"lmerTest\",     \"data.table\",     \"tidyr\",     \"dplyr\",     \"ggplot2\"))'     && R -e 'BiocManager::install(\"DataBiosphere/Ronaldo\")'" did not complete successfully: exit code: 1
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

No branches or pull requests

1 participant