Skip to content

Commit c6e1c6e

Browse files
Update Dockerfile.redhat
1 parent 25df542 commit c6e1c6e

File tree

1 file changed

+55
-15
lines changed

1 file changed

+55
-15
lines changed

Dockerfile.redhat

Lines changed: 55 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
ARG BASE_IMAGE=registry.access.redhat.com/ubi9/ubi:9.6
1818
ARG BUILD_IMAGE=build
1919
ARG PKG_IMAGE=pkg
20-
ARG RELEASE_BASE_IMAGE=registry.access.redhat.com/ubi9/ubi-minimal:9.6
20+
ARG RELEASE_BASE_IMAGE=registry.access.redhat.com/ubi9-minimal:9.6
2121

2222
FROM $BASE_IMAGE as base_build
2323
ARG BASE_IMAGE=registry.access.redhat.com/ubi9/ubi:9.6
@@ -30,6 +30,10 @@ ARG LTO_ENABLE=ON
3030
ARG LTO_CXX_FLAGS="-flto=auto -ffat-lto-objects -march=haswell"
3131
ARG LTO_LD_FLAGS="-flto=auto -ffat-lto-objects"
3232

33+
#ARG LTO_ENABLE=OFF
34+
#ARG LTO_CXX_FLAGS=""
35+
#ARG LTO_LD_FLAGS="-Wl,-z,relro"
36+
3337
# hadolint ignore=DL3041
3438
RUN echo -e "max_parallel_downloads=8\nretries=50" >> /etc/dnf/dnf.conf && \
3539
dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm && dnf update -d6 -y && dnf install -d6 -y \
@@ -48,6 +52,8 @@ RUN echo -e "max_parallel_downloads=8\nretries=50" >> /etc/dnf/dnf.conf && \
4852
wget && \
4953
dnf clean all
5054

55+
RUN gcc --version && g++ --version
56+
5157
####### Azure SDK needs new boost:
5258
WORKDIR /boost
5359
# hadolint ignore=DL3003
@@ -101,12 +107,11 @@ RUN if [ "$VERBOSE_LOGS" == "ON" ] ; then export VERBOSE=1 ; fi && ./install_ope
101107

102108
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ #
103109
FROM base_build as build
104-
#ARG BASE_IMAGE
105110
ARG BASE_IMAGE=registry.access.redhat.com/ubi9/ubi:9.6
106111

107112
SHELL ["/bin/bash", "-xo", "pipefail", "-c"]
108113

109-
ARG JOBS=40
114+
ARG JOBS=16
110115
ARG VERBOSE_LOGS=ON
111116
ARG LTO_ENABLE=ON
112117

@@ -128,7 +133,6 @@ RUN dnf install -y https://rpmfind.net/linux/almalinux/8.10/PowerTools/x86_64/os
128133
libicu-devel && \
129134
dnf clean all
130135

131-
132136
WORKDIR /
133137
# hadolint ignore=DL3003
134138
RUN wget -nv https://go.dev/dl/go1.24.4.linux-amd64.tar.gz && \
@@ -179,7 +183,6 @@ ARG TEMP_DIR=/tmp/openvino_installer
179183
ARG CMAKE_BUILD_TYPE=Release
180184
ARG debug_bazel_flags="--strip=always --define MEDIAPIPE_DISABLE=0 --define PYTHON_DISABLE=0 --config=mp_on_py_on --verbose_failures --//:distro=redhat --local_ram_resources=23552 --local_cpu_resources=16"
181185

