Hi All, I found your mailing list via a stack overflow mention. I’m currently on my second full day of trying to build a docker container to use as an AWS lambda fcn and am feeling pretty stuck - I was hoping someone here could help. It needs to support python+R+rstan.
I currently construct the docker image from a python/debian base image. I can get R working fine, but when I try to run an r-stan script within the lambda function I get a ’there is no package called Stan”, despite a good 5 minutes of the image build being dedicated to the download of rstan. Am looking for advice here on how to proceed. My current dockerfile follows… ################ FROM python:3.8-slim-bullseye ENV DEBIAN_FRONTEND=noninteractive ENV LC_ALL=C.UTF-8 ENV LANG=en_US.UTF-8 ENV TZ=:/etc/localtime ENV PATH=/var/lang/bin:/usr/local/bin:/usr/bin/:/bin:/opt/bin ENV LD_LIBRARY_PATH=/var/lang/lib:/lib64:/usr/lib64:/var/runtime:/var/runtime/lib:/var/task:/var/task/lib:/opt/lib ENV LAMBDA_TASK_ROOT=/var/task ENV LAMBDA_RUNTIME_DIR=/var/runtime # Define custom function directory ARG FUNCTION_DIR="/var/task" WORKDIR ${FUNCTION_DIR} # Install aws-lambda-cpp build dependencies + r RUN apt-get update && \ apt-get install -y \ g++ \ make \ cmake \ unzip \ libcurl4-openssl-dev \ r-base COPY requirements.txt . COPY irt_dim_red.R . COPY . . #install the python requirements RUN pip install -r requirements.txt COPY scripts/install_stan.R install_stan.R RUN Rscript "install_stan.R" RUN R -e "install.packages('stringr')" RUN R -e "install.packages('gtools')" RUN R -e "install.packages('tidyr')" # Set the CMD to your handler (could also be done as a parameter override outside of the Dockerfile) ENTRYPOINT [ "/usr/local/bin/python", "-m", "awslambdaric" ] CMD [ "main.handler"] Where the script install_rstan.R is: # Following instructions from # https://github.com/stan-dev/rstan/wiki/Installing-RStan-on-Linux print("Running install_stan.R") ## Creating /home/rstudio/.R/Makevars dotR <- file.path(Sys.getenv("HOME"), ".R") if (!file.exists(dotR)) dir.create(dotR) M <- file.path(dotR, "Makevars") if (!file.exists(M)) file.create(M) cat("\nCXX14FLAGS=-O3 -march=native -mtune=native -fPIC", "CXX14=clang++", file = M, sep = "\n", append = TRUE) ## Installing rstan install.packages("rstan", dependencies=TRUE, type = "source") Any help would be massively appreciated. Jesse — Jesse McMullen-Crummey, PhD (he/him) Data Engineer [[alternative HTML version deleted]] _______________________________________________ R-SIG-Debian mailing list R-SIG-Debian@r-project.org https://stat.ethz.ch/mailman/listinfo/r-sig-debian