From b9e7e84a18967b4630e8b6733ca52989fdfb42dd Mon Sep 17 00:00:00 2001 From: Amos Elb Date: Fri, 28 Dec 2018 17:53:38 -0800 Subject: [PATCH 1/2] initial attempt --- rstan/Dockerfile | 28 +++++++++++++++++++++++----- 1 file changed, 23 insertions(+), 5 deletions(-) diff --git a/rstan/Dockerfile b/rstan/Dockerfile index 31bf05b..c78ff3e 100644 --- a/rstan/Dockerfile +++ b/rstan/Dockerfile @@ -1,33 +1,51 @@ FROM rocker/verse:latest MAINTAINER Jeffrey Arnold jeffrey.arnold@gmail.com +ENV STANVERSION 2.18.0 + RUN apt-get update \ && apt-get install -y --no-install-recommends apt-utils ed libnlopt-dev \ && apt-get clean \ && rm -rf /var/lib/apt/lists/ -# Install rstan -RUN install2.r --error --deps TRUE \ - rstan \ - && rm -rf /tmp/downloaded_packages/ /tmp/*.rds +RUN apt-get update && apt-get install -y \ + clang-3.9 \ + postgresql-client \ + libc++-dev +RUN ln -s /usr/bin/clang++-3.9 /usr/bin/clang++ # Global site-wide config -- neeeded for building packages RUN mkdir -p $HOME/.R/ \ + && echo "CC=clang-3.9" >> $HOME/.R/Makevars \ + && echo "CXX=clang++-3.9" >> $HOME/.R/Makevars \ && echo "CXXFLAGS=-O3 -mtune=native -march=native -Wno-unused-variable -Wno-unused-function -flto -ffat-lto-objects -Wno-unused-local-typedefs \n" >> $HOME/.R/Makevars +# Install rstan +RUN install2.r --error --deps TRUE \ + rstan \ + && rm -rf /tmp/downloaded_packages/ /tmp/*.rds + # Config for rstudio user RUN mkdir -p $HOME/.R/ \ + && echo "CC=clang-3.9" >> $HOME/.R/Makevars \ + && echo "CXX=clang++-3.9" >> $HOME/.R/Makevars \ && echo "CXXFLAGS=-O3 -mtune=native -march=native -Wno-unused-variable -Wno-unused-function -flto -ffat-lto-objects -Wno-unused-local-typedefs -Wno-ignored-attributes -Wno-deprecated-declarations\n" >> $HOME/.R/Makevars \ && echo "rstan::rstan_options(auto_write = TRUE)\n" >> /home/rstudio/.Rprofile \ && echo "options(mc.cores = parallel::detectCores())\n" >> /home/rstudio/.Rprofile # Install rstan RUN install2.r --error --deps TRUE \ - rstan \ loo \ bayesplot \ rstanarm \ rstantools \ shinystan \ + tidybayes \ ggmcmc \ && rm -rf /tmp/downloaded_packages/ /tmp/*.rds + +WORKDIR /opt +RUN wget https://github.com/stan-dev/cmdstan/releases/download/v${STANVERSION}/cmdstan-${STANVERSION}.tar.gz && \ + tar -xzf cmdstan-${STANVERSION}.tar.gz +WORKDIR /opt/cmdstan-${STANVERSION} +RUN make build -j4 && ln -fs /opt/cmdstan-${STANVERSION}/bin/stanc /usr/bin From d0740985342bab4474a07aa543b9156771eca9ab Mon Sep 17 00:00:00 2001 From: Amos Elb Date: Mon, 7 Jan 2019 13:36:05 -0800 Subject: [PATCH 2/2] add cmdstan, other bayesian packages --- rstan/Dockerfile | 41 +++++++++++++++++++---------------------- 1 file changed, 19 insertions(+), 22 deletions(-) diff --git a/rstan/Dockerfile b/rstan/Dockerfile index c78ff3e..f955841 100644 --- a/rstan/Dockerfile +++ b/rstan/Dockerfile @@ -1,7 +1,7 @@ FROM rocker/verse:latest MAINTAINER Jeffrey Arnold jeffrey.arnold@gmail.com -ENV STANVERSION 2.18.0 +ENV STANVERSION 2.18.1 RUN apt-get update \ && apt-get install -y --no-install-recommends apt-utils ed libnlopt-dev \ @@ -9,43 +9,40 @@ RUN apt-get update \ && rm -rf /var/lib/apt/lists/ RUN apt-get update && apt-get install -y \ - clang-3.9 \ + clang-4.0 \ + llvm-4.0 \ postgresql-client \ + jags \ libc++-dev -RUN ln -s /usr/bin/clang++-3.9 /usr/bin/clang++ +RUN ln -s /usr/bin/clang++-4.0 /usr/bin/clang++ # Global site-wide config -- neeeded for building packages RUN mkdir -p $HOME/.R/ \ - && echo "CC=clang-3.9" >> $HOME/.R/Makevars \ - && echo "CXX=clang++-3.9" >> $HOME/.R/Makevars \ - && echo "CXXFLAGS=-O3 -mtune=native -march=native -Wno-unused-variable -Wno-unused-function -flto -ffat-lto-objects -Wno-unused-local-typedefs \n" >> $HOME/.R/Makevars + && echo "CC=clang-4.0" >> $HOME/.R/Makevars \ + && echo "CXX=clang++-4.0" >> $HOME/.R/Makevars \ + && echo "CXX14=clang++-4.0" >> $HOME/.R/Makevars \ + && echo "CXXFLAGS=-O2 -mtune=native -march=native -Wno-unused-variable -Wno-unused-function -Wno-unknown-pragmas -Wno-unused-local-typedefs \n" >> $HOME/.R/Makevars # Install rstan -RUN install2.r --error --deps TRUE \ - rstan \ - && rm -rf /tmp/downloaded_packages/ /tmp/*.rds - -# Config for rstudio user -RUN mkdir -p $HOME/.R/ \ - && echo "CC=clang-3.9" >> $HOME/.R/Makevars \ - && echo "CXX=clang++-3.9" >> $HOME/.R/Makevars \ - && echo "CXXFLAGS=-O3 -mtune=native -march=native -Wno-unused-variable -Wno-unused-function -flto -ffat-lto-objects -Wno-unused-local-typedefs -Wno-ignored-attributes -Wno-deprecated-declarations\n" >> $HOME/.R/Makevars \ - && echo "rstan::rstan_options(auto_write = TRUE)\n" >> /home/rstudio/.Rprofile \ - && echo "options(mc.cores = parallel::detectCores())\n" >> /home/rstudio/.Rprofile - -# Install rstan -RUN install2.r --error --deps TRUE \ - loo \ +RUN install2.r --error rstan --deps TRUE \ bayesplot \ rstanarm \ + rjags \ rstantools \ shinystan \ tidybayes \ ggmcmc \ + ggeffects \ && rm -rf /tmp/downloaded_packages/ /tmp/*.rds +# Config for rstudio user +RUN echo "rstan::rstan_options(auto_write = TRUE)\n" >> /home/rstudio/.Rprofile \ + && echo "options(mc.cores = parallel::detectCores())\n" >> /home/rstudio/.Rprofile + WORKDIR /opt RUN wget https://github.com/stan-dev/cmdstan/releases/download/v${STANVERSION}/cmdstan-${STANVERSION}.tar.gz && \ tar -xzf cmdstan-${STANVERSION}.tar.gz WORKDIR /opt/cmdstan-${STANVERSION} -RUN make build -j4 && ln -fs /opt/cmdstan-${STANVERSION}/bin/stanc /usr/bin +RUN mkdir -p $HOME/.config/cmdstan \ + && echo "CXX=clang++-4.0" >> $HOME/.config/cmdstan/make.local +RUN make build && ln -fs /opt/cmdstan-${STANVERSION}/bin/stanc /usr/bin