17
17
ARG BASE_IMAGE=registry.access.redhat.com/ubi9/ubi:9.6
18
18
ARG BUILD_IMAGE=build
19
19
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
21
21
22
22
FROM $BASE_IMAGE as base_build
23
23
ARG BASE_IMAGE=registry.access.redhat.com/ubi9/ubi:9.6
@@ -30,6 +30,10 @@ ARG LTO_ENABLE=ON
30
30
ARG LTO_CXX_FLAGS="-flto=auto -ffat-lto-objects -march=haswell"
31
31
ARG LTO_LD_FLAGS="-flto=auto -ffat-lto-objects"
32
32
33
+ #ARG LTO_ENABLE=OFF
34
+ #ARG LTO_CXX_FLAGS=""
35
+ #ARG LTO_LD_FLAGS="-Wl,-z,relro"
36
+
33
37
# hadolint ignore=DL3041
34
38
RUN echo -e "max_parallel_downloads=8\nretries=50" >> /etc/dnf/dnf.conf && \
35
39
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 && \
48
52
wget && \
49
53
dnf clean all
50
54
55
+ RUN gcc --version && g++ --version
56
+
51
57
####### Azure SDK needs new boost:
52
58
WORKDIR /boost
53
59
# hadolint ignore=DL3003
@@ -101,12 +107,11 @@ RUN if [ "$VERBOSE_LOGS" == "ON" ] ; then export VERBOSE=1 ; fi && ./install_ope
101
107
102
108
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ #
103
109
FROM base_build as build
104
- #ARG BASE_IMAGE
105
110
ARG BASE_IMAGE=registry.access.redhat.com/ubi9/ubi:9.6
106
111
107
112
SHELL ["/bin/bash", "-xo", "pipefail", "-c"]
108
113
109
- ARG JOBS=40
114
+ ARG JOBS=16
110
115
ARG VERBOSE_LOGS=ON
111
116
ARG LTO_ENABLE=ON
112
117
@@ -128,7 +133,6 @@ RUN dnf install -y https://rpmfind.net/linux/almalinux/8.10/PowerTools/x86_64/os
128
133
libicu-devel && \
129
134
dnf clean all
130
135
131
-
132
136
WORKDIR /
133
137
# hadolint ignore=DL3003
134
138
RUN wget -nv https://go.dev/dl/go1.24.4.linux-amd64.tar.gz && \
@@ -179,7 +183,6 @@ ARG TEMP_DIR=/tmp/openvino_installer
179
183
ARG CMAKE_BUILD_TYPE=Release
180
184
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"
181
185
182
-
183
186
################### BUILD OPENVINO FROM SOURCE - buildarg ov_use_binary=0 ############################
184
187
# hadolint ignore=DL3041
185
188
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 .
192
195
RUN if [ "$ov_use_binary" == "0" ]; then patch -p1 < openvino-lto.patch ; rm -f openvino-lto.patch ; fi
193
196
WORKDIR /openvino/build
194
197
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
+
196
213
RUN if [ "$ov_use_binary" == "0" ] ; then true ; else exit 0 ; fi ; make --jobs=$JOBS
197
214
RUN if [ "$ov_use_binary" == "0" ] ; then true ; else exit 0 ; fi ; make install
198
215
RUN if [ "$ov_use_binary" == "0" ] ; then true ; else exit 0 ; fi ; \
@@ -236,9 +253,7 @@ ENV OpenVINO_DIR=/opt/intel/openvino/runtime/cmake
236
253
ENV OPENVINO_TOKENIZERS_PATH_GENAI=/opt/intel/openvino/runtime/lib/intel64/libopenvino_tokenizers.so
237
254
ENV LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/opt/intel/openvino/runtime/lib/intel64/:/opt/opencv/lib/:/opt/intel/openvino/runtime/3rdparty/tbb/lib/
238
255
239
- #ARG ov_tokenizers_branch=85be884a69f10270703f81f970a5ee596a4c8df7
240
-
241
- ARG ov_tokenizers_branch=releases/2025/1
256
+ ARG ov_tokenizers_branch=releases/2025/2
242
257
# hadolint ignore=DL3003
243
258
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
244
259
WORKDIR /openvino_tokenizers/build
@@ -297,7 +312,7 @@ ENV PYTHONPATH=/opt/intel/openvino/python:/ovms/bazel-bin/src/python/binding
297
312
298
313
WORKDIR /ovms
299
314
300
- ARG PROJECT_VERSION="2025.2.0 "
315
+ ARG PROJECT_VERSION="2025.2"
301
316
LABEL description="OpenVINO Model Server"
302
317
ARG minitrace_flags
303
318
@@ -341,15 +356,41 @@ FROM $BUILD_IMAGE as capi-build
341
356
# C api shared library
342
357
ARG CAPI_FLAGS="--strip=always --config=mp_off_py_off --verbose_failures --//:distro=redhat --local_ram_resources=23552 --local_cpu_resources=16 --subcommands"
343
358
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/
346
370
347
371
# C api app with bazel
348
372
# hadolint ignore=DL3059
349
373
RUN bazel build --jobs $JOBS ${CAPI_FLAGS} //src:capi_cpp_example
350
374
351
375
# 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
+
353
394
# C-api C/C++ app with gcc
354
395
COPY MakefileCapi /ovms/
355
396
RUN make -f MakefileCapi cpp CAPI_FLAGS="${CAPI_FLAGS}" && \
@@ -370,7 +411,7 @@ WORKDIR /
370
411
ARG BASE_OS=redhat
371
412
ARG ov_use_binary=0
372
413
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 "
374
415
COPY --from=capi-build /ovms_release/lib/libovms_shared.so /ovms_release/lib/
375
416
COPY create_package.sh /
376
417
RUN ./create_package.sh ; if ! [[ $debug_bazel_flags == *"_py_off"* ]]; then \
396
437
ARG INSTALL_RPMS_FROM_URL=
397
438
ARG INSTALL_DRIVER_VERSION="24.52.32224"
398
439
ARG GPU=1
399
- ARG debug_bazel_flags=
400
440
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"
401
441
LABEL bazel-build-flags=${debug_bazel_flags}
402
442
LABEL supported-devices="CPU=1 GPU=${GPU}"
0 commit comments