libraries/openvino: Fix 32bit build.

Signed-off-by: Andrew Clemons <andrew.clemons@gmail.com>

Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
This commit is contained in:
Johannes Schoepfer 2024-04-24 21:28:42 +09:00 committed by Willy Sudiarto Raharjo
parent ba18653426
commit ddd49712ff
No known key found for this signature in database
GPG Key ID: 3F617144D7238786
4 changed files with 67 additions and 22 deletions

View File

@ -1,6 +1,9 @@
OpenVINO is an open-source toolkit for optimizing and deploying AI
inference.
Supported hardware:
https://docs.openvino.ai/2024/about-openvino/system-requirements.html
The dependency oneTBB needs to be compiled with its optional
dependency hwloc, otherwise libtbbbind-2.5 is missing and openvino
will fail to build.

View File

@ -26,8 +26,11 @@ cd $(dirname $0) ; CWD=$(pwd)
PRGNAM=openvino
VERSION=${VERSION:-2024.0.0}
VERSION_PROTOBUF=3.21.12
VERSION_FLATBUFFERS=24.3.25
VERSION_ONNX=1.16.0
VERSION_ONEDNN_GPU=3.4.1
COMMIT_ONEDNN=26633ae49edd4353a29b7170d9fcef6b2d79f4b3
COMMIT_MLAS=d1bc25ec4660cddd87804fcf03b2411b5dfb2e94
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
PKGTYPE=${PKGTYPE:-tgz}
@ -85,40 +88,74 @@ find -L . \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} +
# The protobuf3 version from SBo makes the build fail
(
cd thirdparty/protobuf/
rmdir protobuf
tar vxf $CWD/protobuf-$VERSION_PROTOBUF.tar.gz
ln -s protobuf-$VERSION_PROTOBUF protobuf
)
# Flatbuffers from SBo comes without static lib
# Flatbuffers from SBo provide broken cmake files(static-lib removed but static-lib-cmake-files not removed)
(
cd thirdparty/flatbuffers/
rmdir flatbuffers
tar vxf $CWD/flatbuffers-$VERSION_FLATBUFFERS.tar.gz
ln -s flatbuffers-$VERSION_FLATBUFFERS flatbuffers
)
# onnx frontend
(
cd thirdparty/onnx/
rmdir onnx
tar vxf $CWD/onnx-$VERSION_ONNX.tar.gz
ln -s onnx-$VERSION_ONNX onnx
)
# mlas for cpu inference device
(
cd src/plugins/intel_cpu/thirdparty
rmdir mlas
tar vxf $CWD/mlas-$COMMIT_MLAS.tar.gz
ln -s mlas-$COMMIT_MLAS mlas
)
# oneDNN for cpu inference device, fork from openvinotoolkit needed
# oneDNN supports 64 bit platforms only
if [ "$LIBDIRSUFFIX" == 64 ]; then
CPU=ON
GPU=ON
(
cd src/plugins/intel_cpu/thirdparty
rmdir onednn
tar vxf $CWD/oneDNN-$COMMIT_ONEDNN.tar.gz
ln -s oneDNN-$COMMIT_ONEDNN onednn
)
# oneDNN for gpu inference device, original project
(
cd src/plugins/intel_gpu/thirdparty
rmdir onednn_gpu
tar vxf $CWD/oneDNN-$VERSION_ONEDNN_GPU.tar.gz
ln -s oneDNN-$VERSION_ONEDNN_GPU onednn_gpu
)
else
CPU=OFF
GPU=OFF
fi
#-DENABLE_TBBBIND_2_5=OFF prevents using static prebuild libtbbbind
# https://github.com/openvinotoolkit/openvino/blob/master/docs/dev/cmake_options_for_custom_compilation.md
mkdir -p build
cd build
unshare -n cmake \
-DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
-DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
-DCMAKE_CXX_STANDARD=17 \
-DLIB_SUFFIX=${LIBDIRSUFFIX} \
-DCMAKE_INSTALL_PREFIX=/usr/share/openvino \
-DENABLE_SYSTEM_PUGIXML=ON \
-DENABLE_SYSTEM_SNAPPY=ON \
-DENABLE_SYSTEM_OPENCL=ON \
-DENABLE_SYSTEM_TBB=ON \
-DENABLE_SYSTEM_PROTOBUF=OFF \
-DENABLE_TBBBIND_2_5=OFF \
-DENABLE_SYSTEM_PROTOBUF=ON \
-DProtobuf_LIBRARY=/usr/lib$LIBDIRSUFFIX/libprotobuf.so \
-DENABLE_SYSTEM_OPENCL=ON \
-DOpenCV_DIR=/usr/lib64/cmake/opencv4 \
-DENABLE_JS=OFF \
-DENABLE_SSE42=OFF \
-DENABLE_SAMPLES=OFF \
-DENABLE_INTEL_CPU=OFF \
-DENABLE_INTEL_GPU=OFF \
-DENABLE_OV_ONNX_FRONTEND=OFF \
-DENABLE_INTEL_CPU=$CPU \
-DENABLE_INTEL_GPU=$GPU \
-DENABLE_OV_ONNX_FRONTEND=ON \
-Wno-dev \
-DCMAKE_BUILD_TYPE=Release ..
cmake --build .
@ -128,7 +165,6 @@ cd ..
rmdir $PKG/usr/share/openvino/samples/cpp/thirdparty/gflags/gflags
rmdir $PKG/usr/share/openvino/samples/cpp/thirdparty/nlohmann_json
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp -a LICENSE README.md $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild

