Files
Raptor-Containers/mlir0c2701f/Dockerfile
NiccoloN 07cffeca2c
Some checks failed
Build and push Docker images / build-and-push (push) Failing after 2m33s
first commit
2026-03-11 16:25:45 +01:00

67 lines
2.0 KiB
Docker

FROM ubuntu:24.04 AS builder
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update && \
apt-get upgrade -y && \
apt-get install -y --no-install-recommends \
git \
gcc \
g++ \
cmake \
ninja-build \
python3 \
ca-certificates && \
# Build MLIR (no install — keep full build tree)
cd /opt && \
git clone --filter=blob:none --no-checkout https://github.com/llvm/llvm-project.git && \
cd llvm-project && \
git fetch --depth 1 origin 0c2701fe7fa002e1befc5f86c268a7964f96d286 && \
git checkout FETCH_HEAD && \
cmake -S llvm -B build \
-G Ninja \
-DCMAKE_BUILD_TYPE=Release \
-DLLVM_ENABLE_PROJECTS="mlir;clang" \
-DLLVM_ENABLE_RUNTIMES="openmp" \
-DLLVM_TARGETS_TO_BUILD="host" \
-DLLVM_ENABLE_ASSERTIONS=ON \
-DLLVM_ENABLE_RTTI=ON \
-DENABLE_LIBOMPTARGET=OFF \
-DLLVM_ENABLE_LIBEDIT=OFF \
-DLLVM_PARALLEL_LINK_JOBS=1 && \
cmake --build build -j $(nproc) && \
# Build protobuf
cd /tmp && \
git clone --depth 1 --branch v34.0 https://github.com/protocolbuffers/protobuf && \
cd protobuf && \
cmake -S . -B build \
-G Ninja \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/opt/protobuf && \
cmake --build build -j $(nproc) && \
cmake --build build -- install && \
# Cleanup only temp files, keep /opt/llvm-project
rm -rf /tmp/*
FROM ubuntu:24.04
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update && \
apt-get upgrade -y && \
apt-get install -y --no-install-recommends \
ca-certificates \
cmake \
ninja-build \
build-essential \
python3 \
python3-pip && \
apt-get autoremove -y && \
apt-get clean -y && \
rm -rf /var/lib/apt/lists/*
COPY --from=builder /opt/llvm-project /opt/llvm-project
COPY --from=builder /opt/protobuf /opt/protobuf
RUN echo "/opt/protobuf/lib" > /etc/ld.so.conf.d/protobuf.conf && ldconfig