@@ -135,10 +135,8 @@ RUN if [ "$BASE_OS" == "ubuntu22" ] ; then python3 -m pip install "Jinja2==3.1.6
135135ARG JOBS=8
136136ARG ov_use_binary=0
137137ARG ov_source_org=openvinotoolkit
138- ARG ov_contrib_org=openvinotoolkit
139138ARG DLDT_PACKAGE_URL
140139ARG ov_source_branch=master
141- ARG ov_contrib_branch=master
142140ARG CMAKE_BUILD_TYPE=Release
143141
144142ENV HDDL_INSTALL_DIR=/opt/intel/openvino/deployment_tools/inference_engine/external/hddl
@@ -182,9 +180,9 @@ WORKDIR $TEMP_DIR
182180RUN if [ "$ov_use_binary" == "1" ] && [ "$DLDT_PACKAGE_URL" != "" ]; then true ; else exit 0 ; fi ; \
183181 wget -nv $DLDT_PACKAGE_URL && \
184182 mkdir /opt/intel && \
185- tar -zxf ./*openvino_toolkit*.tgz -C /opt/intel && \
186- ln -s /opt/intel/*openvino_toolkit * /opt/intel/openvino && \
187- ln -s /opt/intel/*openvino_toolkit * /opt/intel/openvino_2025
183+ tar -zxf ./*openvino_genai*.tar.gz -C /opt/intel && \
184+ ln -s /opt/intel/*openvino_genai * /opt/intel/openvino && \
185+ ln -s /opt/intel/*openvino_genai * /opt/intel/openvino_2025
188186
189187WORKDIR /
190188# install sample apps including benchmark_app
@@ -194,16 +192,15 @@ RUN if [ -f /opt/intel/openvino/samples/cpp/build_samples.sh ]; then /opt/intel
194192# OpenVINO Tokenizers extension
195193ENV OpenVINO_DIR=/opt/intel/openvino/runtime/cmake
196194ENV OPENVINO_TOKENIZERS_PATH_GENAI=/opt/intel/openvino/runtime/lib/intel64/libopenvino_tokenizers.so
197- WORKDIR /openvino_tokenizers/
198195
196+ ARG SDL_OPS="-fpic -O2 -U_FORTIFY_SOURCE -fstack-protector -fno-omit-frame-pointer -D_FORTIFY_SOURCE=1 -fno-strict-overflow -Wall -Wno-unknown-pragmas -Wno-error=sign-compare -fno-delete-null-pointer-checks -fwrapv -fstack-clash-protection -Wformat -Wformat-security -Werror=format-security -s -D_GLIBCXX_USE_CXX11_ABI=1 -Wno-error=deprecated-declarations -Wuninitialized"
199197ARG ov_tokenizers_branch=master
200- ARG SDL_OPS="-fpic -O2 -U_FORTIFY_SOURCE -fstack-protector -fno-omit-frame-pointer -D_FORTIFY_SOURCE=1 -fno-strict-overflow -Wall -Wno-unknown-pragmas -Wno-error=sign-compare -fno-delete-null-pointer-checks -fwrapv -fstack-clash-protection -Wformat -Wformat-security -Werror=format-security"
198+ ARG ov_tokenizers_org=openvinotoolkit
201199# hadolint ignore=DL3003
202- 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
203- RUN cmake -DCMAKE_BUILD_TYPE=$CMAKE_BUILD_TYPE -DCMAKE_CXX_FLAGS="${SDL_OPS}" -S ./ -B ./build/ && cmake --build ./build/ --parallel $JOBS && cp /openvino_tokenizers/build/src/lib*.so /opt/intel/openvino/runtime/lib/intel64/
204-
205- # Install the openvino_tokenizers python bindings and copy to OpenVINO location
206- RUN if ! [[ $debug_bazel_flags == *"_py_off"* ]]; then \
200+ RUN git clone https://github.com/$ov_tokenizers_org/openvino_tokenizers.git /openvino_tokenizers && cd /openvino_tokenizers && git checkout $ov_tokenizers_branch && git submodule update --init --recursive
201+ RUN if [ "$ov_use_binary" == "0" ]; then true ; else exit 0 ; fi ; if ! [[ $debug_bazel_flags == *"py_off"* ]]; then true ; else exit 0 ; fi ; \
202+ cmake -DCMAKE_BUILD_TYPE=$CMAKE_BUILD_TYPE -DCMAKE_CXX_FLAGS="${SDL_OPS}" -S ./ -B ./build/ && cmake --build ./build/ --parallel $JOBS && cp /openvino_tokenizers/build/src/lib*.so /opt/intel/openvino/runtime/lib/intel64/ ; \
203+ if ! [[ $debug_bazel_flags == *"_py_off"* ]]; then \
207204 mkdir -p /opt/intel/openvino/python/openvino_tokenizers/lib ; \
208205 cp -r python/* /opt/intel/openvino/python/ ; \
209206 cp build/python/* /opt/intel/openvino/python/openvino_tokenizers/ ; \
@@ -212,6 +209,16 @@ RUN if ! [[ $debug_bazel_flags == *"_py_off"* ]]; then \
212209 ln -s /ovms/lib/libopenvino_tokenizers.so /opt/intel/openvino/python/openvino_tokenizers/lib/libopenvino_tokenizers.so ; \
213210 fi
214211
212+ ARG ov_genai_branch=master
213+ ARG ov_genai_org=openvinotoolkit
214+ # hadolint ignore=DL3003
215+ RUN if [ "$ov_use_binary" == "0" ]; then true ; else exit 0 ; fi ; if ! [[ $debug_bazel_flags == *"py_off"* ]]; then true ; else exit 0 ; fi ; \
216+ git clone https://github.com/$ov_genai_org/openvino.genai /openvino_genai && cd /openvino_genai && git checkout $ov_genai_branch && git submodule update --init --recursive ; \
217+ cmake -DCMAKE_BUILD_TYPE=$CMAKE_BUILD_TYPE -DCMAKE_CXX_FLAGS="${SDL_OPS}" -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DENABLE_SYSTEM_ICU="True" -DBUILD_TOKENIZERS=OFF -DENABLE_SAMPLES=OFF -DENABLE_TOOLS=OFF -DENABLE_TESTS=OFF -DENABLE_XGRAMMAR=ON -S ./ -B ./build/ ; \
218+ cmake --build ./build/ --parallel $JOBS && cp /openvino_genai/build/openvino_genai/lib*.so* /opt/intel/openvino/runtime/lib/intel64/ ; \
219+ cp -r /openvino_genai/src/cpp/include/* /opt/intel/openvino/runtime/include/ ; \
220+ cp -r /openvino_genai/build/openvino_genai/*py* /opt/intel/openvino/python/
221+
215222# Add Nvidia dev tool if needed
216223RUN apt-get update ; \
217224 apt-get install -y --no-install-recommends opencl-clhpp-headers opencl-c-headers intel-opencl-icd && \
@@ -280,6 +287,13 @@ RUN bash -c "sed -i -e 's|REPLACE_PROJECT_VERSION|${PROJECT_VERSION}|g' /ovms/sr
280287
281288WORKDIR /usr/lib/x86_64-linux-gnu/
282289RUN ln -s libOpenCL.so.1 libOpenCL.so
290+
291+ WORKDIR /patchelf
292+ # hadolint ignore=DL3003
293+ RUN wget -q https://github.com/NixOS/patchelf/archive/0.10.tar.gz && \
294+ tar -xf 0.10.tar.gz && cd patchelf-0.10 && \
295+ ./bootstrap.sh && ./configure && make && make install
296+
283297WORKDIR /ovms
284298# Test Coverage
285299COPY ci/check_coverage.bat /ovms/
@@ -309,7 +323,6 @@ COPY client /client
309323RUN python3 -c "import json; m={'PROJECT_VERSION':'${PROJECT_VERSION}','OPENVINO backend':'$(/ovms/bazel-bin/src/ovms --version | grep backend | cut -d' ' -f3)', \
310324 'BAZEL_BUILD_FLAGS':'${debug_bazel_flags}${minitrace_flags}','BASE_IMAGE':'${BASE_IMAGE}' }; \
311325 print(json.dumps(m,indent=4))" > /ovms/release_files/metadata.json
312-
313326# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ #
314327
315328FROM $BUILD_IMAGE as capi-build
@@ -319,6 +332,7 @@ SHELL ["/bin/bash", "-xo", "pipefail", "-c"]
319332ARG CAPI_FLAGS="--strip=always --config mp_off_py_off --//:distro=ubuntu"
320333ARG JOBS=40
321334ARG FUZZER_BUILD=0
335+ WORKDIR /ovms
322336RUN bazel build --jobs=$JOBS ${CAPI_FLAGS} //src:ovms_shared
323337
324338# C-API benchmark app
@@ -340,12 +354,7 @@ RUN mkdir -p /ovms_release/lib/ ; find /ovms/bazel-out/k8-*/bin -iname 'libovms_
340354
341355FROM build as pkg
342356
343- RUN mkdir /patchelf
344- WORKDIR /patchelf
345- # hadolint ignore=DL3003
346- RUN wget -q https://github.com/NixOS/patchelf/archive/0.10.tar.gz && \
347- tar -xf 0.10.tar.gz && cd patchelf-0.10 && \
348- ./bootstrap.sh && ./configure && make && make install
357+ COPY --from=build /usr/local/bin/patchelf /usr/local/bin/patchelf
349358
350359WORKDIR /
351360ARG BASE_OS=ubuntu
0 commit comments