1919#
2020# -------------------------------------------------------------
2121# Stage 1: Build SEAL
22- FROM debian:bullseye-slim@sha256:b5f9bc44bdfbd9d551dfdd432607cbc6bb5d9d6dea726a1191797d7749166973 AS seal-build
22+ # FROM debian:bullseye-slim@sha256:b5f9bc44bdfbd9d551dfdd432607cbc6bb5d9d6dea726a1191797d7749166973 AS seal-build
23+ FROM ubuntu:noble@sha256:728785b59223d755e3e5c5af178fab1be7031f3522c5ccd7a0b32b80d8248123 AS seal-build
2324
2425RUN apt-get update && apt-get install -y --no-install-recommends \
2526 build-essential \
@@ -40,16 +41,25 @@ RUN wget -qO- https://github.com/microsoft/SEAL/archive/refs/tags/v3.7.0.tar.gz
4041 && cmake --install build --prefix /seal-install
4142
4243# Stage 2: Final image with R, JDK, Maven, SEAL
43- FROM debian:bullseye-slim@sha256:b5f9bc44bdfbd9d551dfdd432607cbc6bb5d9d6dea726a1191797d7749166973
44+ # FROM debian:bullseye-slim@sha256:b5f9bc44bdfbd9d551dfdd432607cbc6bb5d9d6dea726a1191797d7749166973
45+ FROM ubuntu:noble@sha256:728785b59223d755e3e5c5af178fab1be7031f3522c5ccd7a0b32b80d8248123
4446
4547WORKDIR /usr/src/
4648ENV MAVEN_VERSION=3.9.9
4749ENV MAVEN_HOME=/usr/lib/mvn
4850
51+ ENV LANGUAGE=en_US:en
52+ ENV LC_ALL=en_US.UTF-8
53+ ENV LANG=en_US.UTF-8
4954ENV JAVA_HOME=/usr/lib/jvm/jdk-17.0.15+6
5055ENV PATH=$JAVA_HOME/bin:$MAVEN_HOME/bin:$PATH
5156
52- RUN apt-get update && apt-get install -y --no-install-recommends \
57+ RUN apt-get update && apt-get install -y locales \
58+ && echo "en_US.UTF-8 UTF-8" > /etc/locale.gen \
59+ && locale-gen \
60+ && update-locale LANG=en_US.UTF-8
61+
62+ RUN apt-get install -y --no-install-recommends \
5363 r-base \
5464 wget \
5565 cmake \
@@ -78,11 +88,26 @@ COPY ./src/test/scripts/installDependencies.R installDependencies.R
7888RUN Rscript installDependencies.R \
7989 && rm -f installDependencies.R
8090
91+ ENV HADOOP_VERSION=3.3.6
92+ ENV HADOOP_HOME=/opt/hadoop
93+ ENV LD_LIBRARY_PATH=/opt/hadoop/lib/native
94+ ENV HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib/native"
95+
96+ RUN mkdir -p $HADOOP_HOME/lib/native \
97+ && wget -q https://downloads.apache.org/hadoop/common/hadoop-${HADOOP_VERSION}/hadoop-${HADOOP_VERSION}.tar.gz && \
98+ tar --strip-components=2 -xzf hadoop-${HADOOP_VERSION}.tar.gz \
99+ hadoop-${HADOOP_VERSION}/lib/native && \
100+ mv native/libhadoop.so.1.0.0 /opt/hadoop/lib/native && \
101+ mv native/libhadoop.so /opt/hadoop/lib/native && \
102+ rm hadoop-${HADOOP_VERSION}.tar.gz && \
103+ rm -rf native
104+
81105# Copy SEAL
82106COPY --from=seal-build /seal-install/lib/ /usr/local/lib/
83107COPY --from=seal-build /seal-install/include/ /usr/local/include/
84108
85- ENV LD_LIBRARY_PATH=/usr/local/lib/
109+ ENV LD_LIBRARY_PATH=/opt/hadoop/lib/native;/usr/local/lib/
110+
86111
87112# Finally copy the entrypoint script
88113# This is last to enable quick updates to the script after initial local build.
0 commit comments