View File

@ -2,13 +2,19 @@ PRGNAM="openvino"
VERSION="2024.0.0"
HOMEPAGE="https://github.com/openvinotoolkit/openvino/"
DOWNLOAD="https://github.com/openvinotoolkit/openvino/archive/2024.0.0/openvino-2024.0.0.tar.gz \
https://github.com/protocolbuffers/protobuf/archive/v3.21.12/protobuf-3.21.12.tar.gz \
https://github.com/google/flatbuffers/archive/v24.3.25/flatbuffers-24.3.25.tar.gz"
https://github.com/openvinotoolkit/mlas/archive/d1bc25e/mlas-d1bc25ec4660cddd87804fcf03b2411b5dfb2e94.tar.gz \
https://github.com/openvinotoolkit/onednn/archive/26633ae/oneDNN-26633ae49edd4353a29b7170d9fcef6b2d79f4b3.tar.gz \
https://github.com/oneapi-src/oneDNN/archive/v3.4.1/oneDNN-3.4.1.tar.gz \
https://github.com/google/flatbuffers/archive/v24.3.25/flatbuffers-24.3.25.tar.gz \
https://github.com/onnx/onnx/archive/v1.16.0/onnx-1.16.0.tar.gz"
MD5SUM="5fec9788393e2f48033e6acf839ee11f \
d38562490234d8080bdbe8eb7baf937a \
f28f12fc16c72f4e7c22066a35405c3a"
0e87473410db355fd9251a2e1337dc32 \
2cbdb4f80608959b3c013bab745bb807 \
8e355bb8b51db1e80e9a93953355f1a9 \
f28f12fc16c72f4e7c22066a35405c3a \
5ef5a7bd4f9dad914bddc3b4335a67cd"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="oneTBB xbyak pugixml snappy pybind11"
REQUIRES="protobuf3 oneTBB xbyak pugixml snappy pybind11 OpenCL-CLHPP"
MAINTAINER="Johannes Schoepfer"
EMAIL="slackbuilds@schoepfer.info"

View File

@ -11,8 +11,8 @@ openvino:
openvino: OpenVINO is an open-source toolkit for optimizing and deploying AI
openvino: inference.
openvino:
openvino:
openvino:
openvino: Supported hardware:
openvino: https://docs.openvino.ai/2024/about-openvino/system-requirements.html
openvino:
openvino:
openvino: https://github.com/openvinotoolkit/openvino/