182-
183186
################### BUILD OPENVINO FROM SOURCE - buildarg ov_use_binary=0 ############################
184187
# hadolint ignore=DL3041
185188
RUN dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm && dnf install -y gflags-devel gflags json-devel fdupes && \
@@ -192,7 +195,21 @@ COPY openvino-lto.patch .
192195
RUN if [ "$ov_use_binary" == "0" ]; then patch -p1 < openvino-lto.patch ; rm -f openvino-lto.patch ; fi
193196
WORKDIR /openvino/build
194197
RUN if [ "$ov_use_binary" == "0" ] && [[ $debug_bazel_flags == *"PYTHON_DISABLE=1"* ]]; then true ; else exit 0 ; fi ; if ! [[ $debug_bazel_flags == *"PYTHON_DISABLE=1"* ]]; then true ; else exit 0 ; fi ; cmake -DCMAKE_BUILD_TYPE=$CMAKE_BUILD_TYPE -DCMAKE_VERBOSE_MAKEFILE="${VERBOSE_LOGS}" -DENABLE_LTO=${LTO_ENABLE} -DENABLE_PYTHON=ON -DENABLE_INTEL_NPU=OFF -DENABLE_SAMPLES=0 -DCMAKE_CXX_FLAGS=" -Wno-error=parentheses ${LTO_CXX_FLAGS} " -DCMAKE_SHARED_LINKER_FLAGS="${LTO_LD_FLAGS}" ..
195-
RUN if [ "$ov_use_binary" == "0" ] ; then true ; else exit 0 ; fi ; cmake -DCMAKE_BUILD_TYPE="$CMAKE_BUILD_TYPE" -DCMAKE_VERBOSE_MAKEFILE="${VERBOSE_LOGS}" -DENABLE_LTO=${LTO_ENABLE} -DENABLE_SAMPLES=0 -DENABLE_INTEL_NPU=OFF -DCMAKE_CXX_FLAGS=" -Wno-error=parentheses ${LTO_CXX_FLAGS} " -DCMAKE_SHARED_LINKER_FLAGS="${LTO_LD_FLAGS}" ..
198+
#RUN if [ "$ov_use_binary" == "0" ] ; then true ; else exit 0 ; fi ; cmake -DCMAKE_BUILD_TYPE="$CMAKE_BUILD_TYPE" -DCMAKE_VERBOSE_MAKEFILE="${VERBOSE_LOGS}" -DENABLE_LTO=${LTO_ENABLE} -DENABLE_SAMPLES=0 -DENABLE_INTEL_NPU=OFF -DCMAKE_CXX_FLAGS=" -Wno-error=parentheses ${LTO_CXX_FLAGS} " -DCMAKE_SHARED_LINKER_FLAGS="${LTO_LD_FLAGS}" ..
199+
RUN if [ "$ov_use_binary" == "0" ]; then \
200+
cmake \
201+
-DCMAKE_BUILD_TYPE="$CMAKE_BUILD_TYPE" \
202+
-DCMAKE_VERBOSE_MAKEFILE="${VERBOSE_LOGS}" \
203+
-DENABLE_LTO=${LTO_ENABLE} \
204+
-DENABLE_SAMPLES=0 \
205+
-DENABLE_INTEL_NPU=OFF \
206+
-DCMAKE_CXX_FLAGS="-Wno-error=parentheses -flto -ffat-lto-objects -march=haswell" \
207+
-DCMAKE_SHARED_LINKER_FLAGS="-flto -ffat-lto-objects" \
208+
.. ; \
209+
else \
210+
exit 0; \
211+
fi
212+
196213
RUN if [ "$ov_use_binary" == "0" ] ; then true ; else exit 0 ; fi ; make --jobs=$JOBS
197214
RUN if [ "$ov_use_binary" == "0" ] ; then true ; else exit 0 ; fi ; make install
198215
RUN if [ "$ov_use_binary" == "0" ] ; then true ; else exit 0 ; fi ; \
@@ -236,9 +253,7 @@ ENV OpenVINO_DIR=/opt/intel/openvino/runtime/cmake
236253
ENV OPENVINO_TOKENIZERS_PATH_GENAI=/opt/intel/openvino/runtime/lib/intel64/libopenvino_tokenizers.so
237254
ENV LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/opt/intel/openvino/runtime/lib/intel64/:/opt/opencv/lib/:/opt/intel/openvino/runtime/3rdparty/tbb/lib/
238255

239-
#ARG ov_tokenizers_branch=85be884a69f10270703f81f970a5ee596a4c8df7
240-
241-
ARG ov_tokenizers_branch=releases/2025/1
256+
ARG ov_tokenizers_branch=releases/2025/2
242257
# hadolint ignore=DL3003
243258
RUN git clone https://github.com/openvinotoolkit/openvino_tokenizers.git /openvino_tokenizers && cd /openvino_tokenizers && git checkout $ov_tokenizers_branch && git submodule update --init --recursive
244259
WORKDIR /openvino_tokenizers/build
@@ -297,7 +312,7 @@ ENV PYTHONPATH=/opt/intel/openvino/python:/ovms/bazel-bin/src/python/binding
297312

298313
WORKDIR /ovms
299314

300-
ARG PROJECT_VERSION="2025.2.0"
315+
ARG PROJECT_VERSION="2025.2"
301316
LABEL description="OpenVINO Model Server"
302317
ARG minitrace_flags
303318

