@@ -65,6 +65,7 @@ FROM ubuntu:24.04 AS builder
6565
6666ARG DEBIAN_FRONTEND=noninteractive
6767ARG CMAKE_VERSION=4.2.0
68+ ARG NINJA_VERSION=1.11.1.4
6869ARG PYTORCH_VERSION=2.10.0
6970ARG TORCHVISION_VERSION=0.25.0
7071ARG TRITON_VERSION=3.6.0
@@ -147,7 +148,10 @@ RUN --mount=type=cache,target=/var/cache/apt,sharing=locked,id=apt-cache-jp72-on
147148RUN wget -q https://github.com/Kitware/CMake/releases/download/v${CMAKE_VERSION}/cmake-${CMAKE_VERSION}-linux-aarch64.sh && \
148149 chmod +x cmake-${CMAKE_VERSION}-linux-aarch64.sh && \
149150 ./cmake-${CMAKE_VERSION}-linux-aarch64.sh --prefix=/usr/local --skip-license && \
150- rm cmake-${CMAKE_VERSION}-linux-aarch64.sh
151+ rm cmake-${CMAKE_VERSION}-linux-aarch64.sh && \
152+ printf 'cmake==%s\nninja==%s\n' "${CMAKE_VERSION}" "${NINJA_VERSION}" > /opt/builder-constraints.txt
153+
154+ ENV PIP_CONSTRAINT=/opt/builder-constraints.txt
151155
152156RUN python3 -m pip install --break-system-packages --ignore-installed pip setuptools wheel && \
153157 python3 -m pip install --break-system-packages "numpy>=2.0.0,<2.4.0"
@@ -165,6 +169,8 @@ RUN --mount=type=cache,target=/build/pytorch/pytorch/build,sharing=locked,id=pyt
165169 --mount=type=cache,target=/root/.cache/pip,sharing=locked,id=pip-cache-jp72-onnx-${TARGETARCH} \
166170 cd pytorch && \
167171 python3 -m pip install --break-system-packages -r requirements.txt && \
172+ cmake --version | grep -q "cmake version ${CMAKE_VERSION}" && \
173+ test "$(ninja --version)" = "${NINJA_VERSION%.*}" && \
168174 export USE_CUDA=1 USE_CUDNN=1 CUDA_HOME=/usr/local/cuda && \
169175 export CUDNN_LIB_DIR=/usr/lib/aarch64-linux-gnu CUDNN_INCLUDE_DIR=/usr/include && \
170176 export TORCH_CUDA_ARCH_LIST="${TORCH_CUDA_ARCH_LIST}" && \
@@ -204,6 +210,8 @@ RUN --mount=type=cache,target=/build/onnxruntime/onnxruntime/build/Linux,sharing
204210 --mount=type=cache,target=/root/.cache/pip,sharing=locked,id=pip-cache-jp72-onnx-${TARGETARCH} \
205211 cd onnxruntime && \
206212 python3 -m pip install --break-system-packages -r requirements-dev.txt && \
213+ cmake --version | grep -q "cmake version ${CMAKE_VERSION}" && \
214+ test "$(ninja --version)" = "${NINJA_VERSION%.*}" && \
207215 ./build.sh --config Release --update --build --parallel ${ORT_BUILD_PARALLEL} \
208216 --build_wheel \
209217 --allow_running_as_root \
@@ -260,6 +268,8 @@ RUN --mount=type=cache,target=/build/triton/src,sharing=locked,id=triton-src-${T
260268 mkdir -p /tmp/triton-wheels; \
261269 python3 -m pip install --break-system-packages --no-cache-dir \
262270 -r /build/triton/src/python/requirements.txt; \
271+ cmake --version | grep -q "cmake version ${CMAKE_VERSION}"; \
272+ test "$(ninja --version)" = "${NINJA_VERSION%.*}"; \
263273 MAX_JOBS=4 python3 -m pip wheel --no-cache-dir \
264274 --no-build-isolation \
265275 --no-deps \
0 commit comments