@@ -341,15 +356,41 @@ FROM $BUILD_IMAGE as capi-build
341356
# C api shared library
342357
ARG CAPI_FLAGS="--strip=always --config=mp_off_py_off --verbose_failures --//:distro=redhat --local_ram_resources=23552 --local_cpu_resources=16 --subcommands"
343358
ARG JOBS=16
344-
345-
RUN bazel build --jobs $JOBS ${CAPI_FLAGS} //src:ovms_shared
359+
#RUN bazel build --jobs $JOBS ${CAPI_FLAGS} //src:ovms_shared
360+
361+
RUN mkdir -p /tmp/bazel-output && \
362+
bazel --output_base=/tmp/bazel-output \
363+
--jobs=$JOBS ${CAPI_FLAGS} \
364+
build //src:ovms_shared && \
365+
find /tmp/bazel-output -name libovms_shared.so && \
366+
LIB_PATH=$(find /tmp/bazel-output -name libovms_shared.so | head -n1) && \
367+
echo "Found built file: $LIB_PATH" && \
368+
mkdir -p /ovms_release/lib && \
369+
cp -v "$LIB_PATH" /ovms_release/lib/
346370

347371
# C api app with bazel
348372
# hadolint ignore=DL3059
349373
RUN bazel build --jobs $JOBS ${CAPI_FLAGS} //src:capi_cpp_example
350374

351375
# C-API benchmark app
352-
RUN bazel build --jobs=$JOBS ${CAPI_FLAGS} //src:capi_benchmark && ./bazel-bin/src/capi_benchmark --niter 2 --nstreams 1 --servable_name "dummy"
376+
RUN bazel build --jobs=$JOBS ${CAPI_FLAGS} //src:capi_benchmark
377+
378+
RUN pwd && ls -al
379+
380+
RUN bazel build --jobs=$JOBS ${CAPI_FLAGS} //src:capi_benchmark && \
381+
echo "WORKDIR at build-time: $PWD" && \
382+
bazel info bazel-bin && \
383+
find $(bazel info bazel-bin)/src -type f -name capi_benchmark
384+
385+
RUN mkdir -p /tmp/bazel-output && \
386+
bazel --output_base=/tmp/bazel-output \
387+
--jobs=$JOBS ${CAPI_FLAGS} \
388+
build //src:capi_benchmark && \
389+
CAPI_BIN=$(find /tmp/bazel-output -type f -name capi_benchmark | head -n1) && \
390+
echo "Found built capi_benchmark: $CAPI_BIN" && \
391+
chmod +x "$CAPI_BIN" && \
392+
"$CAPI_BIN" --niter 2 --nstreams 1 --servable_name "dummy"
393+
353394
# C-api C/C++ app with gcc
354395
COPY MakefileCapi /ovms/
355396
RUN make -f MakefileCapi cpp CAPI_FLAGS="${CAPI_FLAGS}" && \
@@ -370,7 +411,7 @@ WORKDIR /
370411
ARG BASE_OS=redhat
371412
ARG ov_use_binary=0
372413
ARG FUZZER_BUILD=0
373-
ARG debug_bazel_flags="--strip=always --config=mp_on_py_on --//:distro=redhat"
414+
ARG debug_bazel_flags="--strip=always --define MEDIAPIPE_DISABLE=0 --define PYTHON_DISABLE=0 --config=mp_on_py_on --verbose_failures --//:distro=redhat --local_ram_resources=23552 --local_cpu_resources=16"
374415
COPY --from=capi-build /ovms_release/lib/libovms_shared.so /ovms_release/lib/
375416
COPY create_package.sh /
376417
RUN ./create_package.sh ; if ! [[ $debug_bazel_flags == *"_py_off"* ]]; then \
@@ -396,7 +437,6 @@ LABEL "maintainer"="[email protected]"
396437
ARG INSTALL_RPMS_FROM_URL=
397438
ARG INSTALL_DRIVER_VERSION="24.52.32224"
398439
ARG GPU=1
399-
ARG debug_bazel_flags=
400440
ARG debug_bazel_flags="--strip=always --define MEDIAPIPE_DISABLE=0 --define PYTHON_DISABLE=0 --config=mp_on_py_on --verbose_failures --//:distro=redhat --local_ram_resources=23552 --local_cpu_resources=16"
401441
LABEL bazel-build-flags=${debug_bazel_flags}
402442
LABEL supported-devices="CPU=1 GPU=${GPU}"

0 commit comments

Comments
 (0)