From 8b495ac5ca421c4002602ade2adf274d7dc9003f Mon Sep 17 00:00:00 2001 From: Farid K Date: Wed, 20 Mar 2019 17:48:44 +0000 Subject: [PATCH 1/9] Enable Video Analytic Gstreamer Plugins on Xeon and XeonE3 --- VCA2/centos-7.4/ffmpeg+gst+dev/Dockerfile | 229 +++++-- VCA2/centos-7.4/ffmpeg+gst+dev/Dockerfile.m4 | 2 - VCA2/centos-7.4/ffmpeg/Dockerfile | 11 +- VCA2/centos-7.4/gst/Dockerfile | 137 ++-- VCA2/centos-7.4/gst/Dockerfile.m4 | 2 - VCA2/centos-7.4/nginx+rtmp/Dockerfile | 9 + VCA2/centos-7.5/ffmpeg+gst+dev/Dockerfile | 231 +++++-- VCA2/centos-7.5/ffmpeg+gst+dev/Dockerfile.m4 | 4 +- VCA2/centos-7.5/ffmpeg/Dockerfile | 11 +- VCA2/centos-7.5/gst/Dockerfile | 137 ++-- VCA2/centos-7.5/gst/Dockerfile.m4 | 2 - VCA2/centos-7.5/nginx+rtmp/Dockerfile | 9 + VCA2/centos-7.6/ffmpeg+gst+dev/Dockerfile | 229 +++++-- VCA2/centos-7.6/ffmpeg+gst+dev/Dockerfile.m4 | 2 - VCA2/centos-7.6/ffmpeg/Dockerfile | 11 +- VCA2/centos-7.6/gst/Dockerfile | 137 ++-- VCA2/centos-7.6/gst/Dockerfile.m4 | 2 - VCA2/centos-7.6/nginx+rtmp/Dockerfile | 9 + VCA2/ubuntu-16.04/ffmpeg+gst+dev/Dockerfile | 216 +++++-- VCA2/ubuntu-16.04/ffmpeg/Dockerfile | 13 +- VCA2/ubuntu-16.04/gst/Dockerfile | 121 +++- VCA2/ubuntu-16.04/nginx+rtmp/Dockerfile | 7 +- VCA2/ubuntu-18.04/ffmpeg+gst+dev/Dockerfile | 217 +++++-- VCA2/ubuntu-18.04/ffmpeg/Dockerfile | 13 +- VCA2/ubuntu-18.04/gst/Dockerfile | 121 +++- VCA2/ubuntu-18.04/nginx+rtmp/Dockerfile | 7 +- Xeon/centos-7.4/dldt+ffmpeg/Dockerfile | 81 ++- Xeon/centos-7.4/dldt+gst/Dockerfile | 239 +++++-- Xeon/centos-7.4/dldt+gst/Dockerfile.m4 | 4 +- Xeon/centos-7.4/ffmpeg+gst+dev/Dockerfile | 267 ++++++-- Xeon/centos-7.4/ffmpeg+gst+dev/Dockerfile.m4 | 4 +- Xeon/centos-7.4/ffmpeg/Dockerfile | 9 + Xeon/centos-7.4/gst/Dockerfile | 107 ++-- Xeon/centos-7.4/gst/Dockerfile.m4 | 1 - Xeon/centos-7.4/nginx+rtmp/Dockerfile | 9 + Xeon/centos-7.4/ospray/Dockerfile | 9 + Xeon/centos-7.5/dldt+ffmpeg/Dockerfile | 83 ++- Xeon/centos-7.5/dldt+ffmpeg/Dockerfile.m4 | 2 +- Xeon/centos-7.5/dldt+gst/Dockerfile | 240 +++++-- Xeon/centos-7.5/dldt+gst/Dockerfile.m4 | 6 +- Xeon/centos-7.5/ffmpeg+gst+dev/Dockerfile | 268 ++++++-- Xeon/centos-7.5/ffmpeg+gst+dev/Dockerfile.m4 | 6 +- Xeon/centos-7.5/ffmpeg/Dockerfile | 9 + Xeon/centos-7.5/gst/Dockerfile | 107 ++-- Xeon/centos-7.5/gst/Dockerfile.m4 | 1 - Xeon/centos-7.5/nginx+rtmp/Dockerfile | 9 + Xeon/centos-7.5/ospray/Dockerfile | 9 + Xeon/centos-7.6/dldt+ffmpeg/Dockerfile | 81 ++- Xeon/centos-7.6/dldt+gst/Dockerfile | 238 +++++-- Xeon/centos-7.6/dldt+gst/Dockerfile.m4 | 4 +- Xeon/centos-7.6/ffmpeg+gst+dev/Dockerfile | 268 ++++++-- Xeon/centos-7.6/ffmpeg+gst+dev/Dockerfile.m4 | 6 +- Xeon/centos-7.6/ffmpeg/Dockerfile | 9 + Xeon/centos-7.6/gst/Dockerfile | 107 ++-- Xeon/centos-7.6/gst/Dockerfile.m4 | 1 - Xeon/centos-7.6/nginx+rtmp/Dockerfile | 9 + Xeon/centos-7.6/ospray/Dockerfile | 9 + Xeon/ubuntu-16.04/dldt+ffmpeg/Dockerfile | 79 ++- Xeon/ubuntu-16.04/dldt+gst/Dockerfile | 232 +++++-- Xeon/ubuntu-16.04/dldt+gst/Dockerfile.m4 | 3 + Xeon/ubuntu-16.04/ffmpeg+gst+dev/Dockerfile | 257 ++++++-- .../ubuntu-16.04/ffmpeg+gst+dev/Dockerfile.m4 | 3 + Xeon/ubuntu-16.04/ffmpeg/Dockerfile | 7 +- Xeon/ubuntu-16.04/gst/Dockerfile | 94 ++- Xeon/ubuntu-16.04/nginx+rtmp/Dockerfile | 7 +- Xeon/ubuntu-16.04/ospray/Dockerfile | 7 +- Xeon/ubuntu-18.04/dldt+ffmpeg/Dockerfile | 80 ++- Xeon/ubuntu-18.04/dldt+gst/Dockerfile | 233 +++++-- Xeon/ubuntu-18.04/dldt+gst/Dockerfile.m4 | 3 + Xeon/ubuntu-18.04/ffmpeg+gst+dev/Dockerfile | 258 ++++++-- .../ubuntu-18.04/ffmpeg+gst+dev/Dockerfile.m4 | 3 + Xeon/ubuntu-18.04/ffmpeg/Dockerfile | 7 +- Xeon/ubuntu-18.04/gst/Dockerfile | 94 ++- Xeon/ubuntu-18.04/nginx+rtmp/Dockerfile | 7 +- Xeon/ubuntu-18.04/ospray/Dockerfile | 7 +- XeonE3/centos-7.4/dldt+gst/CMakeLists.txt | 3 + XeonE3/centos-7.4/dldt+gst/Dockerfile | 588 +++++++++++++++++ XeonE3/centos-7.4/dldt+gst/Dockerfile.m4 | 48 ++ XeonE3/centos-7.4/dldt+gst/build.sh | 7 + XeonE3/centos-7.4/dldt+gst/shell.sh | 6 + XeonE3/centos-7.4/ffmpeg+gst+dev/Dockerfile | 331 ++++++++-- .../centos-7.4/ffmpeg+gst+dev/Dockerfile.m4 | 7 +- XeonE3/centos-7.4/ffmpeg/Dockerfile | 11 +- XeonE3/centos-7.4/gst/Dockerfile | 137 ++-- XeonE3/centos-7.4/gst/Dockerfile.m4 | 2 - XeonE3/centos-7.4/nginx+rtmp/Dockerfile | 9 + XeonE3/centos-7.5/dldt+gst/CMakeLists.txt | 3 + XeonE3/centos-7.5/dldt+gst/Dockerfile | 587 +++++++++++++++++ XeonE3/centos-7.5/dldt+gst/Dockerfile.m4 | 48 ++ XeonE3/centos-7.5/dldt+gst/build.sh | 7 + XeonE3/centos-7.5/dldt+gst/shell.sh | 6 + XeonE3/centos-7.5/ffmpeg+gst+dev/Dockerfile | 332 ++++++++-- .../centos-7.5/ffmpeg+gst+dev/Dockerfile.m4 | 9 +- XeonE3/centos-7.5/ffmpeg/Dockerfile | 11 +- XeonE3/centos-7.5/gst/Dockerfile | 137 ++-- XeonE3/centos-7.5/gst/Dockerfile.m4 | 2 - XeonE3/centos-7.5/nginx+rtmp/Dockerfile | 9 + XeonE3/centos-7.6/dldt+gst/CMakeLists.txt | 3 + XeonE3/centos-7.6/dldt+gst/Dockerfile | 587 +++++++++++++++++ XeonE3/centos-7.6/dldt+gst/Dockerfile.m4 | 48 ++ XeonE3/centos-7.6/dldt+gst/build.sh | 7 + XeonE3/centos-7.6/dldt+gst/shell.sh | 6 + XeonE3/centos-7.6/ffmpeg+gst+dev/Dockerfile | 330 ++++++++-- .../centos-7.6/ffmpeg+gst+dev/Dockerfile.m4 | 7 +- XeonE3/centos-7.6/ffmpeg/Dockerfile | 11 +- XeonE3/centos-7.6/gst/Dockerfile | 137 ++-- XeonE3/centos-7.6/gst/Dockerfile.m4 | 2 - XeonE3/centos-7.6/nginx+rtmp/Dockerfile | 9 + XeonE3/ubuntu-16.04/dldt+gst/CMakeLists.txt | 3 + XeonE3/ubuntu-16.04/dldt+gst/Dockerfile | 592 +++++++++++++++++ XeonE3/ubuntu-16.04/dldt+gst/Dockerfile.m4 | 48 ++ XeonE3/ubuntu-16.04/dldt+gst/build.sh | 7 + XeonE3/ubuntu-16.04/dldt+gst/shell.sh | 6 + XeonE3/ubuntu-16.04/ffmpeg+gst+dev/Dockerfile | 333 ++++++++-- .../ubuntu-16.04/ffmpeg+gst+dev/Dockerfile.m4 | 6 + XeonE3/ubuntu-16.04/ffmpeg/Dockerfile | 13 +- XeonE3/ubuntu-16.04/gst/Dockerfile | 121 +++- XeonE3/ubuntu-16.04/nginx+rtmp/Dockerfile | 7 +- XeonE3/ubuntu-18.04/dldt+gst/CMakeLists.txt | 3 + XeonE3/ubuntu-18.04/dldt+gst/Dockerfile | 595 ++++++++++++++++++ XeonE3/ubuntu-18.04/dldt+gst/Dockerfile.m4 | 48 ++ XeonE3/ubuntu-18.04/dldt+gst/build.sh | 7 + XeonE3/ubuntu-18.04/dldt+gst/shell.sh | 6 + XeonE3/ubuntu-18.04/ffmpeg+gst+dev/Dockerfile | 334 ++++++++-- .../ubuntu-18.04/ffmpeg+gst+dev/Dockerfile.m4 | 6 + XeonE3/ubuntu-18.04/ffmpeg/Dockerfile | 13 +- XeonE3/ubuntu-18.04/gst/Dockerfile | 121 +++- XeonE3/ubuntu-18.04/nginx+rtmp/Dockerfile | 7 +- template/automake.m4 | 10 +- template/build-tools.m4 | 3 +- template/dldt-ie.m4 | 130 +++- template/gst-orc.m4 | 14 + template/gst-plugin-bad.m4 | 18 +- template/gst-plugin-base.m4 | 23 +- template/gst-plugin-good.m4 | 21 +- template/gst-plugin-libav.m4 | 13 +- template/gst-plugin-ugly.m4 | 15 +- template/gst-plugin-vaapi.m4 | 23 +- template/gst.m4 | 23 +- template/gstreamer-videoanalytics.m4 | 61 ++ template/install.m4 | 2 +- template/install.pkgs.m4 | 6 +- template/libva-utils.m4 | 11 + template/libva.m4 | 6 +- template/opencl.m4 | 43 ++ template/opencv.m4 | 21 + 146 files changed, 9734 insertions(+), 1904 deletions(-) create mode 100644 XeonE3/centos-7.4/dldt+gst/CMakeLists.txt create mode 100644 XeonE3/centos-7.4/dldt+gst/Dockerfile create mode 100644 XeonE3/centos-7.4/dldt+gst/Dockerfile.m4 create mode 100755 XeonE3/centos-7.4/dldt+gst/build.sh create mode 100755 XeonE3/centos-7.4/dldt+gst/shell.sh create mode 100644 XeonE3/centos-7.5/dldt+gst/CMakeLists.txt create mode 100644 XeonE3/centos-7.5/dldt+gst/Dockerfile create mode 100644 XeonE3/centos-7.5/dldt+gst/Dockerfile.m4 create mode 100755 XeonE3/centos-7.5/dldt+gst/build.sh create mode 100755 XeonE3/centos-7.5/dldt+gst/shell.sh create mode 100644 XeonE3/centos-7.6/dldt+gst/CMakeLists.txt create mode 100644 XeonE3/centos-7.6/dldt+gst/Dockerfile create mode 100644 XeonE3/centos-7.6/dldt+gst/Dockerfile.m4 create mode 100755 XeonE3/centos-7.6/dldt+gst/build.sh create mode 100755 XeonE3/centos-7.6/dldt+gst/shell.sh create mode 100644 XeonE3/ubuntu-16.04/dldt+gst/CMakeLists.txt create mode 100644 XeonE3/ubuntu-16.04/dldt+gst/Dockerfile create mode 100644 XeonE3/ubuntu-16.04/dldt+gst/Dockerfile.m4 create mode 100755 XeonE3/ubuntu-16.04/dldt+gst/build.sh create mode 100755 XeonE3/ubuntu-16.04/dldt+gst/shell.sh create mode 100644 XeonE3/ubuntu-18.04/dldt+gst/CMakeLists.txt create mode 100644 XeonE3/ubuntu-18.04/dldt+gst/Dockerfile create mode 100644 XeonE3/ubuntu-18.04/dldt+gst/Dockerfile.m4 create mode 100755 XeonE3/ubuntu-18.04/dldt+gst/build.sh create mode 100755 XeonE3/ubuntu-18.04/dldt+gst/shell.sh create mode 100644 template/gst-orc.m4 create mode 100644 template/gstreamer-videoanalytics.m4 create mode 100644 template/libva-utils.m4 create mode 100644 template/opencl.m4 create mode 100644 template/opencv.m4 diff --git a/VCA2/centos-7.4/ffmpeg+gst+dev/Dockerfile b/VCA2/centos-7.4/ffmpeg+gst+dev/Dockerfile index d03445ab7..56468b64a 100644 --- a/VCA2/centos-7.4/ffmpeg+gst+dev/Dockerfile +++ b/VCA2/centos-7.4/ffmpeg+gst+dev/Dockerfile @@ -14,6 +14,15 @@ RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz make -j8 && \ make install +# Install automake, use version 1.14 on CentOS +ARG AUTOMAKE_VER=1.14 +ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz +RUN wget -O - ${AUTOMAKE_REPO} | tar xJ && \ + cd automake-${AUTOMAKE_VER} && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --disable-doc && \ + make -j8 && \ + make install + # Build NASM ARG NASM_VER=2.13.03 ARG NASM_REPO=https://www.nasm.us/pub/nasm/releasebuilds/${NASM_VER}/nasm-${NASM_VER}.tar.bz2 @@ -200,7 +209,7 @@ RUN wget -O - ${GMMLIB_REPO} | tar xz && mv gmmlib-${GMMLIB_VER} gmmlib; #include(libdrm.m4) # Build libva -ARG LIBVA_VER=2.3.0 +ARG LIBVA_VER=2.4.0 ARG LIBVA_REPO=https://github.com/intel/libva/archive/${LIBVA_VER}.tar.gz RUN yum install -y -q libX11-devel mesa-libGL-devel which libdrm-devel @@ -256,64 +265,122 @@ RUN git clone -b ${DLDT_VER} ${DLDT_REPO} && \ wget -O - ${DLDT_C_API_REPO} | patch -p2 && \ mkdir build && \ cd build && \ - cmake -DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_PATH=/usr/lib64 -DENABLE_MKL_DNN=ON -DENABLE_CLDNN=ON -DENABLE_SAMPLES_CORE=OFF ..; \ - make -j16 && \ + cmake -DCMAKE_INSTALL_PREFIX=/opt/intel/dldt -DLIB_INSTALL_PATH=/opt/intel/dldt -DENABLE_MKL_DNN=ON -DENABLE_CLDNN=ON -DENABLE_SAMPLE_CORE=OFF .. && \ + make -j $(nproc) && \ rm -rf ../bin/intel64/Release/lib/libgtest* && \ rm -rf ../bin/intel64/Release/lib/libgmock* && \ rm -rf ../bin/intel64/Release/lib/libmock* && \ - rm -rf ../bin/intel64/Release/lib/libtest* && \ - for p in /usr /home/build/usr; do \ - mkdir -p $p/include/dldt; \ - cp -r ../include/* $p/include/dldt; \ - libdir="$p/lib64"; \ - cp -r ../bin/intel64/Release/lib/* "$libdir"; \ - cp -r ../temp/omp/lib/* "$libdir"; \ - mkdir -p "$libdir/pkgconfig"; \ - pc="$libdir/pkgconfig/dldt.pc"; \ - echo "prefix=/usr" > "$pc"; \ - echo "libdir=/usr/lib64" >> "$pc"; \ - echo "includedir=/usr/include/dldt" >> "$pc"; \ - echo "" >> "$pc"; \ - echo "Name: DLDT" >> "$pc"; \ - echo "Description: Intel Deep Learning Deployment Toolkit" >> "$pc"; \ - echo "Version: 5.0" >> "$pc"; \ - echo "" >> "$pc"; \ - echo "Libs: -L\${libdir} -linference_engine -linference_engine_c_wrapper" >> "$pc"; \ + rm -rf ../bin/intel64/Release/lib/libtest* + +ARG libdir=/opt/intel/dldt/inference-engine/lib/centos_7.4/intel64 + +RUN mkdir -p /opt/intel/dldt/inference-engine/include && \ + cp -r dldt/inference-engine/include/* /opt/intel/dldt/inference-engine/include && \ + mkdir -p ${libdir} && \ + cp -r dldt/inference-engine/bin/intel64/Release/lib/* ${libdir} && \ + mkdir -p /opt/intel/dldt/inference-engine/src && \ + cp -r dldt/inference-engine/src/* /opt/intel/dldt/inference-engine/src/ && \ + mkdir -p /opt/intel/dldt/inference-engine/share && \ + cp -r dldt/inference-engine/build/share/* /opt/intel/dldt/inference-engine/share/ && \ + mkdir -p /opt/intel/dldt/inference-engine/external/omp/lib && \ + cp -r dldt/inference-engine/temp/omp/lib/* /opt/intel/dldt/inference-engine/external/omp/lib/ + +RUN mkdir -p build/opt/intel/dldt/inference-engine/include && \ + cp -r dldt/inference-engine/include/* build/opt/intel/dldt/inference-engine/include && \ + mkdir -p build${libdir} && \ + cp -r dldt/inference-engine/bin/intel64/Release/lib/* build${libdir} && \ + mkdir -p build/opt/intel/dldt/inference-engine/src && \ + cp -r dldt/inference-engine/src/* build/opt/intel/dldt/inference-engine/src/ && \ + mkdir -p build/opt/intel/dldt/inference-engine/share && \ + cp -r dldt/inference-engine/build/share/* build/opt/intel/dldt/inference-engine/share/ && \ + mkdir -p build/opt/intel/dldt/inference-engine/external/omp/lib && \ + cp -r dldt/inference-engine/temp/omp/lib/* build/opt/intel/dldt/inference-engine/external/omp/lib/ + +RUN for p in /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inference-engine; do \ + mkdir -p "${libdir}/pkgconfig" && \ + pc="${libdir}/pkgconfig/dldt.pc" && \ + echo "prefix=/opt" > "$pc" && \ + echo "libdir=${libdir}" >> "$pc" && \ + echo "includedir=/opt/intel/dldt/inference-engine/include" >> "$pc" && \ + echo "" >> "$pc" && \ + echo "Name: DLDT" >> "$pc" && \ + echo "Description: Intel Deep Learning Deployment Toolkit" >> "$pc" && \ + echo "Version: 5.0" >> "$pc" && \ + echo "" >> "$pc" && \ + echo "Libs: -L\${libdir} -linference_engine -linference_engine_c_wrapper" >> "$pc" && \ echo "Cflags: -I\${includedir}" >> "$pc"; \ done; -# Install automake -ARG AUTOMAKE_VER=1.14 -ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz +ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share +ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} + +#install Model Optimizer in the DLDT for Dev +ARG PYTHON_TRUSTED_HOST +ARG PYTHON_TRUSTED_INDEX_URL +#install MO dependencies +RUN yum install -y python36 +RUN yum install -y python36-devel +RUN yum install -y python36-setuptools +RUN easy_install-3.6 pip +#RUN pip3 install numpy scipy +RUN git clone https://github.com/google/protobuf.git && \ + cd protobuf && \ + git submodule update --init --recursive && \ + ./autogen.sh && \ + ./configure && \ + make && \ + make install && \ + make install DESTDIR=/home/build +#RUN apt-get update && apt-get install -y sudo +#installing dependency libs to mo_libs directory to avoid issues with updates to Python version +RUN cd dldt/model-optimizer && \ +if [ "x$PYTHON_TRUSTED_HOST" = "x" ] ; \ +then pip3 install --target=/home/build/mo_libs -r requirements.txt && \ +pip3 install -r requirements.txt; \ +else pip3 install --target=/home/build/mo_libs -r requirements.txt -i $PYTHON_TRUSTED_INDEX_URL --trusted-host $PYTHON_TRUSTED_HOST && \ +pip3 install -r requirements.txt -i $PYTHON_TRUSTED_INDEX_URL --trusted-host $PYTHON_TRUSTED_HOST; \ +fi + +#Copy over Model Optimizer to same directory as Inference Engine +RUN cp -r dldt/model-optimizer /opt/intel/dldt/model-optimizer +RUN cp -r dldt/model-optimizer /home/build/opt/intel/dldt/model-optimizer + -RUN wget -O - ${AUTOMAKE_REPO} | tar xJ && \ - cd automake-${AUTOMAKE_VER} && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --disable-doc && \ - make -j8 && \ - make install # Build the gstremaer core ARG GST_VER=1.14.4 ARG GST_REPO=https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${GST_VER}.tar.xz -RUN yum install -y -q glib2-devel-2.56.1 gettext-devel gtk-doc +RUN yum install -y -q glib2-devel-2.56.1 gettext-devel gobject-introspection python-gobject-base RUN wget -O - ${GST_REPO} | tar xJ && \ cd gstreamer-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ - make install + make install; # Build the gstremaer plugin base ARG GST_PLUGIN_BASE_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-${GST_VER}.tar.xz +RUN yum install -y -q libXv-devel libvisual-devel libtheora-devel glib2-devel alsa-lib-devel cdparanoia-devel mesa-libGL-devel pango-devel + RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ && \ cd gst-plugins-base-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install @@ -321,33 +388,53 @@ RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ && \ # Build the gstremaer plugin good set ARG GST_PLUGIN_GOOD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-${GST_VER}.tar.xz +RUN yum install -y -q libsoup-devel libjpeg-devel + RUN wget -O - ${GST_PLUGIN_GOOD_REPO} | tar xJ && \ cd gst-plugins-good-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install + # Build the gstremaer plugin bad set ARG GST_PLUGIN_BAD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-${GST_VER}.tar.xz +RUN yum install -y -q openssl-devel + RUN wget -O - ${GST_PLUGIN_BAD_REPO} | tar xJ && \ cd gst-plugins-bad-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin ugly set ARG GST_PLUGIN_UGLY_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ && \ - cd gst-plugins-ugly-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples && \ - make -j8 && \ +RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ; \ + cd gst-plugins-ugly-${GST_VER}; \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install @@ -358,33 +445,38 @@ RUN yum install -y -q zlib-devel openssl-devel RUN wget -O - ${GST_PLUGIN_LIBAV_REPO} | tar xJ && \ cd gst-libav-${GST_VER} && \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --enable-gpl && \ - make -j8 && \ - make install DESTDIR="/home/build" - - - -# Install automake -ARG AUTOMAKE_VER=1.14 -ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz - -RUN wget -O - ${AUTOMAKE_REPO} | tar xJ && \ - cd automake-${AUTOMAKE_VER} && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --disable-doc && \ - make -j8 && \ + ./autogen.sh \ + --prefix="/usr" \ + --libdir=/usr/lib64 \ + --enable-shared \ + --enable-gpl \ + --disable-gtk-doc && \ + make -j $(nproc) && \ + make install DESTDIR=/home/build && \ make install # Build gstremaer plugin vaapi -ARG GST_PLUGIN_VAAPI_REPO=https://gstreamer.freedesktop.org/src/gstreamer-vaapi//gstreamer-vaapi-${GST_VER}.tar.xz +ARG GST_PLUGIN_VAAPI_REPO=https://gstreamer.freedesktop.org/src/gstreamer-vaapi/gstreamer-vaapi-${GST_VER}.tar.xz + +# https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/merge_requests/45 +ARG GST_PLUGIN_VAAPI_REPO_DISPLAY_LOCK_PATCH_HASH=b219f6095f3014041896714dd88e7d90ee3d72dd +ARG GST_PLUGIN_VAAPI_REPO_GIT=https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi.git RUN yum install -y -q libXrandr-devel +#RUN git clone https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi.git -b 1.14 --depth 10 && \ +# cd gstreamer-vaapi && git reset --hard ${GST_PLUGIN_VAAPI_REPO_DISPLAY_LOCK_PATCH_HASH} && \ RUN wget -O - ${GST_PLUGIN_VAAPI_REPO} | tar xJ && \ cd gstreamer-vaapi-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install @@ -445,7 +537,7 @@ WORKDIR /home # Prerequisites RUN yum install -y epel-release; \ - yum install -y -q libxcb SDL2 libass numactl libvdpau glib2-2.56.1 libxcb libXrandr libdrm libpng12 libXv libpciaccess libX11 mesa-dri-drivers mesa-libGL ; \ + yum install -y -q libxcb SDL2 libass numactl libvdpau glib2-2.56.1 pangolibxcb mesa-libGL libXrandr libpng12 libXv libvisual mesa-libGL pango glib2 libpciaccess libX11 mesa-dri-drivers mesa-libGL libsoup libjpeg-turbo python36 ; \ yum remove -y -q epel-release; \ rm -rf /var/cache/yum/*; @@ -455,4 +547,7 @@ ENV LIBVA_DRIVERS_PATH=/usr/lib64/dri ENV LIBVA_DRIVER_NAME=iHD ENV GST_VAAPI_ALL_DRIVERS=1 ENV DISPLAY=:0.0 +ARG libdir=/opt/intel/dldt/inference-engine/lib/centos_7.4/intel64 +ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share +ENV PYTHONPATH=${PYTHONPATH}:/mo_libs diff --git a/VCA2/centos-7.4/ffmpeg+gst+dev/Dockerfile.m4 b/VCA2/centos-7.4/ffmpeg+gst+dev/Dockerfile.m4 index 6dec56675..1432b4128 100644 --- a/VCA2/centos-7.4/ffmpeg+gst+dev/Dockerfile.m4 +++ b/VCA2/centos-7.4/ffmpeg+gst+dev/Dockerfile.m4 @@ -23,14 +23,12 @@ include(libva.m4) include(media-driver.m4) include(media-sdk.m4) include(dldt-ie.m4) -include(automake.m4) include(gst.m4) include(gst-plugin-base.m4) include(gst-plugin-good.m4) include(gst-plugin-bad.m4) include(gst-plugin-ugly.m4) include(gst-plugin-libav.m4) -include(automake.m4) include(gst-plugin-vaapi.m4) include(ffmpeg.m4) include(cleanup.m4)dnl diff --git a/VCA2/centos-7.4/ffmpeg/Dockerfile b/VCA2/centos-7.4/ffmpeg/Dockerfile index ecc3f7f84..c59eac859 100644 --- a/VCA2/centos-7.4/ffmpeg/Dockerfile +++ b/VCA2/centos-7.4/ffmpeg/Dockerfile @@ -14,6 +14,15 @@ RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz make -j8 && \ make install +# Install automake, use version 1.14 on CentOS +ARG AUTOMAKE_VER=1.14 +ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz +RUN wget -O - ${AUTOMAKE_REPO} | tar xJ && \ + cd automake-${AUTOMAKE_VER} && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --disable-doc && \ + make -j8 && \ + make install + # Build NASM ARG NASM_VER=2.13.03 ARG NASM_REPO=https://www.nasm.us/pub/nasm/releasebuilds/${NASM_VER}/nasm-${NASM_VER}.tar.bz2 @@ -200,7 +209,7 @@ RUN wget -O - ${GMMLIB_REPO} | tar xz && mv gmmlib-${GMMLIB_VER} gmmlib; #include(libdrm.m4) # Build libva -ARG LIBVA_VER=2.3.0 +ARG LIBVA_VER=2.4.0 ARG LIBVA_REPO=https://github.com/intel/libva/archive/${LIBVA_VER}.tar.gz RUN yum install -y -q libX11-devel mesa-libGL-devel which libdrm-devel diff --git a/VCA2/centos-7.4/gst/Dockerfile b/VCA2/centos-7.4/gst/Dockerfile index a43c9c33c..6c315013b 100644 --- a/VCA2/centos-7.4/gst/Dockerfile +++ b/VCA2/centos-7.4/gst/Dockerfile @@ -14,6 +14,15 @@ RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz make -j8 && \ make install +# Install automake, use version 1.14 on CentOS +ARG AUTOMAKE_VER=1.14 +ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz +RUN wget -O - ${AUTOMAKE_REPO} | tar xJ && \ + cd automake-${AUTOMAKE_VER} && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --disable-doc && \ + make -j8 && \ + make install + # Build NASM ARG NASM_VER=2.13.03 ARG NASM_REPO=https://www.nasm.us/pub/nasm/releasebuilds/${NASM_VER}/nasm-${NASM_VER}.tar.bz2 @@ -199,7 +208,7 @@ RUN wget -O - ${GMMLIB_REPO} | tar xz && mv gmmlib-${GMMLIB_VER} gmmlib; #include(libdrm.m4) # Build libva -ARG LIBVA_VER=2.3.0 +ARG LIBVA_VER=2.4.0 ARG LIBVA_REPO=https://github.com/intel/libva/archive/${LIBVA_VER}.tar.gz RUN yum install -y -q libX11-devel mesa-libGL-devel which libdrm-devel @@ -228,38 +237,41 @@ RUN wget -O - ${MEDIA_DRIVER_REPO} | tar xz && mv media-driver-${MEDIA_DRIVER_VE -# Install automake -ARG AUTOMAKE_VER=1.14 -ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz - -RUN wget -O - ${AUTOMAKE_REPO} | tar xJ && \ - cd automake-${AUTOMAKE_VER} && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --disable-doc && \ - make -j8 && \ - make install - - # Build the gstremaer core ARG GST_VER=1.14.4 ARG GST_REPO=https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${GST_VER}.tar.xz -RUN yum install -y -q glib2-devel-2.56.1 gettext-devel gtk-doc +RUN yum install -y -q glib2-devel-2.56.1 gettext-devel gobject-introspection python-gobject-base RUN wget -O - ${GST_REPO} | tar xJ && \ cd gstreamer-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-gst-debug --disable-debug --disable-benchmarks --disable-check && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples --disable-gst-debug \ + --disable-debug \ + --disable-benchmarks \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ - make install + make install; # Build the gstremaer plugin base ARG GST_PLUGIN_BASE_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-${GST_VER}.tar.xz +RUN yum install -y -q libXv-devel libvisual-devel libtheora-devel glib2-devel alsa-lib-devel cdparanoia-devel mesa-libGL-devel pango-devel + RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ && \ cd gst-plugins-base-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples --disable-debug \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install @@ -267,33 +279,53 @@ RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ && \ # Build the gstremaer plugin good set ARG GST_PLUGIN_GOOD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-${GST_VER}.tar.xz +RUN yum install -y -q libsoup-devel libjpeg-devel + RUN wget -O - ${GST_PLUGIN_GOOD_REPO} | tar xJ && \ cd gst-plugins-good-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples --disable-debug \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install + # Build the gstremaer plugin bad set ARG GST_PLUGIN_BAD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-${GST_VER}.tar.xz +RUN yum install -y -q openssl-devel + RUN wget -O - ${GST_PLUGIN_BAD_REPO} | tar xJ && \ cd gst-plugins-bad-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples --disable-debug \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin ugly set ARG GST_PLUGIN_UGLY_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ && \ - cd gst-plugins-ugly-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug && \ - make -j8 && \ +RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ; \ + cd gst-plugins-ugly-${GST_VER}; \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples --disable-debug \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install @@ -304,33 +336,38 @@ RUN yum install -y -q zlib-devel openssl-devel RUN wget -O - ${GST_PLUGIN_LIBAV_REPO} | tar xJ && \ cd gst-libav-${GST_VER} && \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --enable-gpl && \ - make -j8 && \ - make install DESTDIR="/home/build" - - - -# Install automake -ARG AUTOMAKE_VER=1.14 -ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz - -RUN wget -O - ${AUTOMAKE_REPO} | tar xJ && \ - cd automake-${AUTOMAKE_VER} && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --disable-doc && \ - make -j8 && \ + ./autogen.sh \ + --prefix="/usr" \ + --libdir=/usr/lib64 \ + --enable-shared \ + --enable-gpl \ + --disable-gtk-doc && \ + make -j $(nproc) && \ + make install DESTDIR=/home/build && \ make install # Build gstremaer plugin vaapi -ARG GST_PLUGIN_VAAPI_REPO=https://gstreamer.freedesktop.org/src/gstreamer-vaapi//gstreamer-vaapi-${GST_VER}.tar.xz +ARG GST_PLUGIN_VAAPI_REPO=https://gstreamer.freedesktop.org/src/gstreamer-vaapi/gstreamer-vaapi-${GST_VER}.tar.xz + +# https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/merge_requests/45 +ARG GST_PLUGIN_VAAPI_REPO_DISPLAY_LOCK_PATCH_HASH=b219f6095f3014041896714dd88e7d90ee3d72dd +ARG GST_PLUGIN_VAAPI_REPO_GIT=https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi.git RUN yum install -y -q libXrandr-devel +#RUN git clone https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi.git -b 1.14 --depth 10 && \ +# cd gstreamer-vaapi && git reset --hard ${GST_PLUGIN_VAAPI_REPO_DISPLAY_LOCK_PATCH_HASH} && \ RUN wget -O - ${GST_PLUGIN_VAAPI_REPO} | tar xJ && \ cd gstreamer-vaapi-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples \ + --disable-gtk-doc --disable-debug && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install @@ -349,7 +386,7 @@ WORKDIR /home # Prerequisites RUN yum install -y epel-release; \ - yum install -y -q numactl openssl glib2-2.56.1 libxcb libXrandr libdrm libpng12 libXv libpciaccess libX11 mesa-dri-drivers mesa-libGL ; \ + yum install -y -q numactl openssl glib2-2.56.1 pangolibxcb mesa-libGL libXrandr libpng12 libXv libvisual mesa-libGL pango glib2 libpciaccess libX11 mesa-dri-drivers mesa-libGL libsoup libjpeg-turbo ; \ yum remove -y -q epel-release; \ rm -rf /var/cache/yum/*; diff --git a/VCA2/centos-7.4/gst/Dockerfile.m4 b/VCA2/centos-7.4/gst/Dockerfile.m4 index f4062f610..6ad1d0b2b 100644 --- a/VCA2/centos-7.4/gst/Dockerfile.m4 +++ b/VCA2/centos-7.4/gst/Dockerfile.m4 @@ -20,14 +20,12 @@ include(gmmlib.m4) #include(libdrm.m4) include(libva.m4) include(media-driver.m4) -include(automake.m4) include(gst.m4) include(gst-plugin-base.m4) include(gst-plugin-good.m4) include(gst-plugin-bad.m4) include(gst-plugin-ugly.m4) include(gst-plugin-libav.m4) -include(automake.m4) include(gst-plugin-vaapi.m4) include(cleanup.m4)dnl diff --git a/VCA2/centos-7.4/nginx+rtmp/Dockerfile b/VCA2/centos-7.4/nginx+rtmp/Dockerfile index 3e2ade6b4..b330b14b6 100644 --- a/VCA2/centos-7.4/nginx+rtmp/Dockerfile +++ b/VCA2/centos-7.4/nginx+rtmp/Dockerfile @@ -14,6 +14,15 @@ RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz make -j8 && \ make install +# Install automake, use version 1.14 on CentOS +ARG AUTOMAKE_VER=1.14 +ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz +RUN wget -O - ${AUTOMAKE_REPO} | tar xJ && \ + cd automake-${AUTOMAKE_VER} && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --disable-doc && \ + make -j8 && \ + make install + # Build nginx-rtmp ARG NGINX_RTMP_VER=v1.2.1 diff --git a/VCA2/centos-7.5/ffmpeg+gst+dev/Dockerfile b/VCA2/centos-7.5/ffmpeg+gst+dev/Dockerfile index 88ad93cbd..8b7eb4e2f 100644 --- a/VCA2/centos-7.5/ffmpeg+gst+dev/Dockerfile +++ b/VCA2/centos-7.5/ffmpeg+gst+dev/Dockerfile @@ -14,6 +14,15 @@ RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz make -j8 && \ make install +# Install automake, use version 1.14 on CentOS +ARG AUTOMAKE_VER=1.14 +ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz +RUN wget -O - ${AUTOMAKE_REPO} | tar xJ && \ + cd automake-${AUTOMAKE_VER} && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --disable-doc && \ + make -j8 && \ + make install + # Build NASM ARG NASM_VER=2.13.03 ARG NASM_REPO=https://www.nasm.us/pub/nasm/releasebuilds/${NASM_VER}/nasm-${NASM_VER}.tar.bz2 @@ -200,7 +209,7 @@ RUN wget -O - ${GMMLIB_REPO} | tar xz && mv gmmlib-${GMMLIB_VER} gmmlib; #include(libdrm.m4) # Build libva -ARG LIBVA_VER=2.3.0 +ARG LIBVA_VER=2.4.0 ARG LIBVA_REPO=https://github.com/intel/libva/archive/${LIBVA_VER}.tar.gz RUN yum install -y -q libX11-devel mesa-libGL-devel which libdrm-devel @@ -256,64 +265,122 @@ RUN git clone -b ${DLDT_VER} ${DLDT_REPO} && \ wget -O - ${DLDT_C_API_REPO} | patch -p2 && \ mkdir build && \ cd build && \ - cmake -DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_PATH=/usr/lib64 -DENABLE_MKL_DNN=ON -DENABLE_CLDNN=ON -DENABLE_SAMPLES_CORE=OFF ..; \ - make -j16 && \ + cmake -DCMAKE_INSTALL_PREFIX=/opt/intel/dldt -DLIB_INSTALL_PATH=/opt/intel/dldt -DENABLE_MKL_DNN=ON -DENABLE_CLDNN=ON -DENABLE_SAMPLE_CORE=OFF .. && \ + make -j $(nproc) && \ rm -rf ../bin/intel64/Release/lib/libgtest* && \ rm -rf ../bin/intel64/Release/lib/libgmock* && \ rm -rf ../bin/intel64/Release/lib/libmock* && \ - rm -rf ../bin/intel64/Release/lib/libtest* && \ - for p in /usr /home/build/usr; do \ - mkdir -p $p/include/dldt; \ - cp -r ../include/* $p/include/dldt; \ - libdir="$p/lib64"; \ - cp -r ../bin/intel64/Release/lib/* "$libdir"; \ - cp -r ../temp/omp/lib/* "$libdir"; \ - mkdir -p "$libdir/pkgconfig"; \ - pc="$libdir/pkgconfig/dldt.pc"; \ - echo "prefix=/usr" > "$pc"; \ - echo "libdir=/usr/lib64" >> "$pc"; \ - echo "includedir=/usr/include/dldt" >> "$pc"; \ - echo "" >> "$pc"; \ - echo "Name: DLDT" >> "$pc"; \ - echo "Description: Intel Deep Learning Deployment Toolkit" >> "$pc"; \ - echo "Version: 5.0" >> "$pc"; \ - echo "" >> "$pc"; \ - echo "Libs: -L\${libdir} -linference_engine -linference_engine_c_wrapper" >> "$pc"; \ + rm -rf ../bin/intel64/Release/lib/libtest* + +ARG libdir=/opt/intel/dldt/inference-engine/lib/centos_7.4/intel64 + +RUN mkdir -p /opt/intel/dldt/inference-engine/include && \ + cp -r dldt/inference-engine/include/* /opt/intel/dldt/inference-engine/include && \ + mkdir -p ${libdir} && \ + cp -r dldt/inference-engine/bin/intel64/Release/lib/* ${libdir} && \ + mkdir -p /opt/intel/dldt/inference-engine/src && \ + cp -r dldt/inference-engine/src/* /opt/intel/dldt/inference-engine/src/ && \ + mkdir -p /opt/intel/dldt/inference-engine/share && \ + cp -r dldt/inference-engine/build/share/* /opt/intel/dldt/inference-engine/share/ && \ + mkdir -p /opt/intel/dldt/inference-engine/external/omp/lib && \ + cp -r dldt/inference-engine/temp/omp/lib/* /opt/intel/dldt/inference-engine/external/omp/lib/ + +RUN mkdir -p build/opt/intel/dldt/inference-engine/include && \ + cp -r dldt/inference-engine/include/* build/opt/intel/dldt/inference-engine/include && \ + mkdir -p build${libdir} && \ + cp -r dldt/inference-engine/bin/intel64/Release/lib/* build${libdir} && \ + mkdir -p build/opt/intel/dldt/inference-engine/src && \ + cp -r dldt/inference-engine/src/* build/opt/intel/dldt/inference-engine/src/ && \ + mkdir -p build/opt/intel/dldt/inference-engine/share && \ + cp -r dldt/inference-engine/build/share/* build/opt/intel/dldt/inference-engine/share/ && \ + mkdir -p build/opt/intel/dldt/inference-engine/external/omp/lib && \ + cp -r dldt/inference-engine/temp/omp/lib/* build/opt/intel/dldt/inference-engine/external/omp/lib/ + +RUN for p in /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inference-engine; do \ + mkdir -p "${libdir}/pkgconfig" && \ + pc="${libdir}/pkgconfig/dldt.pc" && \ + echo "prefix=/opt" > "$pc" && \ + echo "libdir=${libdir}" >> "$pc" && \ + echo "includedir=/opt/intel/dldt/inference-engine/include" >> "$pc" && \ + echo "" >> "$pc" && \ + echo "Name: DLDT" >> "$pc" && \ + echo "Description: Intel Deep Learning Deployment Toolkit" >> "$pc" && \ + echo "Version: 5.0" >> "$pc" && \ + echo "" >> "$pc" && \ + echo "Libs: -L\${libdir} -linference_engine -linference_engine_c_wrapper" >> "$pc" && \ echo "Cflags: -I\${includedir}" >> "$pc"; \ done; -# Install automake -ARG AUTOMAKE_VER=1.14 -ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz +ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share +ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} + +#install Model Optimizer in the DLDT for Dev +ARG PYTHON_TRUSTED_HOST +ARG PYTHON_TRUSTED_INDEX_URL +#install MO dependencies +RUN yum install -y python36 +RUN yum install -y python36-devel +RUN yum install -y python36-setuptools +RUN easy_install-3.6 pip +#RUN pip3 install numpy scipy +RUN git clone https://github.com/google/protobuf.git && \ + cd protobuf && \ + git submodule update --init --recursive && \ + ./autogen.sh && \ + ./configure && \ + make && \ + make install && \ + make install DESTDIR=/home/build +#RUN apt-get update && apt-get install -y sudo +#installing dependency libs to mo_libs directory to avoid issues with updates to Python version +RUN cd dldt/model-optimizer && \ +if [ "x$PYTHON_TRUSTED_HOST" = "x" ] ; \ +then pip3 install --target=/home/build/mo_libs -r requirements.txt && \ +pip3 install -r requirements.txt; \ +else pip3 install --target=/home/build/mo_libs -r requirements.txt -i $PYTHON_TRUSTED_INDEX_URL --trusted-host $PYTHON_TRUSTED_HOST && \ +pip3 install -r requirements.txt -i $PYTHON_TRUSTED_INDEX_URL --trusted-host $PYTHON_TRUSTED_HOST; \ +fi + +#Copy over Model Optimizer to same directory as Inference Engine +RUN cp -r dldt/model-optimizer /opt/intel/dldt/model-optimizer +RUN cp -r dldt/model-optimizer /home/build/opt/intel/dldt/model-optimizer + -RUN wget -O - ${AUTOMAKE_REPO} | tar xJ && \ - cd automake-${AUTOMAKE_VER} && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --disable-doc && \ - make -j8 && \ - make install # Build the gstremaer core ARG GST_VER=1.14.4 ARG GST_REPO=https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${GST_VER}.tar.xz -RUN yum install -y -q glib2-devel-2.56.1 gettext-devel gtk-doc +RUN yum install -y -q glib2-devel-2.56.1 gettext-devel gobject-introspection python-gobject-base RUN wget -O - ${GST_REPO} | tar xJ && \ cd gstreamer-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ - make install + make install; # Build the gstremaer plugin base ARG GST_PLUGIN_BASE_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-${GST_VER}.tar.xz +RUN yum install -y -q libXv-devel libvisual-devel libtheora-devel glib2-devel alsa-lib-devel cdparanoia-devel mesa-libGL-devel pango-devel + RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ && \ cd gst-plugins-base-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install @@ -321,33 +388,53 @@ RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ && \ # Build the gstremaer plugin good set ARG GST_PLUGIN_GOOD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-${GST_VER}.tar.xz +RUN yum install -y -q libsoup-devel libjpeg-devel + RUN wget -O - ${GST_PLUGIN_GOOD_REPO} | tar xJ && \ cd gst-plugins-good-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install + # Build the gstremaer plugin bad set ARG GST_PLUGIN_BAD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-${GST_VER}.tar.xz +RUN yum install -y -q openssl-devel + RUN wget -O - ${GST_PLUGIN_BAD_REPO} | tar xJ && \ cd gst-plugins-bad-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin ugly set ARG GST_PLUGIN_UGLY_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ && \ - cd gst-plugins-ugly-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples && \ - make -j8 && \ +RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ; \ + cd gst-plugins-ugly-${GST_VER}; \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install @@ -358,33 +445,38 @@ RUN yum install -y -q zlib-devel openssl-devel RUN wget -O - ${GST_PLUGIN_LIBAV_REPO} | tar xJ && \ cd gst-libav-${GST_VER} && \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --enable-gpl && \ - make -j8 && \ - make install DESTDIR="/home/build" - - - -# Install automake -ARG AUTOMAKE_VER=1.14 -ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz - -RUN wget -O - ${AUTOMAKE_REPO} | tar xJ && \ - cd automake-${AUTOMAKE_VER} && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --disable-doc && \ - make -j8 && \ + ./autogen.sh \ + --prefix="/usr" \ + --libdir=/usr/lib64 \ + --enable-shared \ + --enable-gpl \ + --disable-gtk-doc && \ + make -j $(nproc) && \ + make install DESTDIR=/home/build && \ make install # Build gstremaer plugin vaapi -ARG GST_PLUGIN_VAAPI_REPO=https://gstreamer.freedesktop.org/src/gstreamer-vaapi//gstreamer-vaapi-${GST_VER}.tar.xz +ARG GST_PLUGIN_VAAPI_REPO=https://gstreamer.freedesktop.org/src/gstreamer-vaapi/gstreamer-vaapi-${GST_VER}.tar.xz + +# https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/merge_requests/45 +ARG GST_PLUGIN_VAAPI_REPO_DISPLAY_LOCK_PATCH_HASH=b219f6095f3014041896714dd88e7d90ee3d72dd +ARG GST_PLUGIN_VAAPI_REPO_GIT=https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi.git RUN yum install -y -q libXrandr-devel +#RUN git clone https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi.git -b 1.14 --depth 10 && \ +# cd gstreamer-vaapi && git reset --hard ${GST_PLUGIN_VAAPI_REPO_DISPLAY_LOCK_PATCH_HASH} && \ RUN wget -O - ${GST_PLUGIN_VAAPI_REPO} | tar xJ && \ cd gstreamer-vaapi-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install @@ -438,14 +530,14 @@ RUN cd /home/FFmpeg && \ -FROM centos:7.5.1804 +FROM centos:7.5.1804 LABEL Description="This is the image for FFMPEG and GSTREAMER application development on CentOS 7.5" LABEL Vendor="Intel Corporation" WORKDIR /home # Prerequisites RUN yum install -y epel-release; \ - yum install -y -q libxcb SDL2 libass numactl libvdpau glib2-2.56.1 libxcb libXrandr libdrm libpng12 libXv libpciaccess libX11 mesa-dri-drivers mesa-libGL ; \ + yum install -y -q libxcb SDL2 libass numactl libvdpau glib2-2.56.1 pangolibxcb mesa-libGL libXrandr libpng12 libXv libvisual mesa-libGL pango glib2 libpciaccess libX11 mesa-dri-drivers mesa-libGL libsoup libjpeg-turbo python36 ; \ yum remove -y -q epel-release; \ rm -rf /var/cache/yum/*; @@ -455,4 +547,7 @@ ENV LIBVA_DRIVERS_PATH=/usr/lib64/dri ENV LIBVA_DRIVER_NAME=iHD ENV GST_VAAPI_ALL_DRIVERS=1 ENV DISPLAY=:0.0 +ARG libdir=/opt/intel/dldt/inference-engine/lib/centos_7.4/intel64 +ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share +ENV PYTHONPATH=${PYTHONPATH}:/mo_libs diff --git a/VCA2/centos-7.5/ffmpeg+gst+dev/Dockerfile.m4 b/VCA2/centos-7.5/ffmpeg+gst+dev/Dockerfile.m4 index 3c5e07103..66a63c7ab 100644 --- a/VCA2/centos-7.5/ffmpeg+gst+dev/Dockerfile.m4 +++ b/VCA2/centos-7.5/ffmpeg+gst+dev/Dockerfile.m4 @@ -23,19 +23,17 @@ include(libva.m4) include(media-driver.m4) include(media-sdk.m4) include(dldt-ie.m4) -include(automake.m4) include(gst.m4) include(gst-plugin-base.m4) include(gst-plugin-good.m4) include(gst-plugin-bad.m4) include(gst-plugin-ugly.m4) include(gst-plugin-libav.m4) -include(automake.m4) include(gst-plugin-vaapi.m4) include(ffmpeg.m4) include(cleanup.m4)dnl -FROM centos:7.5.1804 +FROM centos:7.5.1804 LABEL Description="This is the image for FFMPEG and GSTREAMER application development on CentOS 7.5" LABEL Vendor="Intel Corporation" WORKDIR /home diff --git a/VCA2/centos-7.5/ffmpeg/Dockerfile b/VCA2/centos-7.5/ffmpeg/Dockerfile index 0eec922b0..01399d6e8 100644 --- a/VCA2/centos-7.5/ffmpeg/Dockerfile +++ b/VCA2/centos-7.5/ffmpeg/Dockerfile @@ -14,6 +14,15 @@ RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz make -j8 && \ make install +# Install automake, use version 1.14 on CentOS +ARG AUTOMAKE_VER=1.14 +ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz +RUN wget -O - ${AUTOMAKE_REPO} | tar xJ && \ + cd automake-${AUTOMAKE_VER} && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --disable-doc && \ + make -j8 && \ + make install + # Build NASM ARG NASM_VER=2.13.03 ARG NASM_REPO=https://www.nasm.us/pub/nasm/releasebuilds/${NASM_VER}/nasm-${NASM_VER}.tar.bz2 @@ -200,7 +209,7 @@ RUN wget -O - ${GMMLIB_REPO} | tar xz && mv gmmlib-${GMMLIB_VER} gmmlib; #include(libdrm.m4) # Build libva -ARG LIBVA_VER=2.3.0 +ARG LIBVA_VER=2.4.0 ARG LIBVA_REPO=https://github.com/intel/libva/archive/${LIBVA_VER}.tar.gz RUN yum install -y -q libX11-devel mesa-libGL-devel which libdrm-devel diff --git a/VCA2/centos-7.5/gst/Dockerfile b/VCA2/centos-7.5/gst/Dockerfile index 03093fb34..12fc48e04 100644 --- a/VCA2/centos-7.5/gst/Dockerfile +++ b/VCA2/centos-7.5/gst/Dockerfile @@ -14,6 +14,15 @@ RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz make -j8 && \ make install +# Install automake, use version 1.14 on CentOS +ARG AUTOMAKE_VER=1.14 +ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz +RUN wget -O - ${AUTOMAKE_REPO} | tar xJ && \ + cd automake-${AUTOMAKE_VER} && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --disable-doc && \ + make -j8 && \ + make install + # Build NASM ARG NASM_VER=2.13.03 ARG NASM_REPO=https://www.nasm.us/pub/nasm/releasebuilds/${NASM_VER}/nasm-${NASM_VER}.tar.bz2 @@ -199,7 +208,7 @@ RUN wget -O - ${GMMLIB_REPO} | tar xz && mv gmmlib-${GMMLIB_VER} gmmlib; #include(libdrm.m4) # Build libva -ARG LIBVA_VER=2.3.0 +ARG LIBVA_VER=2.4.0 ARG LIBVA_REPO=https://github.com/intel/libva/archive/${LIBVA_VER}.tar.gz RUN yum install -y -q libX11-devel mesa-libGL-devel which libdrm-devel @@ -228,38 +237,41 @@ RUN wget -O - ${MEDIA_DRIVER_REPO} | tar xz && mv media-driver-${MEDIA_DRIVER_VE -# Install automake -ARG AUTOMAKE_VER=1.14 -ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz - -RUN wget -O - ${AUTOMAKE_REPO} | tar xJ && \ - cd automake-${AUTOMAKE_VER} && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --disable-doc && \ - make -j8 && \ - make install - - # Build the gstremaer core ARG GST_VER=1.14.4 ARG GST_REPO=https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${GST_VER}.tar.xz -RUN yum install -y -q glib2-devel-2.56.1 gettext-devel gtk-doc +RUN yum install -y -q glib2-devel-2.56.1 gettext-devel gobject-introspection python-gobject-base RUN wget -O - ${GST_REPO} | tar xJ && \ cd gstreamer-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-gst-debug --disable-debug --disable-benchmarks --disable-check && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples --disable-gst-debug \ + --disable-debug \ + --disable-benchmarks \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ - make install + make install; # Build the gstremaer plugin base ARG GST_PLUGIN_BASE_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-${GST_VER}.tar.xz +RUN yum install -y -q libXv-devel libvisual-devel libtheora-devel glib2-devel alsa-lib-devel cdparanoia-devel mesa-libGL-devel pango-devel + RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ && \ cd gst-plugins-base-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples --disable-debug \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install @@ -267,33 +279,53 @@ RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ && \ # Build the gstremaer plugin good set ARG GST_PLUGIN_GOOD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-${GST_VER}.tar.xz +RUN yum install -y -q libsoup-devel libjpeg-devel + RUN wget -O - ${GST_PLUGIN_GOOD_REPO} | tar xJ && \ cd gst-plugins-good-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples --disable-debug \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install + # Build the gstremaer plugin bad set ARG GST_PLUGIN_BAD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-${GST_VER}.tar.xz +RUN yum install -y -q openssl-devel + RUN wget -O - ${GST_PLUGIN_BAD_REPO} | tar xJ && \ cd gst-plugins-bad-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples --disable-debug \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin ugly set ARG GST_PLUGIN_UGLY_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ && \ - cd gst-plugins-ugly-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug && \ - make -j8 && \ +RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ; \ + cd gst-plugins-ugly-${GST_VER}; \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples --disable-debug \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install @@ -304,33 +336,38 @@ RUN yum install -y -q zlib-devel openssl-devel RUN wget -O - ${GST_PLUGIN_LIBAV_REPO} | tar xJ && \ cd gst-libav-${GST_VER} && \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --enable-gpl && \ - make -j8 && \ - make install DESTDIR="/home/build" - - - -# Install automake -ARG AUTOMAKE_VER=1.14 -ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz - -RUN wget -O - ${AUTOMAKE_REPO} | tar xJ && \ - cd automake-${AUTOMAKE_VER} && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --disable-doc && \ - make -j8 && \ + ./autogen.sh \ + --prefix="/usr" \ + --libdir=/usr/lib64 \ + --enable-shared \ + --enable-gpl \ + --disable-gtk-doc && \ + make -j $(nproc) && \ + make install DESTDIR=/home/build && \ make install # Build gstremaer plugin vaapi -ARG GST_PLUGIN_VAAPI_REPO=https://gstreamer.freedesktop.org/src/gstreamer-vaapi//gstreamer-vaapi-${GST_VER}.tar.xz +ARG GST_PLUGIN_VAAPI_REPO=https://gstreamer.freedesktop.org/src/gstreamer-vaapi/gstreamer-vaapi-${GST_VER}.tar.xz + +# https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/merge_requests/45 +ARG GST_PLUGIN_VAAPI_REPO_DISPLAY_LOCK_PATCH_HASH=b219f6095f3014041896714dd88e7d90ee3d72dd +ARG GST_PLUGIN_VAAPI_REPO_GIT=https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi.git RUN yum install -y -q libXrandr-devel +#RUN git clone https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi.git -b 1.14 --depth 10 && \ +# cd gstreamer-vaapi && git reset --hard ${GST_PLUGIN_VAAPI_REPO_DISPLAY_LOCK_PATCH_HASH} && \ RUN wget -O - ${GST_PLUGIN_VAAPI_REPO} | tar xJ && \ cd gstreamer-vaapi-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples \ + --disable-gtk-doc --disable-debug && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install @@ -349,7 +386,7 @@ WORKDIR /home # Prerequisites RUN yum install -y epel-release; \ - yum install -y -q numactl openssl glib2-2.56.1 libxcb libXrandr libdrm libpng12 libXv libpciaccess libX11 mesa-dri-drivers mesa-libGL ; \ + yum install -y -q numactl openssl glib2-2.56.1 pangolibxcb mesa-libGL libXrandr libpng12 libXv libvisual mesa-libGL pango glib2 libpciaccess libX11 mesa-dri-drivers mesa-libGL libsoup libjpeg-turbo ; \ yum remove -y -q epel-release; \ rm -rf /var/cache/yum/*; diff --git a/VCA2/centos-7.5/gst/Dockerfile.m4 b/VCA2/centos-7.5/gst/Dockerfile.m4 index 961a0fc0b..425fc6871 100644 --- a/VCA2/centos-7.5/gst/Dockerfile.m4 +++ b/VCA2/centos-7.5/gst/Dockerfile.m4 @@ -20,14 +20,12 @@ include(gmmlib.m4) #include(libdrm.m4) include(libva.m4) include(media-driver.m4) -include(automake.m4) include(gst.m4) include(gst-plugin-base.m4) include(gst-plugin-good.m4) include(gst-plugin-bad.m4) include(gst-plugin-ugly.m4) include(gst-plugin-libav.m4) -include(automake.m4) include(gst-plugin-vaapi.m4) include(cleanup.m4)dnl diff --git a/VCA2/centos-7.5/nginx+rtmp/Dockerfile b/VCA2/centos-7.5/nginx+rtmp/Dockerfile index 7b075ffa9..ed86ca3ed 100644 --- a/VCA2/centos-7.5/nginx+rtmp/Dockerfile +++ b/VCA2/centos-7.5/nginx+rtmp/Dockerfile @@ -14,6 +14,15 @@ RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz make -j8 && \ make install +# Install automake, use version 1.14 on CentOS +ARG AUTOMAKE_VER=1.14 +ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz +RUN wget -O - ${AUTOMAKE_REPO} | tar xJ && \ + cd automake-${AUTOMAKE_VER} && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --disable-doc && \ + make -j8 && \ + make install + # Build nginx-rtmp ARG NGINX_RTMP_VER=v1.2.1 diff --git a/VCA2/centos-7.6/ffmpeg+gst+dev/Dockerfile b/VCA2/centos-7.6/ffmpeg+gst+dev/Dockerfile index 34ef203d9..74ff2b21a 100644 --- a/VCA2/centos-7.6/ffmpeg+gst+dev/Dockerfile +++ b/VCA2/centos-7.6/ffmpeg+gst+dev/Dockerfile @@ -14,6 +14,15 @@ RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz make -j8 && \ make install +# Install automake, use version 1.14 on CentOS +ARG AUTOMAKE_VER=1.14 +ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz +RUN wget -O - ${AUTOMAKE_REPO} | tar xJ && \ + cd automake-${AUTOMAKE_VER} && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --disable-doc && \ + make -j8 && \ + make install + # Build NASM ARG NASM_VER=2.13.03 ARG NASM_REPO=https://www.nasm.us/pub/nasm/releasebuilds/${NASM_VER}/nasm-${NASM_VER}.tar.bz2 @@ -200,7 +209,7 @@ RUN wget -O - ${GMMLIB_REPO} | tar xz && mv gmmlib-${GMMLIB_VER} gmmlib; #include(libdrm.m4) # Build libva -ARG LIBVA_VER=2.3.0 +ARG LIBVA_VER=2.4.0 ARG LIBVA_REPO=https://github.com/intel/libva/archive/${LIBVA_VER}.tar.gz RUN yum install -y -q libX11-devel mesa-libGL-devel which libdrm-devel @@ -256,64 +265,122 @@ RUN git clone -b ${DLDT_VER} ${DLDT_REPO} && \ wget -O - ${DLDT_C_API_REPO} | patch -p2 && \ mkdir build && \ cd build && \ - cmake -DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_PATH=/usr/lib64 -DENABLE_MKL_DNN=ON -DENABLE_CLDNN=ON -DENABLE_SAMPLES_CORE=OFF ..; \ - make -j16 && \ + cmake -DCMAKE_INSTALL_PREFIX=/opt/intel/dldt -DLIB_INSTALL_PATH=/opt/intel/dldt -DENABLE_MKL_DNN=ON -DENABLE_CLDNN=ON -DENABLE_SAMPLE_CORE=OFF .. && \ + make -j $(nproc) && \ rm -rf ../bin/intel64/Release/lib/libgtest* && \ rm -rf ../bin/intel64/Release/lib/libgmock* && \ rm -rf ../bin/intel64/Release/lib/libmock* && \ - rm -rf ../bin/intel64/Release/lib/libtest* && \ - for p in /usr /home/build/usr; do \ - mkdir -p $p/include/dldt; \ - cp -r ../include/* $p/include/dldt; \ - libdir="$p/lib64"; \ - cp -r ../bin/intel64/Release/lib/* "$libdir"; \ - cp -r ../temp/omp/lib/* "$libdir"; \ - mkdir -p "$libdir/pkgconfig"; \ - pc="$libdir/pkgconfig/dldt.pc"; \ - echo "prefix=/usr" > "$pc"; \ - echo "libdir=/usr/lib64" >> "$pc"; \ - echo "includedir=/usr/include/dldt" >> "$pc"; \ - echo "" >> "$pc"; \ - echo "Name: DLDT" >> "$pc"; \ - echo "Description: Intel Deep Learning Deployment Toolkit" >> "$pc"; \ - echo "Version: 5.0" >> "$pc"; \ - echo "" >> "$pc"; \ - echo "Libs: -L\${libdir} -linference_engine -linference_engine_c_wrapper" >> "$pc"; \ + rm -rf ../bin/intel64/Release/lib/libtest* + +ARG libdir=/opt/intel/dldt/inference-engine/lib/centos_7.4/intel64 + +RUN mkdir -p /opt/intel/dldt/inference-engine/include && \ + cp -r dldt/inference-engine/include/* /opt/intel/dldt/inference-engine/include && \ + mkdir -p ${libdir} && \ + cp -r dldt/inference-engine/bin/intel64/Release/lib/* ${libdir} && \ + mkdir -p /opt/intel/dldt/inference-engine/src && \ + cp -r dldt/inference-engine/src/* /opt/intel/dldt/inference-engine/src/ && \ + mkdir -p /opt/intel/dldt/inference-engine/share && \ + cp -r dldt/inference-engine/build/share/* /opt/intel/dldt/inference-engine/share/ && \ + mkdir -p /opt/intel/dldt/inference-engine/external/omp/lib && \ + cp -r dldt/inference-engine/temp/omp/lib/* /opt/intel/dldt/inference-engine/external/omp/lib/ + +RUN mkdir -p build/opt/intel/dldt/inference-engine/include && \ + cp -r dldt/inference-engine/include/* build/opt/intel/dldt/inference-engine/include && \ + mkdir -p build${libdir} && \ + cp -r dldt/inference-engine/bin/intel64/Release/lib/* build${libdir} && \ + mkdir -p build/opt/intel/dldt/inference-engine/src && \ + cp -r dldt/inference-engine/src/* build/opt/intel/dldt/inference-engine/src/ && \ + mkdir -p build/opt/intel/dldt/inference-engine/share && \ + cp -r dldt/inference-engine/build/share/* build/opt/intel/dldt/inference-engine/share/ && \ + mkdir -p build/opt/intel/dldt/inference-engine/external/omp/lib && \ + cp -r dldt/inference-engine/temp/omp/lib/* build/opt/intel/dldt/inference-engine/external/omp/lib/ + +RUN for p in /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inference-engine; do \ + mkdir -p "${libdir}/pkgconfig" && \ + pc="${libdir}/pkgconfig/dldt.pc" && \ + echo "prefix=/opt" > "$pc" && \ + echo "libdir=${libdir}" >> "$pc" && \ + echo "includedir=/opt/intel/dldt/inference-engine/include" >> "$pc" && \ + echo "" >> "$pc" && \ + echo "Name: DLDT" >> "$pc" && \ + echo "Description: Intel Deep Learning Deployment Toolkit" >> "$pc" && \ + echo "Version: 5.0" >> "$pc" && \ + echo "" >> "$pc" && \ + echo "Libs: -L\${libdir} -linference_engine -linference_engine_c_wrapper" >> "$pc" && \ echo "Cflags: -I\${includedir}" >> "$pc"; \ done; -# Install automake -ARG AUTOMAKE_VER=1.14 -ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz +ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share +ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} + +#install Model Optimizer in the DLDT for Dev +ARG PYTHON_TRUSTED_HOST +ARG PYTHON_TRUSTED_INDEX_URL +#install MO dependencies +RUN yum install -y python36 +RUN yum install -y python36-devel +RUN yum install -y python36-setuptools +RUN easy_install-3.6 pip +#RUN pip3 install numpy scipy +RUN git clone https://github.com/google/protobuf.git && \ + cd protobuf && \ + git submodule update --init --recursive && \ + ./autogen.sh && \ + ./configure && \ + make && \ + make install && \ + make install DESTDIR=/home/build +#RUN apt-get update && apt-get install -y sudo +#installing dependency libs to mo_libs directory to avoid issues with updates to Python version +RUN cd dldt/model-optimizer && \ +if [ "x$PYTHON_TRUSTED_HOST" = "x" ] ; \ +then pip3 install --target=/home/build/mo_libs -r requirements.txt && \ +pip3 install -r requirements.txt; \ +else pip3 install --target=/home/build/mo_libs -r requirements.txt -i $PYTHON_TRUSTED_INDEX_URL --trusted-host $PYTHON_TRUSTED_HOST && \ +pip3 install -r requirements.txt -i $PYTHON_TRUSTED_INDEX_URL --trusted-host $PYTHON_TRUSTED_HOST; \ +fi + +#Copy over Model Optimizer to same directory as Inference Engine +RUN cp -r dldt/model-optimizer /opt/intel/dldt/model-optimizer +RUN cp -r dldt/model-optimizer /home/build/opt/intel/dldt/model-optimizer + -RUN wget -O - ${AUTOMAKE_REPO} | tar xJ && \ - cd automake-${AUTOMAKE_VER} && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --disable-doc && \ - make -j8 && \ - make install # Build the gstremaer core ARG GST_VER=1.14.4 ARG GST_REPO=https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${GST_VER}.tar.xz -RUN yum install -y -q glib2-devel-2.56.1 gettext-devel gtk-doc +RUN yum install -y -q glib2-devel-2.56.1 gettext-devel gobject-introspection python-gobject-base RUN wget -O - ${GST_REPO} | tar xJ && \ cd gstreamer-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ - make install + make install; # Build the gstremaer plugin base ARG GST_PLUGIN_BASE_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-${GST_VER}.tar.xz +RUN yum install -y -q libXv-devel libvisual-devel libtheora-devel glib2-devel alsa-lib-devel cdparanoia-devel mesa-libGL-devel pango-devel + RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ && \ cd gst-plugins-base-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install @@ -321,33 +388,53 @@ RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ && \ # Build the gstremaer plugin good set ARG GST_PLUGIN_GOOD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-${GST_VER}.tar.xz +RUN yum install -y -q libsoup-devel libjpeg-devel + RUN wget -O - ${GST_PLUGIN_GOOD_REPO} | tar xJ && \ cd gst-plugins-good-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install + # Build the gstremaer plugin bad set ARG GST_PLUGIN_BAD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-${GST_VER}.tar.xz +RUN yum install -y -q openssl-devel + RUN wget -O - ${GST_PLUGIN_BAD_REPO} | tar xJ && \ cd gst-plugins-bad-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin ugly set ARG GST_PLUGIN_UGLY_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ && \ - cd gst-plugins-ugly-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples && \ - make -j8 && \ +RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ; \ + cd gst-plugins-ugly-${GST_VER}; \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install @@ -358,33 +445,38 @@ RUN yum install -y -q zlib-devel openssl-devel RUN wget -O - ${GST_PLUGIN_LIBAV_REPO} | tar xJ && \ cd gst-libav-${GST_VER} && \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --enable-gpl && \ - make -j8 && \ - make install DESTDIR="/home/build" - - - -# Install automake -ARG AUTOMAKE_VER=1.14 -ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz - -RUN wget -O - ${AUTOMAKE_REPO} | tar xJ && \ - cd automake-${AUTOMAKE_VER} && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --disable-doc && \ - make -j8 && \ + ./autogen.sh \ + --prefix="/usr" \ + --libdir=/usr/lib64 \ + --enable-shared \ + --enable-gpl \ + --disable-gtk-doc && \ + make -j $(nproc) && \ + make install DESTDIR=/home/build && \ make install # Build gstremaer plugin vaapi -ARG GST_PLUGIN_VAAPI_REPO=https://gstreamer.freedesktop.org/src/gstreamer-vaapi//gstreamer-vaapi-${GST_VER}.tar.xz +ARG GST_PLUGIN_VAAPI_REPO=https://gstreamer.freedesktop.org/src/gstreamer-vaapi/gstreamer-vaapi-${GST_VER}.tar.xz + +# https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/merge_requests/45 +ARG GST_PLUGIN_VAAPI_REPO_DISPLAY_LOCK_PATCH_HASH=b219f6095f3014041896714dd88e7d90ee3d72dd +ARG GST_PLUGIN_VAAPI_REPO_GIT=https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi.git RUN yum install -y -q libXrandr-devel +#RUN git clone https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi.git -b 1.14 --depth 10 && \ +# cd gstreamer-vaapi && git reset --hard ${GST_PLUGIN_VAAPI_REPO_DISPLAY_LOCK_PATCH_HASH} && \ RUN wget -O - ${GST_PLUGIN_VAAPI_REPO} | tar xJ && \ cd gstreamer-vaapi-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install @@ -445,7 +537,7 @@ WORKDIR /home # Prerequisites RUN yum install -y epel-release; \ - yum install -y -q libxcb SDL2 libass numactl libvdpau glib2-2.56.1 libxcb libXrandr libdrm libpng12 libXv libpciaccess libX11 mesa-dri-drivers mesa-libGL ; \ + yum install -y -q libxcb SDL2 libass numactl libvdpau glib2-2.56.1 pangolibxcb mesa-libGL libXrandr libpng12 libXv libvisual mesa-libGL pango glib2 libpciaccess libX11 mesa-dri-drivers mesa-libGL libsoup libjpeg-turbo python36 ; \ yum remove -y -q epel-release; \ rm -rf /var/cache/yum/*; @@ -455,4 +547,7 @@ ENV LIBVA_DRIVERS_PATH=/usr/lib64/dri ENV LIBVA_DRIVER_NAME=iHD ENV GST_VAAPI_ALL_DRIVERS=1 ENV DISPLAY=:0.0 +ARG libdir=/opt/intel/dldt/inference-engine/lib/centos_7.4/intel64 +ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share +ENV PYTHONPATH=${PYTHONPATH}:/mo_libs diff --git a/VCA2/centos-7.6/ffmpeg+gst+dev/Dockerfile.m4 b/VCA2/centos-7.6/ffmpeg+gst+dev/Dockerfile.m4 index f6980e999..d938af7e0 100644 --- a/VCA2/centos-7.6/ffmpeg+gst+dev/Dockerfile.m4 +++ b/VCA2/centos-7.6/ffmpeg+gst+dev/Dockerfile.m4 @@ -23,14 +23,12 @@ include(libva.m4) include(media-driver.m4) include(media-sdk.m4) include(dldt-ie.m4) -include(automake.m4) include(gst.m4) include(gst-plugin-base.m4) include(gst-plugin-good.m4) include(gst-plugin-bad.m4) include(gst-plugin-ugly.m4) include(gst-plugin-libav.m4) -include(automake.m4) include(gst-plugin-vaapi.m4) include(ffmpeg.m4) include(cleanup.m4)dnl diff --git a/VCA2/centos-7.6/ffmpeg/Dockerfile b/VCA2/centos-7.6/ffmpeg/Dockerfile index 57bc69f72..71cd1dcbb 100644 --- a/VCA2/centos-7.6/ffmpeg/Dockerfile +++ b/VCA2/centos-7.6/ffmpeg/Dockerfile @@ -14,6 +14,15 @@ RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz make -j8 && \ make install +# Install automake, use version 1.14 on CentOS +ARG AUTOMAKE_VER=1.14 +ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz +RUN wget -O - ${AUTOMAKE_REPO} | tar xJ && \ + cd automake-${AUTOMAKE_VER} && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --disable-doc && \ + make -j8 && \ + make install + # Build NASM ARG NASM_VER=2.13.03 ARG NASM_REPO=https://www.nasm.us/pub/nasm/releasebuilds/${NASM_VER}/nasm-${NASM_VER}.tar.bz2 @@ -200,7 +209,7 @@ RUN wget -O - ${GMMLIB_REPO} | tar xz && mv gmmlib-${GMMLIB_VER} gmmlib; #include(libdrm.m4) # Build libva -ARG LIBVA_VER=2.3.0 +ARG LIBVA_VER=2.4.0 ARG LIBVA_REPO=https://github.com/intel/libva/archive/${LIBVA_VER}.tar.gz RUN yum install -y -q libX11-devel mesa-libGL-devel which libdrm-devel diff --git a/VCA2/centos-7.6/gst/Dockerfile b/VCA2/centos-7.6/gst/Dockerfile index 8656f9c55..02374ea3c 100644 --- a/VCA2/centos-7.6/gst/Dockerfile +++ b/VCA2/centos-7.6/gst/Dockerfile @@ -14,6 +14,15 @@ RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz make -j8 && \ make install +# Install automake, use version 1.14 on CentOS +ARG AUTOMAKE_VER=1.14 +ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz +RUN wget -O - ${AUTOMAKE_REPO} | tar xJ && \ + cd automake-${AUTOMAKE_VER} && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --disable-doc && \ + make -j8 && \ + make install + # Build NASM ARG NASM_VER=2.13.03 ARG NASM_REPO=https://www.nasm.us/pub/nasm/releasebuilds/${NASM_VER}/nasm-${NASM_VER}.tar.bz2 @@ -199,7 +208,7 @@ RUN wget -O - ${GMMLIB_REPO} | tar xz && mv gmmlib-${GMMLIB_VER} gmmlib; #include(libdrm.m4) # Build libva -ARG LIBVA_VER=2.3.0 +ARG LIBVA_VER=2.4.0 ARG LIBVA_REPO=https://github.com/intel/libva/archive/${LIBVA_VER}.tar.gz RUN yum install -y -q libX11-devel mesa-libGL-devel which libdrm-devel @@ -228,38 +237,41 @@ RUN wget -O - ${MEDIA_DRIVER_REPO} | tar xz && mv media-driver-${MEDIA_DRIVER_VE -# Install automake -ARG AUTOMAKE_VER=1.14 -ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz - -RUN wget -O - ${AUTOMAKE_REPO} | tar xJ && \ - cd automake-${AUTOMAKE_VER} && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --disable-doc && \ - make -j8 && \ - make install - - # Build the gstremaer core ARG GST_VER=1.14.4 ARG GST_REPO=https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${GST_VER}.tar.xz -RUN yum install -y -q glib2-devel-2.56.1 gettext-devel gtk-doc +RUN yum install -y -q glib2-devel-2.56.1 gettext-devel gobject-introspection python-gobject-base RUN wget -O - ${GST_REPO} | tar xJ && \ cd gstreamer-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-gst-debug --disable-debug --disable-benchmarks --disable-check && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples --disable-gst-debug \ + --disable-debug \ + --disable-benchmarks \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ - make install + make install; # Build the gstremaer plugin base ARG GST_PLUGIN_BASE_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-${GST_VER}.tar.xz +RUN yum install -y -q libXv-devel libvisual-devel libtheora-devel glib2-devel alsa-lib-devel cdparanoia-devel mesa-libGL-devel pango-devel + RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ && \ cd gst-plugins-base-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples --disable-debug \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install @@ -267,33 +279,53 @@ RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ && \ # Build the gstremaer plugin good set ARG GST_PLUGIN_GOOD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-${GST_VER}.tar.xz +RUN yum install -y -q libsoup-devel libjpeg-devel + RUN wget -O - ${GST_PLUGIN_GOOD_REPO} | tar xJ && \ cd gst-plugins-good-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples --disable-debug \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install + # Build the gstremaer plugin bad set ARG GST_PLUGIN_BAD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-${GST_VER}.tar.xz +RUN yum install -y -q openssl-devel + RUN wget -O - ${GST_PLUGIN_BAD_REPO} | tar xJ && \ cd gst-plugins-bad-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples --disable-debug \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin ugly set ARG GST_PLUGIN_UGLY_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ && \ - cd gst-plugins-ugly-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug && \ - make -j8 && \ +RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ; \ + cd gst-plugins-ugly-${GST_VER}; \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples --disable-debug \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install @@ -304,33 +336,38 @@ RUN yum install -y -q zlib-devel openssl-devel RUN wget -O - ${GST_PLUGIN_LIBAV_REPO} | tar xJ && \ cd gst-libav-${GST_VER} && \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --enable-gpl && \ - make -j8 && \ - make install DESTDIR="/home/build" - - - -# Install automake -ARG AUTOMAKE_VER=1.14 -ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz - -RUN wget -O - ${AUTOMAKE_REPO} | tar xJ && \ - cd automake-${AUTOMAKE_VER} && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --disable-doc && \ - make -j8 && \ + ./autogen.sh \ + --prefix="/usr" \ + --libdir=/usr/lib64 \ + --enable-shared \ + --enable-gpl \ + --disable-gtk-doc && \ + make -j $(nproc) && \ + make install DESTDIR=/home/build && \ make install # Build gstremaer plugin vaapi -ARG GST_PLUGIN_VAAPI_REPO=https://gstreamer.freedesktop.org/src/gstreamer-vaapi//gstreamer-vaapi-${GST_VER}.tar.xz +ARG GST_PLUGIN_VAAPI_REPO=https://gstreamer.freedesktop.org/src/gstreamer-vaapi/gstreamer-vaapi-${GST_VER}.tar.xz + +# https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/merge_requests/45 +ARG GST_PLUGIN_VAAPI_REPO_DISPLAY_LOCK_PATCH_HASH=b219f6095f3014041896714dd88e7d90ee3d72dd +ARG GST_PLUGIN_VAAPI_REPO_GIT=https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi.git RUN yum install -y -q libXrandr-devel +#RUN git clone https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi.git -b 1.14 --depth 10 && \ +# cd gstreamer-vaapi && git reset --hard ${GST_PLUGIN_VAAPI_REPO_DISPLAY_LOCK_PATCH_HASH} && \ RUN wget -O - ${GST_PLUGIN_VAAPI_REPO} | tar xJ && \ cd gstreamer-vaapi-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples \ + --disable-gtk-doc --disable-debug && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install @@ -349,7 +386,7 @@ WORKDIR /home # Prerequisites RUN yum install -y epel-release; \ - yum install -y -q numactl openssl glib2-2.56.1 libxcb libXrandr libdrm libpng12 libXv libpciaccess libX11 mesa-dri-drivers mesa-libGL ; \ + yum install -y -q numactl openssl glib2-2.56.1 pangolibxcb mesa-libGL libXrandr libpng12 libXv libvisual mesa-libGL pango glib2 libpciaccess libX11 mesa-dri-drivers mesa-libGL libsoup libjpeg-turbo ; \ yum remove -y -q epel-release; \ rm -rf /var/cache/yum/*; diff --git a/VCA2/centos-7.6/gst/Dockerfile.m4 b/VCA2/centos-7.6/gst/Dockerfile.m4 index cbdfbd3b6..8bba441aa 100644 --- a/VCA2/centos-7.6/gst/Dockerfile.m4 +++ b/VCA2/centos-7.6/gst/Dockerfile.m4 @@ -20,14 +20,12 @@ include(gmmlib.m4) #include(libdrm.m4) include(libva.m4) include(media-driver.m4) -include(automake.m4) include(gst.m4) include(gst-plugin-base.m4) include(gst-plugin-good.m4) include(gst-plugin-bad.m4) include(gst-plugin-ugly.m4) include(gst-plugin-libav.m4) -include(automake.m4) include(gst-plugin-vaapi.m4) include(cleanup.m4)dnl diff --git a/VCA2/centos-7.6/nginx+rtmp/Dockerfile b/VCA2/centos-7.6/nginx+rtmp/Dockerfile index d85d58e5f..bf0319705 100644 --- a/VCA2/centos-7.6/nginx+rtmp/Dockerfile +++ b/VCA2/centos-7.6/nginx+rtmp/Dockerfile @@ -14,6 +14,15 @@ RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz make -j8 && \ make install +# Install automake, use version 1.14 on CentOS +ARG AUTOMAKE_VER=1.14 +ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz +RUN wget -O - ${AUTOMAKE_REPO} | tar xJ && \ + cd automake-${AUTOMAKE_VER} && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --disable-doc && \ + make -j8 && \ + make install + # Build nginx-rtmp ARG NGINX_RTMP_VER=v1.2.1 diff --git a/VCA2/ubuntu-16.04/ffmpeg+gst+dev/Dockerfile b/VCA2/ubuntu-16.04/ffmpeg+gst+dev/Dockerfile index 52b58a94a..23e479bcd 100644 --- a/VCA2/ubuntu-16.04/ffmpeg+gst+dev/Dockerfile +++ b/VCA2/ubuntu-16.04/ffmpeg+gst+dev/Dockerfile @@ -3,7 +3,7 @@ FROM ubuntu:16.04 AS build WORKDIR /home # COMMON BUILD TOOLS -RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends build-essential autoconf automake make git wget pciutils cpio libtool lsb-release ca-certificates pkg-config bison flex +RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends build-essential autoconf make git wget pciutils cpio libtool lsb-release ca-certificates pkg-config bison flex # Install cmake ARG CMAKE_VER=3.13.1 @@ -14,6 +14,11 @@ RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz make -j8 && \ make install +# Install automake, use version 1.14 on CentOS +ARG AUTOMAKE_VER=1.14 +ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz + RUN apt-get install -y -q automake + # Build NASM ARG NASM_VER=2.13.03 ARG NASM_REPO=https://www.nasm.us/pub/nasm/releasebuilds/${NASM_VER}/nasm-${NASM_VER}.tar.bz2 @@ -194,10 +199,12 @@ RUN wget -O - ${GMMLIB_REPO} | tar xz && mv gmmlib-${GMMLIB_VER} gmmlib; # Build libva -ARG LIBVA_VER=2.3.0 +ARG LIBVA_VER=2.4.0 ARG LIBVA_REPO=https://github.com/intel/libva/archive/${LIBVA_VER}.tar.gz -RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libdrm-dev libx11-dev xorg-dev libgl1-mesa-dev +RUN apt-get remove libva* + +RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libdrm-dev libx11-dev xorg-dev libgl1-mesa-dev openbox RUN wget -O - ${LIBVA_REPO} | tar xz && \ cd libva-${LIBVA_VER} && \ @@ -249,53 +256,119 @@ RUN git clone -b ${DLDT_VER} ${DLDT_REPO} && \ wget -O - ${DLDT_C_API_REPO} | patch -p2 && \ mkdir build && \ cd build && \ - cmake -DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_PATH=/usr/lib/x86_64-linux-gnu -DENABLE_MKL_DNN=ON -DENABLE_CLDNN=ON -DENABLE_SAMPLES_CORE=OFF ..; \ - make -j16 && \ + cmake -DCMAKE_INSTALL_PREFIX=/opt/intel/dldt -DLIB_INSTALL_PATH=/opt/intel/dldt -DENABLE_MKL_DNN=ON -DENABLE_CLDNN=ON -DENABLE_SAMPLE_CORE=OFF .. && \ + make -j $(nproc) && \ rm -rf ../bin/intel64/Release/lib/libgtest* && \ rm -rf ../bin/intel64/Release/lib/libgmock* && \ rm -rf ../bin/intel64/Release/lib/libmock* && \ - rm -rf ../bin/intel64/Release/lib/libtest* && \ - for p in /usr /home/build/usr; do \ - mkdir -p $p/include/dldt; \ - cp -r ../include/* $p/include/dldt; \ - libdir="$p/lib/x86_64-linux-gnu"; \ - cp -r ../bin/intel64/Release/lib/* "$libdir"; \ - cp -r ../temp/omp/lib/* "$libdir"; \ - mkdir -p "$libdir/pkgconfig"; \ - pc="$libdir/pkgconfig/dldt.pc"; \ - echo "prefix=/usr" > "$pc"; \ - echo "libdir=/usr/lib/x86_64-linux-gnu" >> "$pc"; \ - echo "includedir=/usr/include/dldt" >> "$pc"; \ - echo "" >> "$pc"; \ - echo "Name: DLDT" >> "$pc"; \ - echo "Description: Intel Deep Learning Deployment Toolkit" >> "$pc"; \ - echo "Version: 5.0" >> "$pc"; \ - echo "" >> "$pc"; \ - echo "Libs: -L\${libdir} -linference_engine -linference_engine_c_wrapper" >> "$pc"; \ + rm -rf ../bin/intel64/Release/lib/libtest* + +ARG libdir=/opt/intel/dldt/inference-engine/lib/ubuntu_16.04/intel64 + +RUN mkdir -p /opt/intel/dldt/inference-engine/include && \ + cp -r dldt/inference-engine/include/* /opt/intel/dldt/inference-engine/include && \ + mkdir -p ${libdir} && \ + cp -r dldt/inference-engine/bin/intel64/Release/lib/* ${libdir} && \ + mkdir -p /opt/intel/dldt/inference-engine/src && \ + cp -r dldt/inference-engine/src/* /opt/intel/dldt/inference-engine/src/ && \ + mkdir -p /opt/intel/dldt/inference-engine/share && \ + cp -r dldt/inference-engine/build/share/* /opt/intel/dldt/inference-engine/share/ && \ + mkdir -p /opt/intel/dldt/inference-engine/external/omp/lib && \ + cp -r dldt/inference-engine/temp/omp/lib/* /opt/intel/dldt/inference-engine/external/omp/lib/ + +RUN mkdir -p build/opt/intel/dldt/inference-engine/include && \ + cp -r dldt/inference-engine/include/* build/opt/intel/dldt/inference-engine/include && \ + mkdir -p build${libdir} && \ + cp -r dldt/inference-engine/bin/intel64/Release/lib/* build${libdir} && \ + mkdir -p build/opt/intel/dldt/inference-engine/src && \ + cp -r dldt/inference-engine/src/* build/opt/intel/dldt/inference-engine/src/ && \ + mkdir -p build/opt/intel/dldt/inference-engine/share && \ + cp -r dldt/inference-engine/build/share/* build/opt/intel/dldt/inference-engine/share/ && \ + mkdir -p build/opt/intel/dldt/inference-engine/external/omp/lib && \ + cp -r dldt/inference-engine/temp/omp/lib/* build/opt/intel/dldt/inference-engine/external/omp/lib/ + +RUN for p in /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inference-engine; do \ + mkdir -p "${libdir}/pkgconfig" && \ + pc="${libdir}/pkgconfig/dldt.pc" && \ + echo "prefix=/opt" > "$pc" && \ + echo "libdir=${libdir}" >> "$pc" && \ + echo "includedir=/opt/intel/dldt/inference-engine/include" >> "$pc" && \ + echo "" >> "$pc" && \ + echo "Name: DLDT" >> "$pc" && \ + echo "Description: Intel Deep Learning Deployment Toolkit" >> "$pc" && \ + echo "Version: 5.0" >> "$pc" && \ + echo "" >> "$pc" && \ + echo "Libs: -L\${libdir} -linference_engine -linference_engine_c_wrapper" >> "$pc" && \ echo "Cflags: -I\${includedir}" >> "$pc"; \ done; +ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share +ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} + +#install Model Optimizer in the DLDT for Dev +ARG PYTHON_TRUSTED_HOST +ARG PYTHON_TRUSTED_INDEX_URL +#install MO dependencies +RUN DEBIAN_FRONTEND=noninteractive apt-get install -y -q --no-install-recommends python3-dev python3-pip python3-setuptools python3-wheel +#RUN pip3 install numpy scipy +RUN git clone https://github.com/google/protobuf.git && \ + cd protobuf && \ + git submodule update --init --recursive && \ + ./autogen.sh && \ + ./configure && \ + make && \ + make install && \ + make install DESTDIR=/home/build +#RUN apt-get update && apt-get install -y sudo +#installing dependency libs to mo_libs directory to avoid issues with updates to Python version +RUN cd dldt/model-optimizer && \ +if [ "x$PYTHON_TRUSTED_HOST" = "x" ] ; \ +then pip3 install --target=/home/build/mo_libs -r requirements.txt && \ +pip3 install -r requirements.txt; \ +else pip3 install --target=/home/build/mo_libs -r requirements.txt -i $PYTHON_TRUSTED_INDEX_URL --trusted-host $PYTHON_TRUSTED_HOST && \ +pip3 install -r requirements.txt -i $PYTHON_TRUSTED_INDEX_URL --trusted-host $PYTHON_TRUSTED_HOST; \ +fi + +#Copy over Model Optimizer to same directory as Inference Engine +RUN cp -r dldt/model-optimizer /opt/intel/dldt/model-optimizer +RUN cp -r dldt/model-optimizer /home/build/opt/intel/dldt/model-optimizer + + + + # Build the gstremaer core ARG GST_VER=1.14.4 ARG GST_REPO=https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${GST_VER}.tar.xz -RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libglib2.0-dev autopoint gtk-doc-tools +RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libglib2.0-dev gobject-introspection libgirepository1.0-dev libpango-1.0-0 libpangocairo-1.0-0 autopoint RUN wget -O - ${GST_REPO} | tar xJ && \ cd gstreamer-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib/x86_64-linux-gnu \ + --libexecdir=/usr/lib/x86_64-linux-gnu \ + --enable-shared \ + --disable-examples \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ - make install + make install; # Build the gstremaer plugin base ARG GST_PLUGIN_BASE_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-${GST_VER}.tar.xz +RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libxv-dev libvisual-0.4-dev libtheora-dev libglib2.0-dev libasound2-dev libcdparanoia-dev libgl1-mesa-dev libpango1.0-dev + RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ && \ cd gst-plugins-base-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib/x86_64-linux-gnu \ + --libexecdir=/usr/lib/x86_64-linux-gnu \ + --enable-shared \ + --disable-examples \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install @@ -303,33 +376,53 @@ RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ && \ # Build the gstremaer plugin good set ARG GST_PLUGIN_GOOD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-${GST_VER}.tar.xz +RUN apt-get update && apt-get install -y -q --no-install-recommends libsoup2.4-dev libjpeg-dev + RUN wget -O - ${GST_PLUGIN_GOOD_REPO} | tar xJ && \ cd gst-plugins-good-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib/x86_64-linux-gnu \ + --libexecdir=/usr/lib/x86_64-linux-gnu \ + --enable-shared \ + --disable-examples \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install + # Build the gstremaer plugin bad set ARG GST_PLUGIN_BAD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-${GST_VER}.tar.xz +RUN apt-get update && apt-get install -y -q --no-install-recommends libssl-dev + RUN wget -O - ${GST_PLUGIN_BAD_REPO} | tar xJ && \ cd gst-plugins-bad-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib/x86_64-linux-gnu \ + --libexecdir=/usr/lib/x86_64-linux-gnu \ + --enable-shared \ + --disable-examples \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin ugly set ARG GST_PLUGIN_UGLY_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ && \ - cd gst-plugins-ugly-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples && \ - make -j8 && \ +RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ; \ + cd gst-plugins-ugly-${GST_VER}; \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib/x86_64-linux-gnu \ + --libexecdir=/usr/lib/x86_64-linux-gnu \ + --enable-shared \ + --disable-examples \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install @@ -340,22 +433,38 @@ RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no- RUN wget -O - ${GST_PLUGIN_LIBAV_REPO} | tar xJ && \ cd gst-libav-${GST_VER} && \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared --enable-gpl && \ - make -j8 && \ - make install DESTDIR="/home/build" - + ./autogen.sh \ + --prefix="/usr" \ + --libdir=/usr/lib/x86_64-linux-gnu \ + --enable-shared \ + --enable-gpl \ + --disable-gtk-doc && \ + make -j $(nproc) && \ + make install DESTDIR=/home/build && \ + make install # Build gstremaer plugin vaapi -ARG GST_PLUGIN_VAAPI_REPO=https://gstreamer.freedesktop.org/src/gstreamer-vaapi//gstreamer-vaapi-${GST_VER}.tar.xz +ARG GST_PLUGIN_VAAPI_REPO=https://gstreamer.freedesktop.org/src/gstreamer-vaapi/gstreamer-vaapi-${GST_VER}.tar.xz -RUN apt-get update && apt-get install -y -q --no-install-recommends libxrandr-dev +# https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/merge_requests/45 +ARG GST_PLUGIN_VAAPI_REPO_DISPLAY_LOCK_PATCH_HASH=b219f6095f3014041896714dd88e7d90ee3d72dd +ARG GST_PLUGIN_VAAPI_REPO_GIT=https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi.git +RUN apt-get update && apt-get install -y -q --no-install-recommends libxrandr-dev libegl1-mesa-dev autopoint bison flex libudev-dev + +#RUN git clone https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi.git -b 1.14 --depth 10 && \ +# cd gstreamer-vaapi && git reset --hard ${GST_PLUGIN_VAAPI_REPO_DISPLAY_LOCK_PATCH_HASH} && \ RUN wget -O - ${GST_PLUGIN_VAAPI_REPO} | tar xJ && \ cd gstreamer-vaapi-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib/x86_64-linux-gnu \ + --libexecdir=/usr/lib/x86_64-linux-gnu \ + --enable-shared \ + --disable-examples \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install @@ -415,7 +524,7 @@ LABEL Vendor="Intel Corporation" WORKDIR /home # Prerequisites -RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libxv1 libxcb-shm0 libxcb-shape0 libxcb-xfixes0 libsdl2-2.0-0 libasound2 libvdpau1 libnuma1 libass5 libssl1.0.0 libglib2.0 libdrm-intel1 libx11-xcb1 libgl1-mesa-glx libxrandr2 libpng12-0 libxv1 ; \ +RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libxv1 libxcb-shm0 libxcb-shape0 libxcb-xfixes0 libsdl2-2.0-0 libasound2 libvdpau1 libnuma1 libass5 libssl1.0.0 libglib2.0 libpango-1.0-0 libpangocairo-1.0-0 libdrm-intel1 libudev1 libx11-xcb1 libgl1-mesa-glx libxrandr2 libegl1-mesa libglib2.0-0 libpng12-0 libxv1 libvisual-0.4-0 libgl1-mesa-glx libpango-1.0-0 libtheora0 libcdparanoia0 libasound2 libsoup2.4-1 libjpeg8 libjpeg-turbo8 python3 ; \ rm -rf /var/lib/apt/lists/*; # Install @@ -424,4 +533,7 @@ ENV LIBVA_DRIVERS_PATH=/usr/lib/x86_64-linux-gnu/dri ENV LIBVA_DRIVER_NAME=iHD ENV GST_VAAPI_ALL_DRIVERS=1 ENV DISPLAY=:0.0 +ARG libdir=/opt/intel/dldt/inference-engine/lib/ubuntu_16.04/intel64 +ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share +ENV PYTHONPATH=${PYTHONPATH}:/mo_libs diff --git a/VCA2/ubuntu-16.04/ffmpeg/Dockerfile b/VCA2/ubuntu-16.04/ffmpeg/Dockerfile index d584a7184..607bc986d 100644 --- a/VCA2/ubuntu-16.04/ffmpeg/Dockerfile +++ b/VCA2/ubuntu-16.04/ffmpeg/Dockerfile @@ -3,7 +3,7 @@ FROM ubuntu:16.04 AS build WORKDIR /home # COMMON BUILD TOOLS -RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends build-essential autoconf automake make git wget pciutils cpio libtool lsb-release ca-certificates pkg-config bison flex +RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends build-essential autoconf make git wget pciutils cpio libtool lsb-release ca-certificates pkg-config bison flex # Install cmake ARG CMAKE_VER=3.13.1 @@ -14,6 +14,11 @@ RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz make -j8 && \ make install +# Install automake, use version 1.14 on CentOS +ARG AUTOMAKE_VER=1.14 +ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz + RUN apt-get install -y -q automake + # Build NASM ARG NASM_VER=2.13.03 ARG NASM_REPO=https://www.nasm.us/pub/nasm/releasebuilds/${NASM_VER}/nasm-${NASM_VER}.tar.bz2 @@ -194,10 +199,12 @@ RUN wget -O - ${GMMLIB_REPO} | tar xz && mv gmmlib-${GMMLIB_VER} gmmlib; # Build libva -ARG LIBVA_VER=2.3.0 +ARG LIBVA_VER=2.4.0 ARG LIBVA_REPO=https://github.com/intel/libva/archive/${LIBVA_VER}.tar.gz -RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libdrm-dev libx11-dev xorg-dev libgl1-mesa-dev +RUN apt-get remove libva* + +RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libdrm-dev libx11-dev xorg-dev libgl1-mesa-dev openbox RUN wget -O - ${LIBVA_REPO} | tar xz && \ cd libva-${LIBVA_VER} && \ diff --git a/VCA2/ubuntu-16.04/gst/Dockerfile b/VCA2/ubuntu-16.04/gst/Dockerfile index 2e11ddac2..3ed79d98a 100644 --- a/VCA2/ubuntu-16.04/gst/Dockerfile +++ b/VCA2/ubuntu-16.04/gst/Dockerfile @@ -3,7 +3,7 @@ FROM ubuntu:16.04 AS build WORKDIR /home # COMMON BUILD TOOLS -RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends build-essential autoconf automake make git wget pciutils cpio libtool lsb-release ca-certificates pkg-config bison flex +RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends build-essential autoconf make git wget pciutils cpio libtool lsb-release ca-certificates pkg-config bison flex # Install cmake ARG CMAKE_VER=3.13.1 @@ -14,6 +14,11 @@ RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz make -j8 && \ make install +# Install automake, use version 1.14 on CentOS +ARG AUTOMAKE_VER=1.14 +ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz + RUN apt-get install -y -q automake + # Build NASM ARG NASM_VER=2.13.03 ARG NASM_REPO=https://www.nasm.us/pub/nasm/releasebuilds/${NASM_VER}/nasm-${NASM_VER}.tar.bz2 @@ -193,10 +198,12 @@ RUN wget -O - ${GMMLIB_REPO} | tar xz && mv gmmlib-${GMMLIB_VER} gmmlib; # Build libva -ARG LIBVA_VER=2.3.0 +ARG LIBVA_VER=2.4.0 ARG LIBVA_REPO=https://github.com/intel/libva/archive/${LIBVA_VER}.tar.gz -RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libdrm-dev libx11-dev xorg-dev libgl1-mesa-dev +RUN apt-get remove libva* + +RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libdrm-dev libx11-dev xorg-dev libgl1-mesa-dev openbox RUN wget -O - ${LIBVA_REPO} | tar xz && \ cd libva-${LIBVA_VER} && \ @@ -226,23 +233,37 @@ RUN wget -O - ${MEDIA_DRIVER_REPO} | tar xz && mv media-driver-${MEDIA_DRIVER_VE ARG GST_VER=1.14.4 ARG GST_REPO=https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${GST_VER}.tar.xz -RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libglib2.0-dev autopoint gtk-doc-tools +RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libglib2.0-dev gobject-introspection libgirepository1.0-dev libpango-1.0-0 libpangocairo-1.0-0 autopoint RUN wget -O - ${GST_REPO} | tar xJ && \ cd gstreamer-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-gst-debug --disable-debug --disable-benchmarks --disable-check && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib/x86_64-linux-gnu \ + --libexecdir=/usr/lib/x86_64-linux-gnu \ + --enable-shared \ + --disable-examples --disable-gst-debug \ + --disable-debug \ + --disable-benchmarks \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ - make install + make install; # Build the gstremaer plugin base ARG GST_PLUGIN_BASE_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-${GST_VER}.tar.xz +RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libxv-dev libvisual-0.4-dev libtheora-dev libglib2.0-dev libasound2-dev libcdparanoia-dev libgl1-mesa-dev libpango1.0-dev + RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ && \ cd gst-plugins-base-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-debug && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib/x86_64-linux-gnu \ + --libexecdir=/usr/lib/x86_64-linux-gnu \ + --enable-shared \ + --disable-examples --disable-debug \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install @@ -250,33 +271,53 @@ RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ && \ # Build the gstremaer plugin good set ARG GST_PLUGIN_GOOD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-${GST_VER}.tar.xz +RUN apt-get update && apt-get install -y -q --no-install-recommends libsoup2.4-dev libjpeg-dev + RUN wget -O - ${GST_PLUGIN_GOOD_REPO} | tar xJ && \ cd gst-plugins-good-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-debug && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib/x86_64-linux-gnu \ + --libexecdir=/usr/lib/x86_64-linux-gnu \ + --enable-shared \ + --disable-examples --disable-debug \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install + # Build the gstremaer plugin bad set ARG GST_PLUGIN_BAD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-${GST_VER}.tar.xz +RUN apt-get update && apt-get install -y -q --no-install-recommends libssl-dev + RUN wget -O - ${GST_PLUGIN_BAD_REPO} | tar xJ && \ cd gst-plugins-bad-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-debug && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib/x86_64-linux-gnu \ + --libexecdir=/usr/lib/x86_64-linux-gnu \ + --enable-shared \ + --disable-examples --disable-debug \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin ugly set ARG GST_PLUGIN_UGLY_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ && \ - cd gst-plugins-ugly-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-debug && \ - make -j8 && \ +RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ; \ + cd gst-plugins-ugly-${GST_VER}; \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib/x86_64-linux-gnu \ + --libexecdir=/usr/lib/x86_64-linux-gnu \ + --enable-shared \ + --disable-examples --disable-debug \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install @@ -287,22 +328,38 @@ RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no- RUN wget -O - ${GST_PLUGIN_LIBAV_REPO} | tar xJ && \ cd gst-libav-${GST_VER} && \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared --enable-gpl && \ - make -j8 && \ - make install DESTDIR="/home/build" - + ./autogen.sh \ + --prefix="/usr" \ + --libdir=/usr/lib/x86_64-linux-gnu \ + --enable-shared \ + --enable-gpl \ + --disable-gtk-doc && \ + make -j $(nproc) && \ + make install DESTDIR=/home/build && \ + make install # Build gstremaer plugin vaapi -ARG GST_PLUGIN_VAAPI_REPO=https://gstreamer.freedesktop.org/src/gstreamer-vaapi//gstreamer-vaapi-${GST_VER}.tar.xz +ARG GST_PLUGIN_VAAPI_REPO=https://gstreamer.freedesktop.org/src/gstreamer-vaapi/gstreamer-vaapi-${GST_VER}.tar.xz -RUN apt-get update && apt-get install -y -q --no-install-recommends libxrandr-dev +# https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/merge_requests/45 +ARG GST_PLUGIN_VAAPI_REPO_DISPLAY_LOCK_PATCH_HASH=b219f6095f3014041896714dd88e7d90ee3d72dd +ARG GST_PLUGIN_VAAPI_REPO_GIT=https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi.git +RUN apt-get update && apt-get install -y -q --no-install-recommends libxrandr-dev libegl1-mesa-dev autopoint bison flex libudev-dev + +#RUN git clone https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi.git -b 1.14 --depth 10 && \ +# cd gstreamer-vaapi && git reset --hard ${GST_PLUGIN_VAAPI_REPO_DISPLAY_LOCK_PATCH_HASH} && \ RUN wget -O - ${GST_PLUGIN_VAAPI_REPO} | tar xJ && \ cd gstreamer-vaapi-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-debug && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib/x86_64-linux-gnu \ + --libexecdir=/usr/lib/x86_64-linux-gnu \ + --enable-shared \ + --disable-examples \ + --disable-gtk-doc --disable-debug && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install @@ -320,7 +377,7 @@ LABEL Vendor="Intel Corporation" WORKDIR /home # Prerequisites -RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libnuma1 libssl1.0.0 libglib2.0 libdrm-intel1 libx11-xcb1 libgl1-mesa-glx libxrandr2 libpng12-0 libxv1 ; \ +RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libnuma1 libssl1.0.0 libglib2.0 libpango-1.0-0 libpangocairo-1.0-0 libdrm-intel1 libudev1 libx11-xcb1 libgl1-mesa-glx libxrandr2 libegl1-mesa libglib2.0-0 libpng12-0 libxv1 libvisual-0.4-0 libgl1-mesa-glx libpango-1.0-0 libtheora0 libcdparanoia0 libasound2 libsoup2.4-1 libjpeg8 libjpeg-turbo8 ; \ rm -rf /var/lib/apt/lists/*; # Install diff --git a/VCA2/ubuntu-16.04/nginx+rtmp/Dockerfile b/VCA2/ubuntu-16.04/nginx+rtmp/Dockerfile index b2603c26c..bc7f50911 100644 --- a/VCA2/ubuntu-16.04/nginx+rtmp/Dockerfile +++ b/VCA2/ubuntu-16.04/nginx+rtmp/Dockerfile @@ -3,7 +3,7 @@ FROM ubuntu:16.04 AS build WORKDIR /home # COMMON BUILD TOOLS -RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends build-essential autoconf automake make git wget pciutils cpio libtool lsb-release ca-certificates pkg-config bison flex +RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends build-essential autoconf make git wget pciutils cpio libtool lsb-release ca-certificates pkg-config bison flex # Install cmake ARG CMAKE_VER=3.13.1 @@ -14,6 +14,11 @@ RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz make -j8 && \ make install +# Install automake, use version 1.14 on CentOS +ARG AUTOMAKE_VER=1.14 +ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz + RUN apt-get install -y -q automake + # Build nginx-rtmp ARG NGINX_RTMP_VER=v1.2.1 diff --git a/VCA2/ubuntu-18.04/ffmpeg+gst+dev/Dockerfile b/VCA2/ubuntu-18.04/ffmpeg+gst+dev/Dockerfile index 50f53d81e..0795fd2b7 100644 --- a/VCA2/ubuntu-18.04/ffmpeg+gst+dev/Dockerfile +++ b/VCA2/ubuntu-18.04/ffmpeg+gst+dev/Dockerfile @@ -3,7 +3,7 @@ FROM ubuntu:18.04 AS build WORKDIR /home # COMMON BUILD TOOLS -RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends build-essential autoconf automake make git wget pciutils cpio libtool lsb-release ca-certificates pkg-config bison flex +RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends build-essential autoconf make git wget pciutils cpio libtool lsb-release ca-certificates pkg-config bison flex # Install cmake ARG CMAKE_VER=3.13.1 @@ -14,6 +14,11 @@ RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz make -j8 && \ make install +# Install automake, use version 1.14 on CentOS +ARG AUTOMAKE_VER=1.14 +ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz + RUN apt-get install -y -q automake + # Build NASM ARG NASM_VER=2.13.03 ARG NASM_REPO=https://www.nasm.us/pub/nasm/releasebuilds/${NASM_VER}/nasm-${NASM_VER}.tar.bz2 @@ -194,10 +199,12 @@ RUN wget -O - ${GMMLIB_REPO} | tar xz && mv gmmlib-${GMMLIB_VER} gmmlib; # Build libva -ARG LIBVA_VER=2.3.0 +ARG LIBVA_VER=2.4.0 ARG LIBVA_REPO=https://github.com/intel/libva/archive/${LIBVA_VER}.tar.gz -RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libdrm-dev libx11-dev xorg-dev libgl1-mesa-dev +RUN apt-get remove libva* + +RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libdrm-dev libx11-dev xorg-dev libgl1-mesa-dev openbox RUN wget -O - ${LIBVA_REPO} | tar xz && \ cd libva-${LIBVA_VER} && \ @@ -249,54 +256,121 @@ RUN git clone -b ${DLDT_VER} ${DLDT_REPO} && \ wget -O - ${DLDT_C_API_REPO} | patch -p2 && \ mkdir build && \ cd build && \ - cmake -DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_PATH=/usr/lib/x86_64-linux-gnu -DENABLE_MKL_DNN=ON -DENABLE_CLDNN=ON -DENABLE_SAMPLES_CORE=OFF ..; \ - make -j16 && \ + cmake -DCMAKE_INSTALL_PREFIX=/opt/intel/dldt -DLIB_INSTALL_PATH=/opt/intel/dldt -DENABLE_MKL_DNN=ON -DENABLE_CLDNN=ON -DENABLE_SAMPLE_CORE=OFF .. && \ + make -j $(nproc) && \ rm -rf ../bin/intel64/Release/lib/libgtest* && \ rm -rf ../bin/intel64/Release/lib/libgmock* && \ rm -rf ../bin/intel64/Release/lib/libmock* && \ - rm -rf ../bin/intel64/Release/lib/libtest* && \ - for p in /usr /home/build/usr; do \ - mkdir -p $p/include/dldt; \ - cp -r ../include/* $p/include/dldt; \ - libdir="$p/lib/x86_64-linux-gnu"; \ - cp -r ../bin/intel64/Release/lib/* "$libdir"; \ - cp -r ../temp/omp/lib/* "$libdir"; \ - mkdir -p "$libdir/pkgconfig"; \ - pc="$libdir/pkgconfig/dldt.pc"; \ - echo "prefix=/usr" > "$pc"; \ - echo "libdir=/usr/lib/x86_64-linux-gnu" >> "$pc"; \ - echo "includedir=/usr/include/dldt" >> "$pc"; \ - echo "" >> "$pc"; \ - echo "Name: DLDT" >> "$pc"; \ - echo "Description: Intel Deep Learning Deployment Toolkit" >> "$pc"; \ - echo "Version: 5.0" >> "$pc"; \ - echo "" >> "$pc"; \ - echo "Libs: -L\${libdir} -linference_engine -linference_engine_c_wrapper" >> "$pc"; \ + rm -rf ../bin/intel64/Release/lib/libtest* + +ARG libdir=/opt/intel/dldt/inference-engine/lib/ubuntu_18.04/intel64 + #RUN find dldt/inference-engine/cmake/share/ -type f | xargs sed -i 's/16.04/18.04/g' + +RUN mkdir -p /opt/intel/dldt/inference-engine/include && \ + cp -r dldt/inference-engine/include/* /opt/intel/dldt/inference-engine/include && \ + mkdir -p ${libdir} && \ + cp -r dldt/inference-engine/bin/intel64/Release/lib/* ${libdir} && \ + mkdir -p /opt/intel/dldt/inference-engine/src && \ + cp -r dldt/inference-engine/src/* /opt/intel/dldt/inference-engine/src/ && \ + mkdir -p /opt/intel/dldt/inference-engine/share && \ + cp -r dldt/inference-engine/build/share/* /opt/intel/dldt/inference-engine/share/ && \ + mkdir -p /opt/intel/dldt/inference-engine/external/omp/lib && \ + cp -r dldt/inference-engine/temp/omp/lib/* /opt/intel/dldt/inference-engine/external/omp/lib/ + +RUN mkdir -p build/opt/intel/dldt/inference-engine/include && \ + cp -r dldt/inference-engine/include/* build/opt/intel/dldt/inference-engine/include && \ + mkdir -p build${libdir} && \ + cp -r dldt/inference-engine/bin/intel64/Release/lib/* build${libdir} && \ + mkdir -p build/opt/intel/dldt/inference-engine/src && \ + cp -r dldt/inference-engine/src/* build/opt/intel/dldt/inference-engine/src/ && \ + mkdir -p build/opt/intel/dldt/inference-engine/share && \ + cp -r dldt/inference-engine/build/share/* build/opt/intel/dldt/inference-engine/share/ && \ + mkdir -p build/opt/intel/dldt/inference-engine/external/omp/lib && \ + cp -r dldt/inference-engine/temp/omp/lib/* build/opt/intel/dldt/inference-engine/external/omp/lib/ + +RUN for p in /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inference-engine; do \ + mkdir -p "${libdir}/pkgconfig" && \ + pc="${libdir}/pkgconfig/dldt.pc" && \ + echo "prefix=/opt" > "$pc" && \ + echo "libdir=${libdir}" >> "$pc" && \ + echo "includedir=/opt/intel/dldt/inference-engine/include" >> "$pc" && \ + echo "" >> "$pc" && \ + echo "Name: DLDT" >> "$pc" && \ + echo "Description: Intel Deep Learning Deployment Toolkit" >> "$pc" && \ + echo "Version: 5.0" >> "$pc" && \ + echo "" >> "$pc" && \ + echo "Libs: -L\${libdir} -linference_engine -linference_engine_c_wrapper" >> "$pc" && \ echo "Cflags: -I\${includedir}" >> "$pc"; \ done; +ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share +ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} + +#install Model Optimizer in the DLDT for Dev +ARG PYTHON_TRUSTED_HOST +ARG PYTHON_TRUSTED_INDEX_URL +#install MO dependencies +RUN DEBIAN_FRONTEND=noninteractive apt-get install -y -q --no-install-recommends python3-dev python3-pip python3-setuptools python3-wheel +#RUN pip3 install numpy scipy +RUN git clone https://github.com/google/protobuf.git && \ + cd protobuf && \ + git submodule update --init --recursive && \ + ./autogen.sh && \ + ./configure && \ + make && \ + make install && \ + make install DESTDIR=/home/build +#RUN apt-get update && apt-get install -y sudo +#installing dependency libs to mo_libs directory to avoid issues with updates to Python version +RUN cd dldt/model-optimizer && \ +if [ "x$PYTHON_TRUSTED_HOST" = "x" ] ; \ +then pip3 install --target=/home/build/mo_libs -r requirements.txt && \ +pip3 install -r requirements.txt; \ +else pip3 install --target=/home/build/mo_libs -r requirements.txt -i $PYTHON_TRUSTED_INDEX_URL --trusted-host $PYTHON_TRUSTED_HOST && \ +pip3 install -r requirements.txt -i $PYTHON_TRUSTED_INDEX_URL --trusted-host $PYTHON_TRUSTED_HOST; \ +fi + +#Copy over Model Optimizer to same directory as Inference Engine +RUN cp -r dldt/model-optimizer /opt/intel/dldt/model-optimizer +RUN cp -r dldt/model-optimizer /home/build/opt/intel/dldt/model-optimizer + + + + # Build the gstremaer core ARG GST_VER=1.14.4 ARG GST_REPO=https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${GST_VER}.tar.xz RUN ln -sf /usr/share/zoneinfo/UTC /etc/localtime; \ - DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libglib2.0-dev autopoint gtk-doc-tools + DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libglib2.0-dev gobject-introspection libgirepository1.0-dev libpango-1.0-0 libpangocairo-1.0-0 autopoint RUN wget -O - ${GST_REPO} | tar xJ && \ cd gstreamer-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib/x86_64-linux-gnu \ + --libexecdir=/usr/lib/x86_64-linux-gnu \ + --enable-shared \ + --disable-examples \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ - make install + make install; # Build the gstremaer plugin base ARG GST_PLUGIN_BASE_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-${GST_VER}.tar.xz +RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libxv-dev libvisual-0.4-dev libtheora-dev libglib2.0-dev libasound2-dev libcdparanoia-dev libgl1-mesa-dev libpango1.0-dev + RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ && \ cd gst-plugins-base-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib/x86_64-linux-gnu \ + --libexecdir=/usr/lib/x86_64-linux-gnu \ + --enable-shared \ + --disable-examples \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install @@ -304,33 +378,53 @@ RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ && \ # Build the gstremaer plugin good set ARG GST_PLUGIN_GOOD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-${GST_VER}.tar.xz +RUN apt-get update && apt-get install -y -q --no-install-recommends libsoup2.4-dev libjpeg-dev + RUN wget -O - ${GST_PLUGIN_GOOD_REPO} | tar xJ && \ cd gst-plugins-good-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib/x86_64-linux-gnu \ + --libexecdir=/usr/lib/x86_64-linux-gnu \ + --enable-shared \ + --disable-examples \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install + # Build the gstremaer plugin bad set ARG GST_PLUGIN_BAD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-${GST_VER}.tar.xz +RUN apt-get update && apt-get install -y -q --no-install-recommends libssl-dev + RUN wget -O - ${GST_PLUGIN_BAD_REPO} | tar xJ && \ cd gst-plugins-bad-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib/x86_64-linux-gnu \ + --libexecdir=/usr/lib/x86_64-linux-gnu \ + --enable-shared \ + --disable-examples \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin ugly set ARG GST_PLUGIN_UGLY_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ && \ - cd gst-plugins-ugly-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples && \ - make -j8 && \ +RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ; \ + cd gst-plugins-ugly-${GST_VER}; \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib/x86_64-linux-gnu \ + --libexecdir=/usr/lib/x86_64-linux-gnu \ + --enable-shared \ + --disable-examples \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install @@ -341,22 +435,38 @@ RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no- RUN wget -O - ${GST_PLUGIN_LIBAV_REPO} | tar xJ && \ cd gst-libav-${GST_VER} && \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared --enable-gpl && \ - make -j8 && \ - make install DESTDIR="/home/build" - + ./autogen.sh \ + --prefix="/usr" \ + --libdir=/usr/lib/x86_64-linux-gnu \ + --enable-shared \ + --enable-gpl \ + --disable-gtk-doc && \ + make -j $(nproc) && \ + make install DESTDIR=/home/build && \ + make install # Build gstremaer plugin vaapi -ARG GST_PLUGIN_VAAPI_REPO=https://gstreamer.freedesktop.org/src/gstreamer-vaapi//gstreamer-vaapi-${GST_VER}.tar.xz +ARG GST_PLUGIN_VAAPI_REPO=https://gstreamer.freedesktop.org/src/gstreamer-vaapi/gstreamer-vaapi-${GST_VER}.tar.xz -RUN apt-get update && apt-get install -y -q --no-install-recommends libxrandr-dev +# https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/merge_requests/45 +ARG GST_PLUGIN_VAAPI_REPO_DISPLAY_LOCK_PATCH_HASH=b219f6095f3014041896714dd88e7d90ee3d72dd +ARG GST_PLUGIN_VAAPI_REPO_GIT=https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi.git +RUN apt-get update && apt-get install -y -q --no-install-recommends libxrandr-dev libegl1-mesa-dev autopoint bison flex libudev-dev + +#RUN git clone https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi.git -b 1.14 --depth 10 && \ +# cd gstreamer-vaapi && git reset --hard ${GST_PLUGIN_VAAPI_REPO_DISPLAY_LOCK_PATCH_HASH} && \ RUN wget -O - ${GST_PLUGIN_VAAPI_REPO} | tar xJ && \ cd gstreamer-vaapi-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib/x86_64-linux-gnu \ + --libexecdir=/usr/lib/x86_64-linux-gnu \ + --enable-shared \ + --disable-examples \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install @@ -417,7 +527,7 @@ WORKDIR /home # Prerequisites RUN ln -sf /usr/share/zoneinfo/UTC /etc/localtime; \ - DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libxv1 libxcb-shm0 libxcb-shape0 libxcb-xfixes0 libsdl2-2.0-0 libasound2 libvdpau1 libnuma1 libass9 libssl1.1 libpciaccess0 libglib2.0 libdrm-intel1 libx11-xcb1 libgl1-mesa-glx libxrandr2 libpng16-16 libxv1 ; \ + DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libxv1 libxcb-shm0 libxcb-shape0 libxcb-xfixes0 libsdl2-2.0-0 libasound2 libvdpau1 libnuma1 libass9 libssl1.1 libpciaccess0 libglib2.0 libpango-1.0-0 libpangocairo-1.0-0 libdrm-intel1 libudev1 libx11-xcb1 libgl1-mesa-glx libxrandr2 libegl1-mesa libglib2.0-0 libpng16-16 libxv1 libvisual-0.4-0 libgl1-mesa-glx libpango-1.0-0 libtheora0 libcdparanoia0 libasound2 libsoup2.4-1 libjpeg8 libjpeg-turbo8 python3 ; \ rm -rf /var/lib/apt/lists/*; # Install @@ -426,4 +536,7 @@ ENV LIBVA_DRIVERS_PATH=/usr/lib/x86_64-linux-gnu/dri ENV LIBVA_DRIVER_NAME=iHD ENV GST_VAAPI_ALL_DRIVERS=1 ENV DISPLAY=:0.0 +ARG libdir=/opt/intel/dldt/inference-engine/lib/ubuntu_18.04/intel64 +ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share +ENV PYTHONPATH=${PYTHONPATH}:/mo_libs diff --git a/VCA2/ubuntu-18.04/ffmpeg/Dockerfile b/VCA2/ubuntu-18.04/ffmpeg/Dockerfile index 7e633e3ad..7275d60e2 100644 --- a/VCA2/ubuntu-18.04/ffmpeg/Dockerfile +++ b/VCA2/ubuntu-18.04/ffmpeg/Dockerfile @@ -3,7 +3,7 @@ FROM ubuntu:18.04 AS build WORKDIR /home # COMMON BUILD TOOLS -RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends build-essential autoconf automake make git wget pciutils cpio libtool lsb-release ca-certificates pkg-config bison flex +RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends build-essential autoconf make git wget pciutils cpio libtool lsb-release ca-certificates pkg-config bison flex # Install cmake ARG CMAKE_VER=3.13.1 @@ -14,6 +14,11 @@ RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz make -j8 && \ make install +# Install automake, use version 1.14 on CentOS +ARG AUTOMAKE_VER=1.14 +ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz + RUN apt-get install -y -q automake + # Build NASM ARG NASM_VER=2.13.03 ARG NASM_REPO=https://www.nasm.us/pub/nasm/releasebuilds/${NASM_VER}/nasm-${NASM_VER}.tar.bz2 @@ -194,10 +199,12 @@ RUN wget -O - ${GMMLIB_REPO} | tar xz && mv gmmlib-${GMMLIB_VER} gmmlib; # Build libva -ARG LIBVA_VER=2.3.0 +ARG LIBVA_VER=2.4.0 ARG LIBVA_REPO=https://github.com/intel/libva/archive/${LIBVA_VER}.tar.gz -RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libdrm-dev libx11-dev xorg-dev libgl1-mesa-dev +RUN apt-get remove libva* + +RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libdrm-dev libx11-dev xorg-dev libgl1-mesa-dev openbox RUN wget -O - ${LIBVA_REPO} | tar xz && \ cd libva-${LIBVA_VER} && \ diff --git a/VCA2/ubuntu-18.04/gst/Dockerfile b/VCA2/ubuntu-18.04/gst/Dockerfile index 75d6e6fcf..63d633ce4 100644 --- a/VCA2/ubuntu-18.04/gst/Dockerfile +++ b/VCA2/ubuntu-18.04/gst/Dockerfile @@ -3,7 +3,7 @@ FROM ubuntu:18.04 AS build WORKDIR /home # COMMON BUILD TOOLS -RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends build-essential autoconf automake make git wget pciutils cpio libtool lsb-release ca-certificates pkg-config bison flex +RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends build-essential autoconf make git wget pciutils cpio libtool lsb-release ca-certificates pkg-config bison flex # Install cmake ARG CMAKE_VER=3.13.1 @@ -14,6 +14,11 @@ RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz make -j8 && \ make install +# Install automake, use version 1.14 on CentOS +ARG AUTOMAKE_VER=1.14 +ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz + RUN apt-get install -y -q automake + # Build NASM ARG NASM_VER=2.13.03 ARG NASM_REPO=https://www.nasm.us/pub/nasm/releasebuilds/${NASM_VER}/nasm-${NASM_VER}.tar.bz2 @@ -193,10 +198,12 @@ RUN wget -O - ${GMMLIB_REPO} | tar xz && mv gmmlib-${GMMLIB_VER} gmmlib; # Build libva -ARG LIBVA_VER=2.3.0 +ARG LIBVA_VER=2.4.0 ARG LIBVA_REPO=https://github.com/intel/libva/archive/${LIBVA_VER}.tar.gz -RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libdrm-dev libx11-dev xorg-dev libgl1-mesa-dev +RUN apt-get remove libva* + +RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libdrm-dev libx11-dev xorg-dev libgl1-mesa-dev openbox RUN wget -O - ${LIBVA_REPO} | tar xz && \ cd libva-${LIBVA_VER} && \ @@ -227,23 +234,37 @@ ARG GST_VER=1.14.4 ARG GST_REPO=https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${GST_VER}.tar.xz RUN ln -sf /usr/share/zoneinfo/UTC /etc/localtime; \ - DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libglib2.0-dev autopoint gtk-doc-tools + DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libglib2.0-dev gobject-introspection libgirepository1.0-dev libpango-1.0-0 libpangocairo-1.0-0 autopoint RUN wget -O - ${GST_REPO} | tar xJ && \ cd gstreamer-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-gst-debug --disable-debug --disable-benchmarks --disable-check && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib/x86_64-linux-gnu \ + --libexecdir=/usr/lib/x86_64-linux-gnu \ + --enable-shared \ + --disable-examples --disable-gst-debug \ + --disable-debug \ + --disable-benchmarks \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ - make install + make install; # Build the gstremaer plugin base ARG GST_PLUGIN_BASE_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-${GST_VER}.tar.xz +RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libxv-dev libvisual-0.4-dev libtheora-dev libglib2.0-dev libasound2-dev libcdparanoia-dev libgl1-mesa-dev libpango1.0-dev + RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ && \ cd gst-plugins-base-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-debug && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib/x86_64-linux-gnu \ + --libexecdir=/usr/lib/x86_64-linux-gnu \ + --enable-shared \ + --disable-examples --disable-debug \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install @@ -251,33 +272,53 @@ RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ && \ # Build the gstremaer plugin good set ARG GST_PLUGIN_GOOD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-${GST_VER}.tar.xz +RUN apt-get update && apt-get install -y -q --no-install-recommends libsoup2.4-dev libjpeg-dev + RUN wget -O - ${GST_PLUGIN_GOOD_REPO} | tar xJ && \ cd gst-plugins-good-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-debug && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib/x86_64-linux-gnu \ + --libexecdir=/usr/lib/x86_64-linux-gnu \ + --enable-shared \ + --disable-examples --disable-debug \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install + # Build the gstremaer plugin bad set ARG GST_PLUGIN_BAD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-${GST_VER}.tar.xz +RUN apt-get update && apt-get install -y -q --no-install-recommends libssl-dev + RUN wget -O - ${GST_PLUGIN_BAD_REPO} | tar xJ && \ cd gst-plugins-bad-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-debug && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib/x86_64-linux-gnu \ + --libexecdir=/usr/lib/x86_64-linux-gnu \ + --enable-shared \ + --disable-examples --disable-debug \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin ugly set ARG GST_PLUGIN_UGLY_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ && \ - cd gst-plugins-ugly-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-debug && \ - make -j8 && \ +RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ; \ + cd gst-plugins-ugly-${GST_VER}; \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib/x86_64-linux-gnu \ + --libexecdir=/usr/lib/x86_64-linux-gnu \ + --enable-shared \ + --disable-examples --disable-debug \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install @@ -288,22 +329,38 @@ RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no- RUN wget -O - ${GST_PLUGIN_LIBAV_REPO} | tar xJ && \ cd gst-libav-${GST_VER} && \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared --enable-gpl && \ - make -j8 && \ - make install DESTDIR="/home/build" - + ./autogen.sh \ + --prefix="/usr" \ + --libdir=/usr/lib/x86_64-linux-gnu \ + --enable-shared \ + --enable-gpl \ + --disable-gtk-doc && \ + make -j $(nproc) && \ + make install DESTDIR=/home/build && \ + make install # Build gstremaer plugin vaapi -ARG GST_PLUGIN_VAAPI_REPO=https://gstreamer.freedesktop.org/src/gstreamer-vaapi//gstreamer-vaapi-${GST_VER}.tar.xz +ARG GST_PLUGIN_VAAPI_REPO=https://gstreamer.freedesktop.org/src/gstreamer-vaapi/gstreamer-vaapi-${GST_VER}.tar.xz -RUN apt-get update && apt-get install -y -q --no-install-recommends libxrandr-dev +# https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/merge_requests/45 +ARG GST_PLUGIN_VAAPI_REPO_DISPLAY_LOCK_PATCH_HASH=b219f6095f3014041896714dd88e7d90ee3d72dd +ARG GST_PLUGIN_VAAPI_REPO_GIT=https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi.git +RUN apt-get update && apt-get install -y -q --no-install-recommends libxrandr-dev libegl1-mesa-dev autopoint bison flex libudev-dev + +#RUN git clone https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi.git -b 1.14 --depth 10 && \ +# cd gstreamer-vaapi && git reset --hard ${GST_PLUGIN_VAAPI_REPO_DISPLAY_LOCK_PATCH_HASH} && \ RUN wget -O - ${GST_PLUGIN_VAAPI_REPO} | tar xJ && \ cd gstreamer-vaapi-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-debug && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib/x86_64-linux-gnu \ + --libexecdir=/usr/lib/x86_64-linux-gnu \ + --enable-shared \ + --disable-examples \ + --disable-gtk-doc --disable-debug && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install @@ -322,7 +379,7 @@ WORKDIR /home # Prerequisites RUN ln -sf /usr/share/zoneinfo/UTC /etc/localtime; \ - DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libnuma1 libssl1.1 libglib2.0 libdrm-intel1 libx11-xcb1 libgl1-mesa-glx libxrandr2 libpng16-16 libxv1 ; \ + DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libnuma1 libssl1.1 libglib2.0 libpango-1.0-0 libpangocairo-1.0-0 libdrm-intel1 libudev1 libx11-xcb1 libgl1-mesa-glx libxrandr2 libegl1-mesa libglib2.0-0 libpng16-16 libxv1 libvisual-0.4-0 libgl1-mesa-glx libpango-1.0-0 libtheora0 libcdparanoia0 libasound2 libsoup2.4-1 libjpeg8 libjpeg-turbo8 ; \ rm -rf /var/lib/apt/lists/*; # Install diff --git a/VCA2/ubuntu-18.04/nginx+rtmp/Dockerfile b/VCA2/ubuntu-18.04/nginx+rtmp/Dockerfile index 464799b07..fa9412113 100644 --- a/VCA2/ubuntu-18.04/nginx+rtmp/Dockerfile +++ b/VCA2/ubuntu-18.04/nginx+rtmp/Dockerfile @@ -3,7 +3,7 @@ FROM ubuntu:18.04 AS build WORKDIR /home # COMMON BUILD TOOLS -RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends build-essential autoconf automake make git wget pciutils cpio libtool lsb-release ca-certificates pkg-config bison flex +RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends build-essential autoconf make git wget pciutils cpio libtool lsb-release ca-certificates pkg-config bison flex # Install cmake ARG CMAKE_VER=3.13.1 @@ -14,6 +14,11 @@ RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz make -j8 && \ make install +# Install automake, use version 1.14 on CentOS +ARG AUTOMAKE_VER=1.14 +ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz + RUN apt-get install -y -q automake + # Build nginx-rtmp ARG NGINX_RTMP_VER=v1.2.1 diff --git a/Xeon/centos-7.4/dldt+ffmpeg/Dockerfile b/Xeon/centos-7.4/dldt+ffmpeg/Dockerfile index 25885d834..540020970 100644 --- a/Xeon/centos-7.4/dldt+ffmpeg/Dockerfile +++ b/Xeon/centos-7.4/dldt+ffmpeg/Dockerfile @@ -14,6 +14,15 @@ RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz make -j8 && \ make install +# Install automake, use version 1.14 on CentOS +ARG AUTOMAKE_VER=1.14 +ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz +RUN wget -O - ${AUTOMAKE_REPO} | tar xJ && \ + cd automake-${AUTOMAKE_VER} && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --disable-doc && \ + make -j8 && \ + make install + # Build NASM ARG NASM_VER=2.13.03 ARG NASM_REPO=https://www.nasm.us/pub/nasm/releasebuilds/${NASM_VER}/nasm-${NASM_VER}.tar.bz2 @@ -206,32 +215,60 @@ RUN git clone -b ${DLDT_VER} ${DLDT_REPO} && \ wget -O - ${DLDT_C_API_REPO} | patch -p2 && \ mkdir build && \ cd build && \ - cmake -DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_PATH=/usr/lib64 -DENABLE_MKL_DNN=ON -DENABLE_CLDNN=OFF -DENABLE_SAMPLES_CORE=OFF ..; \ - make -j16 && \ + cmake -DCMAKE_INSTALL_PREFIX=/opt/intel/dldt -DLIB_INSTALL_PATH=/opt/intel/dldt -DENABLE_MKL_DNN=ON -DENABLE_CLDNN=OFF -DENABLE_SAMPLE_CORE=OFF .. && \ + make -j $(nproc) && \ rm -rf ../bin/intel64/Release/lib/libgtest* && \ rm -rf ../bin/intel64/Release/lib/libgmock* && \ rm -rf ../bin/intel64/Release/lib/libmock* && \ - rm -rf ../bin/intel64/Release/lib/libtest* && \ - for p in /usr /home/build/usr; do \ - mkdir -p $p/include/dldt; \ - cp -r ../include/* $p/include/dldt; \ - libdir="$p/lib64"; \ - cp -r ../bin/intel64/Release/lib/* "$libdir"; \ - cp -r ../temp/omp/lib/* "$libdir"; \ - mkdir -p "$libdir/pkgconfig"; \ - pc="$libdir/pkgconfig/dldt.pc"; \ - echo "prefix=/usr" > "$pc"; \ - echo "libdir=/usr/lib64" >> "$pc"; \ - echo "includedir=/usr/include/dldt" >> "$pc"; \ - echo "" >> "$pc"; \ - echo "Name: DLDT" >> "$pc"; \ - echo "Description: Intel Deep Learning Deployment Toolkit" >> "$pc"; \ - echo "Version: 5.0" >> "$pc"; \ - echo "" >> "$pc"; \ - echo "Libs: -L\${libdir} -linference_engine -linference_engine_c_wrapper" >> "$pc"; \ + rm -rf ../bin/intel64/Release/lib/libtest* + +ARG libdir=/opt/intel/dldt/inference-engine/lib/centos_7.4/intel64 + +RUN mkdir -p /opt/intel/dldt/inference-engine/include && \ + cp -r dldt/inference-engine/include/* /opt/intel/dldt/inference-engine/include && \ + mkdir -p ${libdir} && \ + cp -r dldt/inference-engine/bin/intel64/Release/lib/* ${libdir} && \ + mkdir -p /opt/intel/dldt/inference-engine/src && \ + cp -r dldt/inference-engine/src/* /opt/intel/dldt/inference-engine/src/ && \ + mkdir -p /opt/intel/dldt/inference-engine/share && \ + cp -r dldt/inference-engine/build/share/* /opt/intel/dldt/inference-engine/share/ && \ + mkdir -p /opt/intel/dldt/inference-engine/external/omp/lib && \ + cp -r dldt/inference-engine/temp/omp/lib/* /opt/intel/dldt/inference-engine/external/omp/lib/ + +RUN mkdir -p build/opt/intel/dldt/inference-engine/include && \ + cp -r dldt/inference-engine/include/* build/opt/intel/dldt/inference-engine/include && \ + mkdir -p build${libdir} && \ + cp -r dldt/inference-engine/bin/intel64/Release/lib/* build${libdir} && \ + mkdir -p build/opt/intel/dldt/inference-engine/src && \ + cp -r dldt/inference-engine/src/* build/opt/intel/dldt/inference-engine/src/ && \ + mkdir -p build/opt/intel/dldt/inference-engine/share && \ + cp -r dldt/inference-engine/build/share/* build/opt/intel/dldt/inference-engine/share/ && \ + mkdir -p build/opt/intel/dldt/inference-engine/external/omp/lib && \ + cp -r dldt/inference-engine/temp/omp/lib/* build/opt/intel/dldt/inference-engine/external/omp/lib/ + +RUN for p in /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inference-engine; do \ + mkdir -p "${libdir}/pkgconfig" && \ + pc="${libdir}/pkgconfig/dldt.pc" && \ + echo "prefix=/opt" > "$pc" && \ + echo "libdir=${libdir}" >> "$pc" && \ + echo "includedir=/opt/intel/dldt/inference-engine/include" >> "$pc" && \ + echo "" >> "$pc" && \ + echo "Name: DLDT" >> "$pc" && \ + echo "Description: Intel Deep Learning Deployment Toolkit" >> "$pc" && \ + echo "Version: 5.0" >> "$pc" && \ + echo "" >> "$pc" && \ + echo "Libs: -L\${libdir} -linference_engine -linference_engine_c_wrapper" >> "$pc" && \ echo "Cflags: -I\${includedir}" >> "$pc"; \ done; +ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share +ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} + +#install Model Optimizer in the DLDT for Dev + + + + # Build librdkafka ARG LIBRDKAFKA_VER=0.11.6 ARG FILE_NAME=v${LIBRDKAFKA_VER} @@ -306,10 +343,12 @@ WORKDIR /home # Prerequisites RUN yum install -y epel-release; \ - yum install -y -q numactl ; \ + yum install -y -q numactl python36 ; \ yum remove -y -q epel-release; \ rm -rf /var/cache/yum/*; # Install COPY --from=build /home/build / +ARG libdir=/opt/intel/dldt/inference-engine/lib/centos_7.4/intel64 +ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share diff --git a/Xeon/centos-7.4/dldt+gst/Dockerfile b/Xeon/centos-7.4/dldt+gst/Dockerfile index d2c227df4..2ae751dfc 100644 --- a/Xeon/centos-7.4/dldt+gst/Dockerfile +++ b/Xeon/centos-7.4/dldt+gst/Dockerfile @@ -14,6 +14,15 @@ RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz make -j8 && \ make install +# Install automake, use version 1.14 on CentOS +ARG AUTOMAKE_VER=1.14 +ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz +RUN wget -O - ${AUTOMAKE_REPO} | tar xJ && \ + cd automake-${AUTOMAKE_VER} && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --disable-doc && \ + make -j8 && \ + make install + # Build NASM ARG NASM_VER=2.13.03 ARG NASM_REPO=https://www.nasm.us/pub/nasm/releasebuilds/${NASM_VER}/nasm-${NASM_VER}.tar.bz2 @@ -205,64 +214,110 @@ RUN git clone -b ${DLDT_VER} ${DLDT_REPO} && \ wget -O - ${DLDT_C_API_REPO} | patch -p2 && \ mkdir build && \ cd build && \ - cmake -DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_PATH=/usr/lib64 -DENABLE_MKL_DNN=ON -DENABLE_CLDNN=OFF -DENABLE_SAMPLES_CORE=OFF ..; \ - make -j16 && \ + cmake -DCMAKE_INSTALL_PREFIX=/opt/intel/dldt -DLIB_INSTALL_PATH=/opt/intel/dldt -DENABLE_MKL_DNN=ON -DENABLE_CLDNN=OFF -DENABLE_SAMPLE_CORE=OFF .. && \ + make -j $(nproc) && \ rm -rf ../bin/intel64/Release/lib/libgtest* && \ rm -rf ../bin/intel64/Release/lib/libgmock* && \ rm -rf ../bin/intel64/Release/lib/libmock* && \ - rm -rf ../bin/intel64/Release/lib/libtest* && \ - for p in /usr /home/build/usr; do \ - mkdir -p $p/include/dldt; \ - cp -r ../include/* $p/include/dldt; \ - libdir="$p/lib64"; \ - cp -r ../bin/intel64/Release/lib/* "$libdir"; \ - cp -r ../temp/omp/lib/* "$libdir"; \ - mkdir -p "$libdir/pkgconfig"; \ - pc="$libdir/pkgconfig/dldt.pc"; \ - echo "prefix=/usr" > "$pc"; \ - echo "libdir=/usr/lib64" >> "$pc"; \ - echo "includedir=/usr/include/dldt" >> "$pc"; \ - echo "" >> "$pc"; \ - echo "Name: DLDT" >> "$pc"; \ - echo "Description: Intel Deep Learning Deployment Toolkit" >> "$pc"; \ - echo "Version: 5.0" >> "$pc"; \ - echo "" >> "$pc"; \ - echo "Libs: -L\${libdir} -linference_engine -linference_engine_c_wrapper" >> "$pc"; \ + rm -rf ../bin/intel64/Release/lib/libtest* + +ARG libdir=/opt/intel/dldt/inference-engine/lib/centos_7.4/intel64 + +RUN mkdir -p /opt/intel/dldt/inference-engine/include && \ + cp -r dldt/inference-engine/include/* /opt/intel/dldt/inference-engine/include && \ + mkdir -p ${libdir} && \ + cp -r dldt/inference-engine/bin/intel64/Release/lib/* ${libdir} && \ + mkdir -p /opt/intel/dldt/inference-engine/src && \ + cp -r dldt/inference-engine/src/* /opt/intel/dldt/inference-engine/src/ && \ + mkdir -p /opt/intel/dldt/inference-engine/share && \ + cp -r dldt/inference-engine/build/share/* /opt/intel/dldt/inference-engine/share/ && \ + mkdir -p /opt/intel/dldt/inference-engine/external/omp/lib && \ + cp -r dldt/inference-engine/temp/omp/lib/* /opt/intel/dldt/inference-engine/external/omp/lib/ + +RUN mkdir -p build/opt/intel/dldt/inference-engine/include && \ + cp -r dldt/inference-engine/include/* build/opt/intel/dldt/inference-engine/include && \ + mkdir -p build${libdir} && \ + cp -r dldt/inference-engine/bin/intel64/Release/lib/* build${libdir} && \ + mkdir -p build/opt/intel/dldt/inference-engine/src && \ + cp -r dldt/inference-engine/src/* build/opt/intel/dldt/inference-engine/src/ && \ + mkdir -p build/opt/intel/dldt/inference-engine/share && \ + cp -r dldt/inference-engine/build/share/* build/opt/intel/dldt/inference-engine/share/ && \ + mkdir -p build/opt/intel/dldt/inference-engine/external/omp/lib && \ + cp -r dldt/inference-engine/temp/omp/lib/* build/opt/intel/dldt/inference-engine/external/omp/lib/ + +RUN for p in /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inference-engine; do \ + mkdir -p "${libdir}/pkgconfig" && \ + pc="${libdir}/pkgconfig/dldt.pc" && \ + echo "prefix=/opt" > "$pc" && \ + echo "libdir=${libdir}" >> "$pc" && \ + echo "includedir=/opt/intel/dldt/inference-engine/include" >> "$pc" && \ + echo "" >> "$pc" && \ + echo "Name: DLDT" >> "$pc" && \ + echo "Description: Intel Deep Learning Deployment Toolkit" >> "$pc" && \ + echo "Version: 5.0" >> "$pc" && \ + echo "" >> "$pc" && \ + echo "Libs: -L\${libdir} -linference_engine -linference_engine_c_wrapper" >> "$pc" && \ echo "Cflags: -I\${includedir}" >> "$pc"; \ done; -# Install automake -ARG AUTOMAKE_VER=1.14 -ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz +ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share +ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} + +#install Model Optimizer in the DLDT for Dev + -RUN wget -O - ${AUTOMAKE_REPO} | tar xJ && \ - cd automake-${AUTOMAKE_VER} && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --disable-doc && \ - make -j8 && \ - make install # Build the gstremaer core ARG GST_VER=1.14.4 ARG GST_REPO=https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${GST_VER}.tar.xz -RUN yum install -y -q glib2-devel-2.56.1 gettext-devel gtk-doc +RUN yum install -y -q glib2-devel-2.56.1 gettext-devel gobject-introspection python-gobject-base RUN wget -O - ${GST_REPO} | tar xJ && \ cd gstreamer-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-gst-debug --disable-debug --disable-benchmarks --disable-check && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples --disable-gst-debug \ + --disable-debug \ + --disable-benchmarks \ + --disable-gtk-doc && \ + make -j $(nproc) && \ + make install DESTDIR=/home/build && \ + make install; + +# Build the gstremaer plugin bad set +ARG GST_ORC_VER=0.4.28 +ARG GST_ORC_REPO=https://gstreamer.freedesktop.org/src/orc/orc-${GST_ORC_VER}.tar.xz + +RUN wget -O - ${GST_ORC_REPO} | tar xJ && \ + cd orc-${GST_ORC_VER} && \ + ./autogen.sh --prefix=/usr --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples --disable-debug \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin base ARG GST_PLUGIN_BASE_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-${GST_VER}.tar.xz +RUN yum install -y -q libXv-devel libvisual-devel libtheora-devel glib2-devel alsa-lib-devel cdparanoia-devel mesa-libGL-devel pango-devel + RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ && \ cd gst-plugins-base-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples --disable-debug \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install @@ -270,33 +325,53 @@ RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ && \ # Build the gstremaer plugin good set ARG GST_PLUGIN_GOOD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-${GST_VER}.tar.xz +RUN yum install -y -q libsoup-devel libjpeg-devel + RUN wget -O - ${GST_PLUGIN_GOOD_REPO} | tar xJ && \ cd gst-plugins-good-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples --disable-debug \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install + # Build the gstremaer plugin bad set ARG GST_PLUGIN_BAD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-${GST_VER}.tar.xz +RUN yum install -y -q openssl-devel + RUN wget -O - ${GST_PLUGIN_BAD_REPO} | tar xJ && \ cd gst-plugins-bad-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples --disable-debug \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin ugly set ARG GST_PLUGIN_UGLY_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ && \ - cd gst-plugins-ugly-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug && \ - make -j8 && \ +RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ; \ + cd gst-plugins-ugly-${GST_VER}; \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples --disable-debug \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install @@ -307,9 +382,66 @@ RUN yum install -y -q zlib-devel openssl-devel RUN wget -O - ${GST_PLUGIN_LIBAV_REPO} | tar xJ && \ cd gst-libav-${GST_VER} && \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --enable-gpl && \ - make -j8 && \ - make install DESTDIR="/home/build" + ./autogen.sh \ + --prefix="/usr" \ + --libdir=/usr/lib64 \ + --enable-shared \ + --enable-gpl \ + --disable-gtk-doc && \ + make -j $(nproc) && \ + make install DESTDIR=/home/build && \ + make install + + +ARG OPENCV_VER=4.0.0 +ARG OPENCV_REPO=https://github.com/opencv/opencv/archive/${OPENCV_VER}.tar.gz + + +RUN wget ${OPENCV_REPO} && \ + tar -zxvf ${OPENCV_VER}.tar.gz && \ + cd opencv-${OPENCV_VER} && \ + mkdir build && \ + cd build && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -D BUILD_EXAMPLES=OFF -D BUILD_PERF_TESTS=OFF -D BUILD_DOCS=OFF -D BUILD_TESTS=OFF .. && \ + make -j $(nproc) && \ + make install DESTDIR=/home/build && \ + make install + + +RUN yum install -y -q glib2-devel gtk-dock openblas + +RUN yum install -y -q binutils + + +ARG PAHO_VER=1.3.0 +ARG PAHO_REPO=https://github.com/eclipse/paho.mqtt.c/archive/v${PAHO_VER}.tar.gz +RUN wget -O - https://github.com/eclipse/paho.mqtt.c/archive/v${PAHO_VER}.tar.gz | tar -xz; \ + cd paho.mqtt.c-${PAHO_VER}; \ + make; \ + make install; + +#Install va gstreamer plugins +#Has a dependency on OpenCV, GStreamer +ARG VA_GSTREAMER_PLUGINS_VER=0.3 +ARG VA_GSTREAMER_PLUGINS_REPO=https://github.com/opencv/gst-video-analytics/archive/v${VA_GSTREAMER_PLUGINS_VER}.tar.gz +RUN wget -O - ${VA_GSTREAMER_PLUGINS_REPO} | tar xz && \ + cd gst-video-analytics-${VA_GSTREAMER_PLUGINS_VER} && \ + mkdir build && \ + cd build && \ + export CFLAGS="-std=gnu99 -Wno-missing-field-initializers" && \ + export CXXFLAGS="-std=c++11 -Wno-missing-field-initializers" && \ + cmake \ + -DVERSION_PATCH=$(echo "$(git rev-list --count --first-parent HEAD)") \ + -DGIT_INFO=$(echo "git_$(git rev-parse --short HEAD)") \ + -DCMAKE_BUILD_TYPE=Release \ + -DDISABLE_SAMPLES=ON \ + -DDISABLE_VAAPI=ON \ + -DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX=/usr .. && \ + make -j4 +RUN mkdir -p build/usr/lib64/gstreamer-1.0 && \ + cp -r gst-video-analytics-${VA_GSTREAMER_PLUGINS_VER}/build/intel64/Release/lib/* build/usr/lib64/gstreamer-1.0 +RUN mkdir -p /usr/lib64/gstreamer-1.0 && \ + cp -r gst-video-analytics-${VA_GSTREAMER_PLUGINS_VER}/build/intel64/Release/lib/* /usr/lib64/gstreamer-1.0 @@ -327,10 +459,17 @@ WORKDIR /home # Prerequisites RUN yum install -y epel-release; \ - yum install -y -q numactl openssl glib2-2.56.1 libpng12 libXv ; \ + yum install -y -q numactl openssl glib2-2.56.1 pangolibpng12 libXv libvisual mesa-libGL pango glib2 openblas-serial \ +libsoup libjpeg-turbo python36 ; \ yum remove -y -q epel-release; \ rm -rf /var/cache/yum/*; # Install COPY --from=build /home/build / +ARG libdir=/opt/intel/dldt/inference-engine/lib/centos_7.4/intel64 +ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share +ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib64/gstreamer-1.0 +ENV PKG_CONFIG_PATH=/usr/lib64/pkgconfig +ENV LIBRARY_PATH=${LIBRARY_PATH}:/usr/lib +ENV PATH=${PATH}:/usr/bin diff --git a/Xeon/centos-7.4/dldt+gst/Dockerfile.m4 b/Xeon/centos-7.4/dldt+gst/Dockerfile.m4 index 3ba0eab9e..ec796b050 100644 --- a/Xeon/centos-7.4/dldt+gst/Dockerfile.m4 +++ b/Xeon/centos-7.4/dldt+gst/Dockerfile.m4 @@ -17,13 +17,15 @@ include(svt-hevc.m4) include(svt-av1.m4) include(svt-vp9.m4) include(dldt-ie.m4) -include(automake.m4) include(gst.m4) +include(gst-orc.m4) include(gst-plugin-base.m4) include(gst-plugin-good.m4) include(gst-plugin-bad.m4) include(gst-plugin-ugly.m4) include(gst-plugin-libav.m4) +include(opencv.m4) +include(gstreamer-videoanalytics.m4) include(cleanup.m4)dnl FROM centos:7.4.1708 diff --git a/Xeon/centos-7.4/ffmpeg+gst+dev/Dockerfile b/Xeon/centos-7.4/ffmpeg+gst+dev/Dockerfile index 0f954b304..50d24a70c 100644 --- a/Xeon/centos-7.4/ffmpeg+gst+dev/Dockerfile +++ b/Xeon/centos-7.4/ffmpeg+gst+dev/Dockerfile @@ -14,6 +14,15 @@ RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz make -j8 && \ make install +# Install automake, use version 1.14 on CentOS +ARG AUTOMAKE_VER=1.14 +ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz +RUN wget -O - ${AUTOMAKE_REPO} | tar xJ && \ + cd automake-${AUTOMAKE_VER} && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --disable-doc && \ + make -j8 && \ + make install + # Build NASM ARG NASM_VER=2.13.03 ARG NASM_REPO=https://www.nasm.us/pub/nasm/releasebuilds/${NASM_VER}/nasm-${NASM_VER}.tar.bz2 @@ -206,64 +215,137 @@ RUN git clone -b ${DLDT_VER} ${DLDT_REPO} && \ wget -O - ${DLDT_C_API_REPO} | patch -p2 && \ mkdir build && \ cd build && \ - cmake -DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_PATH=/usr/lib64 -DENABLE_MKL_DNN=ON -DENABLE_CLDNN=OFF -DENABLE_SAMPLES_CORE=OFF ..; \ - make -j16 && \ + cmake -DCMAKE_INSTALL_PREFIX=/opt/intel/dldt -DLIB_INSTALL_PATH=/opt/intel/dldt -DENABLE_MKL_DNN=ON -DENABLE_CLDNN=OFF -DENABLE_SAMPLE_CORE=OFF .. && \ + make -j $(nproc) && \ rm -rf ../bin/intel64/Release/lib/libgtest* && \ rm -rf ../bin/intel64/Release/lib/libgmock* && \ rm -rf ../bin/intel64/Release/lib/libmock* && \ - rm -rf ../bin/intel64/Release/lib/libtest* && \ - for p in /usr /home/build/usr; do \ - mkdir -p $p/include/dldt; \ - cp -r ../include/* $p/include/dldt; \ - libdir="$p/lib64"; \ - cp -r ../bin/intel64/Release/lib/* "$libdir"; \ - cp -r ../temp/omp/lib/* "$libdir"; \ - mkdir -p "$libdir/pkgconfig"; \ - pc="$libdir/pkgconfig/dldt.pc"; \ - echo "prefix=/usr" > "$pc"; \ - echo "libdir=/usr/lib64" >> "$pc"; \ - echo "includedir=/usr/include/dldt" >> "$pc"; \ - echo "" >> "$pc"; \ - echo "Name: DLDT" >> "$pc"; \ - echo "Description: Intel Deep Learning Deployment Toolkit" >> "$pc"; \ - echo "Version: 5.0" >> "$pc"; \ - echo "" >> "$pc"; \ - echo "Libs: -L\${libdir} -linference_engine -linference_engine_c_wrapper" >> "$pc"; \ + rm -rf ../bin/intel64/Release/lib/libtest* + +ARG libdir=/opt/intel/dldt/inference-engine/lib/centos_7.4/intel64 + +RUN mkdir -p /opt/intel/dldt/inference-engine/include && \ + cp -r dldt/inference-engine/include/* /opt/intel/dldt/inference-engine/include && \ + mkdir -p ${libdir} && \ + cp -r dldt/inference-engine/bin/intel64/Release/lib/* ${libdir} && \ + mkdir -p /opt/intel/dldt/inference-engine/src && \ + cp -r dldt/inference-engine/src/* /opt/intel/dldt/inference-engine/src/ && \ + mkdir -p /opt/intel/dldt/inference-engine/share && \ + cp -r dldt/inference-engine/build/share/* /opt/intel/dldt/inference-engine/share/ && \ + mkdir -p /opt/intel/dldt/inference-engine/external/omp/lib && \ + cp -r dldt/inference-engine/temp/omp/lib/* /opt/intel/dldt/inference-engine/external/omp/lib/ + +RUN mkdir -p build/opt/intel/dldt/inference-engine/include && \ + cp -r dldt/inference-engine/include/* build/opt/intel/dldt/inference-engine/include && \ + mkdir -p build${libdir} && \ + cp -r dldt/inference-engine/bin/intel64/Release/lib/* build${libdir} && \ + mkdir -p build/opt/intel/dldt/inference-engine/src && \ + cp -r dldt/inference-engine/src/* build/opt/intel/dldt/inference-engine/src/ && \ + mkdir -p build/opt/intel/dldt/inference-engine/share && \ + cp -r dldt/inference-engine/build/share/* build/opt/intel/dldt/inference-engine/share/ && \ + mkdir -p build/opt/intel/dldt/inference-engine/external/omp/lib && \ + cp -r dldt/inference-engine/temp/omp/lib/* build/opt/intel/dldt/inference-engine/external/omp/lib/ + +RUN for p in /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inference-engine; do \ + mkdir -p "${libdir}/pkgconfig" && \ + pc="${libdir}/pkgconfig/dldt.pc" && \ + echo "prefix=/opt" > "$pc" && \ + echo "libdir=${libdir}" >> "$pc" && \ + echo "includedir=/opt/intel/dldt/inference-engine/include" >> "$pc" && \ + echo "" >> "$pc" && \ + echo "Name: DLDT" >> "$pc" && \ + echo "Description: Intel Deep Learning Deployment Toolkit" >> "$pc" && \ + echo "Version: 5.0" >> "$pc" && \ + echo "" >> "$pc" && \ + echo "Libs: -L\${libdir} -linference_engine -linference_engine_c_wrapper" >> "$pc" && \ echo "Cflags: -I\${includedir}" >> "$pc"; \ done; -# Install automake -ARG AUTOMAKE_VER=1.14 -ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz +ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share +ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} + +#install Model Optimizer in the DLDT for Dev +ARG PYTHON_TRUSTED_HOST +ARG PYTHON_TRUSTED_INDEX_URL +#install MO dependencies +RUN yum install -y python36 +RUN yum install -y python36-devel +RUN yum install -y python36-setuptools +RUN easy_install-3.6 pip +#RUN pip3 install numpy scipy +RUN git clone https://github.com/google/protobuf.git && \ + cd protobuf && \ + git submodule update --init --recursive && \ + ./autogen.sh && \ + ./configure && \ + make && \ + make install && \ + make install DESTDIR=/home/build +#RUN apt-get update && apt-get install -y sudo +#installing dependency libs to mo_libs directory to avoid issues with updates to Python version +RUN cd dldt/model-optimizer && \ +if [ "x$PYTHON_TRUSTED_HOST" = "x" ] ; \ +then pip3 install --target=/home/build/mo_libs -r requirements.txt && \ +pip3 install -r requirements.txt; \ +else pip3 install --target=/home/build/mo_libs -r requirements.txt -i $PYTHON_TRUSTED_INDEX_URL --trusted-host $PYTHON_TRUSTED_HOST && \ +pip3 install -r requirements.txt -i $PYTHON_TRUSTED_INDEX_URL --trusted-host $PYTHON_TRUSTED_HOST; \ +fi + +#Copy over Model Optimizer to same directory as Inference Engine +RUN cp -r dldt/model-optimizer /opt/intel/dldt/model-optimizer +RUN cp -r dldt/model-optimizer /home/build/opt/intel/dldt/model-optimizer + -RUN wget -O - ${AUTOMAKE_REPO} | tar xJ && \ - cd automake-${AUTOMAKE_VER} && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --disable-doc && \ - make -j8 && \ - make install # Build the gstremaer core ARG GST_VER=1.14.4 ARG GST_REPO=https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${GST_VER}.tar.xz -RUN yum install -y -q glib2-devel-2.56.1 gettext-devel gtk-doc +RUN yum install -y -q glib2-devel-2.56.1 gettext-devel gobject-introspection python-gobject-base RUN wget -O - ${GST_REPO} | tar xJ && \ cd gstreamer-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples \ + --disable-gtk-doc && \ + make -j $(nproc) && \ + make install DESTDIR=/home/build && \ + make install; + +# Build the gstremaer plugin bad set +ARG GST_ORC_VER=0.4.28 +ARG GST_ORC_REPO=https://gstreamer.freedesktop.org/src/orc/orc-${GST_ORC_VER}.tar.xz + +RUN wget -O - ${GST_ORC_REPO} | tar xJ && \ + cd orc-${GST_ORC_VER} && \ + ./autogen.sh --prefix=/usr --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin base ARG GST_PLUGIN_BASE_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-${GST_VER}.tar.xz +RUN yum install -y -q libXv-devel libvisual-devel libtheora-devel glib2-devel alsa-lib-devel cdparanoia-devel mesa-libGL-devel pango-devel + RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ && \ cd gst-plugins-base-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install @@ -271,33 +353,53 @@ RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ && \ # Build the gstremaer plugin good set ARG GST_PLUGIN_GOOD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-${GST_VER}.tar.xz +RUN yum install -y -q libsoup-devel libjpeg-devel + RUN wget -O - ${GST_PLUGIN_GOOD_REPO} | tar xJ && \ cd gst-plugins-good-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install + # Build the gstremaer plugin bad set ARG GST_PLUGIN_BAD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-${GST_VER}.tar.xz +RUN yum install -y -q openssl-devel + RUN wget -O - ${GST_PLUGIN_BAD_REPO} | tar xJ && \ cd gst-plugins-bad-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin ugly set ARG GST_PLUGIN_UGLY_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ && \ - cd gst-plugins-ugly-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples && \ - make -j8 && \ +RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ; \ + cd gst-plugins-ugly-${GST_VER}; \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install @@ -308,9 +410,66 @@ RUN yum install -y -q zlib-devel openssl-devel RUN wget -O - ${GST_PLUGIN_LIBAV_REPO} | tar xJ && \ cd gst-libav-${GST_VER} && \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --enable-gpl && \ - make -j8 && \ - make install DESTDIR="/home/build" + ./autogen.sh \ + --prefix="/usr" \ + --libdir=/usr/lib64 \ + --enable-shared \ + --enable-gpl \ + --disable-gtk-doc && \ + make -j $(nproc) && \ + make install DESTDIR=/home/build && \ + make install + + +ARG OPENCV_VER=4.0.0 +ARG OPENCV_REPO=https://github.com/opencv/opencv/archive/${OPENCV_VER}.tar.gz + + +RUN wget ${OPENCV_REPO} && \ + tar -zxvf ${OPENCV_VER}.tar.gz && \ + cd opencv-${OPENCV_VER} && \ + mkdir build && \ + cd build && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -D BUILD_EXAMPLES=OFF -D BUILD_PERF_TESTS=OFF -D BUILD_DOCS=OFF -D BUILD_TESTS=OFF .. && \ + make -j $(nproc) && \ + make install DESTDIR=/home/build && \ + make install + + +RUN yum install -y -q glib2-devel gtk-dock openblas + +RUN yum install -y -q binutils + + +ARG PAHO_VER=1.3.0 +ARG PAHO_REPO=https://github.com/eclipse/paho.mqtt.c/archive/v${PAHO_VER}.tar.gz +RUN wget -O - https://github.com/eclipse/paho.mqtt.c/archive/v${PAHO_VER}.tar.gz | tar -xz; \ + cd paho.mqtt.c-${PAHO_VER}; \ + make; \ + make install; + +#Install va gstreamer plugins +#Has a dependency on OpenCV, GStreamer +ARG VA_GSTREAMER_PLUGINS_VER=0.3 +ARG VA_GSTREAMER_PLUGINS_REPO=https://github.com/opencv/gst-video-analytics/archive/v${VA_GSTREAMER_PLUGINS_VER}.tar.gz +RUN wget -O - ${VA_GSTREAMER_PLUGINS_REPO} | tar xz && \ + cd gst-video-analytics-${VA_GSTREAMER_PLUGINS_VER} && \ + mkdir build && \ + cd build && \ + export CFLAGS="-std=gnu99 -Wno-missing-field-initializers" && \ + export CXXFLAGS="-std=c++11 -Wno-missing-field-initializers" && \ + cmake \ + -DVERSION_PATCH=$(echo "$(git rev-list --count --first-parent HEAD)") \ + -DGIT_INFO=$(echo "git_$(git rev-parse --short HEAD)") \ + -DCMAKE_BUILD_TYPE=Release \ + -DDISABLE_SAMPLES=ON \ + -DDISABLE_VAAPI=ON \ + -DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX=/usr .. && \ + make -j4 +RUN mkdir -p build/usr/lib64/gstreamer-1.0 && \ + cp -r gst-video-analytics-${VA_GSTREAMER_PLUGINS_VER}/build/intel64/Release/lib/* build/usr/lib64/gstreamer-1.0 +RUN mkdir -p /usr/lib64/gstreamer-1.0 && \ + cp -r gst-video-analytics-${VA_GSTREAMER_PLUGINS_VER}/build/intel64/Release/lib/* /usr/lib64/gstreamer-1.0 @@ -370,10 +529,18 @@ WORKDIR /home # Prerequisites RUN yum install -y epel-release; \ - yum install -y -q libxcb SDL2 libass numactl glib2-2.56.1 libpng12 libXv ; \ + yum install -y -q libxcb SDL2 libass numactl glib2-2.56.1 pangolibpng12 libXv libvisual mesa-libGL pango glib2 openblas-serial \ +libsoup libjpeg-turbo python36 ; \ yum remove -y -q epel-release; \ rm -rf /var/cache/yum/*; # Install COPY --from=build /home/build / +ARG libdir=/opt/intel/dldt/inference-engine/lib/centos_7.4/intel64 +ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share +ENV PYTHONPATH=${PYTHONPATH}:/mo_libs +ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib64/gstreamer-1.0 +ENV PKG_CONFIG_PATH=/usr/lib64/pkgconfig +ENV LIBRARY_PATH=${LIBRARY_PATH}:/usr/lib +ENV PATH=${PATH}:/usr/bin diff --git a/Xeon/centos-7.4/ffmpeg+gst+dev/Dockerfile.m4 b/Xeon/centos-7.4/ffmpeg+gst+dev/Dockerfile.m4 index 1dc9c50f9..49c9cd99e 100644 --- a/Xeon/centos-7.4/ffmpeg+gst+dev/Dockerfile.m4 +++ b/Xeon/centos-7.4/ffmpeg+gst+dev/Dockerfile.m4 @@ -18,13 +18,15 @@ include(svt-av1.m4) include(svt-vp9.m4) #include(transform360.m4) include(dldt-ie.m4) -include(automake.m4) include(gst.m4) +include(gst-orc.m4) include(gst-plugin-base.m4) include(gst-plugin-good.m4) include(gst-plugin-bad.m4) include(gst-plugin-ugly.m4) include(gst-plugin-libav.m4) +include(opencv.m4) +include(gstreamer-videoanalytics.m4) include(ffmpeg.m4) include(cleanup.m4)dnl diff --git a/Xeon/centos-7.4/ffmpeg/Dockerfile b/Xeon/centos-7.4/ffmpeg/Dockerfile index b73759f32..faa8a535c 100644 --- a/Xeon/centos-7.4/ffmpeg/Dockerfile +++ b/Xeon/centos-7.4/ffmpeg/Dockerfile @@ -14,6 +14,15 @@ RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz make -j8 && \ make install +# Install automake, use version 1.14 on CentOS +ARG AUTOMAKE_VER=1.14 +ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz +RUN wget -O - ${AUTOMAKE_REPO} | tar xJ && \ + cd automake-${AUTOMAKE_VER} && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --disable-doc && \ + make -j8 && \ + make install + # Build NASM ARG NASM_VER=2.13.03 ARG NASM_REPO=https://www.nasm.us/pub/nasm/releasebuilds/${NASM_VER}/nasm-${NASM_VER}.tar.bz2 diff --git a/Xeon/centos-7.4/gst/Dockerfile b/Xeon/centos-7.4/gst/Dockerfile index 3f483f849..b562c023f 100644 --- a/Xeon/centos-7.4/gst/Dockerfile +++ b/Xeon/centos-7.4/gst/Dockerfile @@ -14,6 +14,15 @@ RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz make -j8 && \ make install +# Install automake, use version 1.14 on CentOS +ARG AUTOMAKE_VER=1.14 +ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz +RUN wget -O - ${AUTOMAKE_REPO} | tar xJ && \ + cd automake-${AUTOMAKE_VER} && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --disable-doc && \ + make -j8 && \ + make install + # Build NASM ARG NASM_VER=2.13.03 ARG NASM_REPO=https://www.nasm.us/pub/nasm/releasebuilds/${NASM_VER}/nasm-${NASM_VER}.tar.bz2 @@ -190,38 +199,41 @@ RUN git clone ${SVT_VP9_REPO} && \ make install DESTDIR=/home/build && \ make install ) -# Install automake -ARG AUTOMAKE_VER=1.14 -ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz - -RUN wget -O - ${AUTOMAKE_REPO} | tar xJ && \ - cd automake-${AUTOMAKE_VER} && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --disable-doc && \ - make -j8 && \ - make install - - # Build the gstremaer core ARG GST_VER=1.14.4 ARG GST_REPO=https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${GST_VER}.tar.xz -RUN yum install -y -q glib2-devel-2.56.1 gettext-devel gtk-doc +RUN yum install -y -q glib2-devel-2.56.1 gettext-devel gobject-introspection python-gobject-base RUN wget -O - ${GST_REPO} | tar xJ && \ cd gstreamer-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-gst-debug --disable-debug --disable-benchmarks --disable-check && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples --disable-gst-debug \ + --disable-debug \ + --disable-benchmarks \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ - make install + make install; # Build the gstremaer plugin base ARG GST_PLUGIN_BASE_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-${GST_VER}.tar.xz +RUN yum install -y -q libXv-devel libvisual-devel libtheora-devel glib2-devel alsa-lib-devel cdparanoia-devel mesa-libGL-devel pango-devel + RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ && \ cd gst-plugins-base-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples --disable-debug \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install @@ -229,33 +241,53 @@ RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ && \ # Build the gstremaer plugin good set ARG GST_PLUGIN_GOOD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-${GST_VER}.tar.xz +RUN yum install -y -q libsoup-devel libjpeg-devel + RUN wget -O - ${GST_PLUGIN_GOOD_REPO} | tar xJ && \ cd gst-plugins-good-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples --disable-debug \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install + # Build the gstremaer plugin bad set ARG GST_PLUGIN_BAD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-${GST_VER}.tar.xz +RUN yum install -y -q openssl-devel + RUN wget -O - ${GST_PLUGIN_BAD_REPO} | tar xJ && \ cd gst-plugins-bad-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples --disable-debug \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin ugly set ARG GST_PLUGIN_UGLY_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ && \ - cd gst-plugins-ugly-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug && \ - make -j8 && \ +RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ; \ + cd gst-plugins-ugly-${GST_VER}; \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples --disable-debug \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install @@ -266,10 +298,15 @@ RUN yum install -y -q zlib-devel openssl-devel RUN wget -O - ${GST_PLUGIN_LIBAV_REPO} | tar xJ && \ cd gst-libav-${GST_VER} && \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --enable-gpl && \ - make -j8 && \ - make install DESTDIR="/home/build" - + ./autogen.sh \ + --prefix="/usr" \ + --libdir=/usr/lib64 \ + --enable-shared \ + --enable-gpl \ + --disable-gtk-doc && \ + make -j $(nproc) && \ + make install DESTDIR=/home/build && \ + make install # Clean up after build @@ -286,7 +323,7 @@ WORKDIR /home # Prerequisites RUN yum install -y epel-release; \ - yum install -y -q numactl openssl glib2-2.56.1 libpng12 libXv ; \ + yum install -y -q numactl openssl glib2-2.56.1 pangolibpng12 libXv libvisual mesa-libGL pango glib2 libsoup libjpeg-turbo ; \ yum remove -y -q epel-release; \ rm -rf /var/cache/yum/*; diff --git a/Xeon/centos-7.4/gst/Dockerfile.m4 b/Xeon/centos-7.4/gst/Dockerfile.m4 index 25ad323bb..d2e87837f 100644 --- a/Xeon/centos-7.4/gst/Dockerfile.m4 +++ b/Xeon/centos-7.4/gst/Dockerfile.m4 @@ -16,7 +16,6 @@ include(libx265.m4) include(svt-hevc.m4) include(svt-av1.m4) include(svt-vp9.m4) -include(automake.m4) include(gst.m4) include(gst-plugin-base.m4) include(gst-plugin-good.m4) diff --git a/Xeon/centos-7.4/nginx+rtmp/Dockerfile b/Xeon/centos-7.4/nginx+rtmp/Dockerfile index 8bac181cf..f1994f68b 100644 --- a/Xeon/centos-7.4/nginx+rtmp/Dockerfile +++ b/Xeon/centos-7.4/nginx+rtmp/Dockerfile @@ -14,6 +14,15 @@ RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz make -j8 && \ make install +# Install automake, use version 1.14 on CentOS +ARG AUTOMAKE_VER=1.14 +ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz +RUN wget -O - ${AUTOMAKE_REPO} | tar xJ && \ + cd automake-${AUTOMAKE_VER} && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --disable-doc && \ + make -j8 && \ + make install + # Build nginx-rtmp ARG NGINX_RTMP_VER=v1.2.1 diff --git a/Xeon/centos-7.4/ospray/Dockerfile b/Xeon/centos-7.4/ospray/Dockerfile index dd50cb676..172f66c07 100644 --- a/Xeon/centos-7.4/ospray/Dockerfile +++ b/Xeon/centos-7.4/ospray/Dockerfile @@ -14,6 +14,15 @@ RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz make -j8 && \ make install +# Install automake, use version 1.14 on CentOS +ARG AUTOMAKE_VER=1.14 +ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz +RUN wget -O - ${AUTOMAKE_REPO} | tar xJ && \ + cd automake-${AUTOMAKE_VER} && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --disable-doc && \ + make -j8 && \ + make install + # Build NASM ARG NASM_VER=2.13.03 ARG NASM_REPO=https://www.nasm.us/pub/nasm/releasebuilds/${NASM_VER}/nasm-${NASM_VER}.tar.bz2 diff --git a/Xeon/centos-7.5/dldt+ffmpeg/Dockerfile b/Xeon/centos-7.5/dldt+ffmpeg/Dockerfile index 7707770b6..892195834 100644 --- a/Xeon/centos-7.5/dldt+ffmpeg/Dockerfile +++ b/Xeon/centos-7.5/dldt+ffmpeg/Dockerfile @@ -14,6 +14,15 @@ RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz make -j8 && \ make install +# Install automake, use version 1.14 on CentOS +ARG AUTOMAKE_VER=1.14 +ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz +RUN wget -O - ${AUTOMAKE_REPO} | tar xJ && \ + cd automake-${AUTOMAKE_VER} && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --disable-doc && \ + make -j8 && \ + make install + # Build NASM ARG NASM_VER=2.13.03 ARG NASM_REPO=https://www.nasm.us/pub/nasm/releasebuilds/${NASM_VER}/nasm-${NASM_VER}.tar.bz2 @@ -206,32 +215,60 @@ RUN git clone -b ${DLDT_VER} ${DLDT_REPO} && \ wget -O - ${DLDT_C_API_REPO} | patch -p2 && \ mkdir build && \ cd build && \ - cmake -DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_PATH=/usr/lib64 -DENABLE_MKL_DNN=ON -DENABLE_CLDNN=OFF -DENABLE_SAMPLES_CORE=OFF ..; \ - make -j16 && \ + cmake -DCMAKE_INSTALL_PREFIX=/opt/intel/dldt -DLIB_INSTALL_PATH=/opt/intel/dldt -DENABLE_MKL_DNN=ON -DENABLE_CLDNN=OFF -DENABLE_SAMPLE_CORE=OFF .. && \ + make -j $(nproc) && \ rm -rf ../bin/intel64/Release/lib/libgtest* && \ rm -rf ../bin/intel64/Release/lib/libgmock* && \ rm -rf ../bin/intel64/Release/lib/libmock* && \ - rm -rf ../bin/intel64/Release/lib/libtest* && \ - for p in /usr /home/build/usr; do \ - mkdir -p $p/include/dldt; \ - cp -r ../include/* $p/include/dldt; \ - libdir="$p/lib64"; \ - cp -r ../bin/intel64/Release/lib/* "$libdir"; \ - cp -r ../temp/omp/lib/* "$libdir"; \ - mkdir -p "$libdir/pkgconfig"; \ - pc="$libdir/pkgconfig/dldt.pc"; \ - echo "prefix=/usr" > "$pc"; \ - echo "libdir=/usr/lib64" >> "$pc"; \ - echo "includedir=/usr/include/dldt" >> "$pc"; \ - echo "" >> "$pc"; \ - echo "Name: DLDT" >> "$pc"; \ - echo "Description: Intel Deep Learning Deployment Toolkit" >> "$pc"; \ - echo "Version: 5.0" >> "$pc"; \ - echo "" >> "$pc"; \ - echo "Libs: -L\${libdir} -linference_engine -linference_engine_c_wrapper" >> "$pc"; \ + rm -rf ../bin/intel64/Release/lib/libtest* + +ARG libdir=/opt/intel/dldt/inference-engine/lib/centos_7.4/intel64 + +RUN mkdir -p /opt/intel/dldt/inference-engine/include && \ + cp -r dldt/inference-engine/include/* /opt/intel/dldt/inference-engine/include && \ + mkdir -p ${libdir} && \ + cp -r dldt/inference-engine/bin/intel64/Release/lib/* ${libdir} && \ + mkdir -p /opt/intel/dldt/inference-engine/src && \ + cp -r dldt/inference-engine/src/* /opt/intel/dldt/inference-engine/src/ && \ + mkdir -p /opt/intel/dldt/inference-engine/share && \ + cp -r dldt/inference-engine/build/share/* /opt/intel/dldt/inference-engine/share/ && \ + mkdir -p /opt/intel/dldt/inference-engine/external/omp/lib && \ + cp -r dldt/inference-engine/temp/omp/lib/* /opt/intel/dldt/inference-engine/external/omp/lib/ + +RUN mkdir -p build/opt/intel/dldt/inference-engine/include && \ + cp -r dldt/inference-engine/include/* build/opt/intel/dldt/inference-engine/include && \ + mkdir -p build${libdir} && \ + cp -r dldt/inference-engine/bin/intel64/Release/lib/* build${libdir} && \ + mkdir -p build/opt/intel/dldt/inference-engine/src && \ + cp -r dldt/inference-engine/src/* build/opt/intel/dldt/inference-engine/src/ && \ + mkdir -p build/opt/intel/dldt/inference-engine/share && \ + cp -r dldt/inference-engine/build/share/* build/opt/intel/dldt/inference-engine/share/ && \ + mkdir -p build/opt/intel/dldt/inference-engine/external/omp/lib && \ + cp -r dldt/inference-engine/temp/omp/lib/* build/opt/intel/dldt/inference-engine/external/omp/lib/ + +RUN for p in /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inference-engine; do \ + mkdir -p "${libdir}/pkgconfig" && \ + pc="${libdir}/pkgconfig/dldt.pc" && \ + echo "prefix=/opt" > "$pc" && \ + echo "libdir=${libdir}" >> "$pc" && \ + echo "includedir=/opt/intel/dldt/inference-engine/include" >> "$pc" && \ + echo "" >> "$pc" && \ + echo "Name: DLDT" >> "$pc" && \ + echo "Description: Intel Deep Learning Deployment Toolkit" >> "$pc" && \ + echo "Version: 5.0" >> "$pc" && \ + echo "" >> "$pc" && \ + echo "Libs: -L\${libdir} -linference_engine -linference_engine_c_wrapper" >> "$pc" && \ echo "Cflags: -I\${includedir}" >> "$pc"; \ done; +ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share +ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} + +#install Model Optimizer in the DLDT for Dev + + + + # Build librdkafka ARG LIBRDKAFKA_VER=0.11.6 ARG FILE_NAME=v${LIBRDKAFKA_VER} @@ -299,17 +336,19 @@ RUN rm -rf /home/build/usr/include && \ rm -rf /home/build/usr/share/man && \ find /home/build -name "*.a" -exec rm -f {} \; -FROM centos:7.5.1804 +FROM centos:7.5.1804 LABEL Description="This is the image for DLDT and FFMPEG on CentOS 7.5" LABEL Vendor="Intel Corporation" WORKDIR /home # Prerequisites RUN yum install -y epel-release; \ - yum install -y -q numactl ; \ + yum install -y -q numactl python36 ; \ yum remove -y -q epel-release; \ rm -rf /var/cache/yum/*; # Install COPY --from=build /home/build / +ARG libdir=/opt/intel/dldt/inference-engine/lib/centos_7.4/intel64 +ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share diff --git a/Xeon/centos-7.5/dldt+ffmpeg/Dockerfile.m4 b/Xeon/centos-7.5/dldt+ffmpeg/Dockerfile.m4 index 887c5e8d0..16c547711 100644 --- a/Xeon/centos-7.5/dldt+ffmpeg/Dockerfile.m4 +++ b/Xeon/centos-7.5/dldt+ffmpeg/Dockerfile.m4 @@ -22,7 +22,7 @@ include(librdkafka.m4) include(ffmpeg.m4) include(cleanup.m4)dnl -FROM centos:7.5.1804 +FROM centos:7.5.1804 LABEL Description="This is the image for DLDT and FFMPEG on CentOS 7.5" LABEL Vendor="Intel Corporation" WORKDIR /home diff --git a/Xeon/centos-7.5/dldt+gst/Dockerfile b/Xeon/centos-7.5/dldt+gst/Dockerfile index 04861875c..6bcdfdd34 100644 --- a/Xeon/centos-7.5/dldt+gst/Dockerfile +++ b/Xeon/centos-7.5/dldt+gst/Dockerfile @@ -14,6 +14,15 @@ RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz make -j8 && \ make install +# Install automake, use version 1.14 on CentOS +ARG AUTOMAKE_VER=1.14 +ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz +RUN wget -O - ${AUTOMAKE_REPO} | tar xJ && \ + cd automake-${AUTOMAKE_VER} && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --disable-doc && \ + make -j8 && \ + make install + # Build NASM ARG NASM_VER=2.13.03 ARG NASM_REPO=https://www.nasm.us/pub/nasm/releasebuilds/${NASM_VER}/nasm-${NASM_VER}.tar.bz2 @@ -205,64 +214,110 @@ RUN git clone -b ${DLDT_VER} ${DLDT_REPO} && \ wget -O - ${DLDT_C_API_REPO} | patch -p2 && \ mkdir build && \ cd build && \ - cmake -DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_PATH=/usr/lib64 -DENABLE_MKL_DNN=ON -DENABLE_CLDNN=OFF -DENABLE_SAMPLES_CORE=OFF ..; \ - make -j16 && \ + cmake -DCMAKE_INSTALL_PREFIX=/opt/intel/dldt -DLIB_INSTALL_PATH=/opt/intel/dldt -DENABLE_MKL_DNN=ON -DENABLE_CLDNN=OFF -DENABLE_SAMPLE_CORE=OFF .. && \ + make -j $(nproc) && \ rm -rf ../bin/intel64/Release/lib/libgtest* && \ rm -rf ../bin/intel64/Release/lib/libgmock* && \ rm -rf ../bin/intel64/Release/lib/libmock* && \ - rm -rf ../bin/intel64/Release/lib/libtest* && \ - for p in /usr /home/build/usr; do \ - mkdir -p $p/include/dldt; \ - cp -r ../include/* $p/include/dldt; \ - libdir="$p/lib64"; \ - cp -r ../bin/intel64/Release/lib/* "$libdir"; \ - cp -r ../temp/omp/lib/* "$libdir"; \ - mkdir -p "$libdir/pkgconfig"; \ - pc="$libdir/pkgconfig/dldt.pc"; \ - echo "prefix=/usr" > "$pc"; \ - echo "libdir=/usr/lib64" >> "$pc"; \ - echo "includedir=/usr/include/dldt" >> "$pc"; \ - echo "" >> "$pc"; \ - echo "Name: DLDT" >> "$pc"; \ - echo "Description: Intel Deep Learning Deployment Toolkit" >> "$pc"; \ - echo "Version: 5.0" >> "$pc"; \ - echo "" >> "$pc"; \ - echo "Libs: -L\${libdir} -linference_engine -linference_engine_c_wrapper" >> "$pc"; \ + rm -rf ../bin/intel64/Release/lib/libtest* + +ARG libdir=/opt/intel/dldt/inference-engine/lib/centos_7.4/intel64 + +RUN mkdir -p /opt/intel/dldt/inference-engine/include && \ + cp -r dldt/inference-engine/include/* /opt/intel/dldt/inference-engine/include && \ + mkdir -p ${libdir} && \ + cp -r dldt/inference-engine/bin/intel64/Release/lib/* ${libdir} && \ + mkdir -p /opt/intel/dldt/inference-engine/src && \ + cp -r dldt/inference-engine/src/* /opt/intel/dldt/inference-engine/src/ && \ + mkdir -p /opt/intel/dldt/inference-engine/share && \ + cp -r dldt/inference-engine/build/share/* /opt/intel/dldt/inference-engine/share/ && \ + mkdir -p /opt/intel/dldt/inference-engine/external/omp/lib && \ + cp -r dldt/inference-engine/temp/omp/lib/* /opt/intel/dldt/inference-engine/external/omp/lib/ + +RUN mkdir -p build/opt/intel/dldt/inference-engine/include && \ + cp -r dldt/inference-engine/include/* build/opt/intel/dldt/inference-engine/include && \ + mkdir -p build${libdir} && \ + cp -r dldt/inference-engine/bin/intel64/Release/lib/* build${libdir} && \ + mkdir -p build/opt/intel/dldt/inference-engine/src && \ + cp -r dldt/inference-engine/src/* build/opt/intel/dldt/inference-engine/src/ && \ + mkdir -p build/opt/intel/dldt/inference-engine/share && \ + cp -r dldt/inference-engine/build/share/* build/opt/intel/dldt/inference-engine/share/ && \ + mkdir -p build/opt/intel/dldt/inference-engine/external/omp/lib && \ + cp -r dldt/inference-engine/temp/omp/lib/* build/opt/intel/dldt/inference-engine/external/omp/lib/ + +RUN for p in /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inference-engine; do \ + mkdir -p "${libdir}/pkgconfig" && \ + pc="${libdir}/pkgconfig/dldt.pc" && \ + echo "prefix=/opt" > "$pc" && \ + echo "libdir=${libdir}" >> "$pc" && \ + echo "includedir=/opt/intel/dldt/inference-engine/include" >> "$pc" && \ + echo "" >> "$pc" && \ + echo "Name: DLDT" >> "$pc" && \ + echo "Description: Intel Deep Learning Deployment Toolkit" >> "$pc" && \ + echo "Version: 5.0" >> "$pc" && \ + echo "" >> "$pc" && \ + echo "Libs: -L\${libdir} -linference_engine -linference_engine_c_wrapper" >> "$pc" && \ echo "Cflags: -I\${includedir}" >> "$pc"; \ done; -# Install automake -ARG AUTOMAKE_VER=1.14 -ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz +ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share +ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} + +#install Model Optimizer in the DLDT for Dev + -RUN wget -O - ${AUTOMAKE_REPO} | tar xJ && \ - cd automake-${AUTOMAKE_VER} && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --disable-doc && \ - make -j8 && \ - make install # Build the gstremaer core ARG GST_VER=1.14.4 ARG GST_REPO=https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${GST_VER}.tar.xz -RUN yum install -y -q glib2-devel-2.56.1 gettext-devel gtk-doc +RUN yum install -y -q glib2-devel-2.56.1 gettext-devel gobject-introspection python-gobject-base RUN wget -O - ${GST_REPO} | tar xJ && \ cd gstreamer-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-gst-debug --disable-debug --disable-benchmarks --disable-check && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples --disable-gst-debug \ + --disable-debug \ + --disable-benchmarks \ + --disable-gtk-doc && \ + make -j $(nproc) && \ + make install DESTDIR=/home/build && \ + make install; + +# Build the gstremaer plugin bad set +ARG GST_ORC_VER=0.4.28 +ARG GST_ORC_REPO=https://gstreamer.freedesktop.org/src/orc/orc-${GST_ORC_VER}.tar.xz + +RUN wget -O - ${GST_ORC_REPO} | tar xJ && \ + cd orc-${GST_ORC_VER} && \ + ./autogen.sh --prefix=/usr --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples --disable-debug \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin base ARG GST_PLUGIN_BASE_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-${GST_VER}.tar.xz +RUN yum install -y -q libXv-devel libvisual-devel libtheora-devel glib2-devel alsa-lib-devel cdparanoia-devel mesa-libGL-devel pango-devel + RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ && \ cd gst-plugins-base-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples --disable-debug \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install @@ -270,33 +325,53 @@ RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ && \ # Build the gstremaer plugin good set ARG GST_PLUGIN_GOOD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-${GST_VER}.tar.xz +RUN yum install -y -q libsoup-devel libjpeg-devel + RUN wget -O - ${GST_PLUGIN_GOOD_REPO} | tar xJ && \ cd gst-plugins-good-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples --disable-debug \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install + # Build the gstremaer plugin bad set ARG GST_PLUGIN_BAD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-${GST_VER}.tar.xz +RUN yum install -y -q openssl-devel + RUN wget -O - ${GST_PLUGIN_BAD_REPO} | tar xJ && \ cd gst-plugins-bad-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples --disable-debug \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin ugly set ARG GST_PLUGIN_UGLY_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ && \ - cd gst-plugins-ugly-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug && \ - make -j8 && \ +RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ; \ + cd gst-plugins-ugly-${GST_VER}; \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples --disable-debug \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install @@ -307,9 +382,65 @@ RUN yum install -y -q zlib-devel openssl-devel RUN wget -O - ${GST_PLUGIN_LIBAV_REPO} | tar xJ && \ cd gst-libav-${GST_VER} && \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --enable-gpl && \ - make -j8 && \ - make install DESTDIR="/home/build" + ./autogen.sh \ + --prefix="/usr" \ + --libdir=/usr/lib64 \ + --enable-shared \ + --enable-gpl \ + --disable-gtk-doc && \ + make -j $(nproc) && \ + make install DESTDIR=/home/build && \ + make install + + +ARG OPENCV_VER=4.0.0 +ARG OPENCV_REPO=https://github.com/opencv/opencv/archive/${OPENCV_VER}.tar.gz + + +RUN wget ${OPENCV_REPO} && \ + tar -zxvf ${OPENCV_VER}.tar.gz && \ + cd opencv-${OPENCV_VER} && \ + mkdir build && \ + cd build && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -D BUILD_EXAMPLES=OFF -D BUILD_PERF_TESTS=OFF -D BUILD_DOCS=OFF -D BUILD_TESTS=OFF .. && \ + make -j $(nproc) && \ + make install DESTDIR=/home/build && \ + make install + + +RUN yum install -y -q glib2-devel gtk-dock openblas + + + +ARG PAHO_VER=1.3.0 +ARG PAHO_REPO=https://github.com/eclipse/paho.mqtt.c/archive/v${PAHO_VER}.tar.gz +RUN wget -O - https://github.com/eclipse/paho.mqtt.c/archive/v${PAHO_VER}.tar.gz | tar -xz; \ + cd paho.mqtt.c-${PAHO_VER}; \ + make; \ + make install; + +#Install va gstreamer plugins +#Has a dependency on OpenCV, GStreamer +ARG VA_GSTREAMER_PLUGINS_VER=0.3 +ARG VA_GSTREAMER_PLUGINS_REPO=https://github.com/opencv/gst-video-analytics/archive/v${VA_GSTREAMER_PLUGINS_VER}.tar.gz +RUN wget -O - ${VA_GSTREAMER_PLUGINS_REPO} | tar xz && \ + cd gst-video-analytics-${VA_GSTREAMER_PLUGINS_VER} && \ + mkdir build && \ + cd build && \ + export CFLAGS="-std=gnu99 -Wno-missing-field-initializers" && \ + export CXXFLAGS="-std=c++11 -Wno-missing-field-initializers" && \ + cmake \ + -DVERSION_PATCH=$(echo "$(git rev-list --count --first-parent HEAD)") \ + -DGIT_INFO=$(echo "git_$(git rev-parse --short HEAD)") \ + -DCMAKE_BUILD_TYPE=Release \ + -DDISABLE_SAMPLES=ON \ + -DDISABLE_VAAPI=ON \ + -DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX=/usr .. && \ + make -j4 +RUN mkdir -p build/usr/lib64/gstreamer-1.0 && \ + cp -r gst-video-analytics-${VA_GSTREAMER_PLUGINS_VER}/build/intel64/Release/lib/* build/usr/lib64/gstreamer-1.0 +RUN mkdir -p /usr/lib64/gstreamer-1.0 && \ + cp -r gst-video-analytics-${VA_GSTREAMER_PLUGINS_VER}/build/intel64/Release/lib/* /usr/lib64/gstreamer-1.0 @@ -320,17 +451,24 @@ RUN rm -rf /home/build/usr/include && \ rm -rf /home/build/usr/share/man && \ find /home/build -name "*.a" -exec rm -f {} \; -FROM centos:7.5.1804 +FROM centos:7.5.1804 LABEL Description="This is the image for DLDT and GSTREAMER on CentOS 7.5" LABEL Vendor="Intel Corporation" WORKDIR /home # Prerequisites RUN yum install -y epel-release; \ - yum install -y -q numactl openssl glib2-2.56.1 libpng12 libXv ; \ + yum install -y -q numactl openssl glib2-2.56.1 pangolibpng12 libXv libvisual mesa-libGL pango glib2 openblas-serial \ +libsoup libjpeg-turbo python36 ; \ yum remove -y -q epel-release; \ rm -rf /var/cache/yum/*; # Install COPY --from=build /home/build / +ARG libdir=/opt/intel/dldt/inference-engine/lib/centos_7.4/intel64 +ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share +ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib64/gstreamer-1.0 +ENV PKG_CONFIG_PATH=/usr/lib64/pkgconfig +ENV LIBRARY_PATH=${LIBRARY_PATH}:/usr/lib +ENV PATH=${PATH}:/usr/bin diff --git a/Xeon/centos-7.5/dldt+gst/Dockerfile.m4 b/Xeon/centos-7.5/dldt+gst/Dockerfile.m4 index 82f0c15dc..cef51caef 100644 --- a/Xeon/centos-7.5/dldt+gst/Dockerfile.m4 +++ b/Xeon/centos-7.5/dldt+gst/Dockerfile.m4 @@ -17,16 +17,18 @@ include(svt-hevc.m4) include(svt-av1.m4) include(svt-vp9.m4) include(dldt-ie.m4) -include(automake.m4) include(gst.m4) +include(gst-orc.m4) include(gst-plugin-base.m4) include(gst-plugin-good.m4) include(gst-plugin-bad.m4) include(gst-plugin-ugly.m4) include(gst-plugin-libav.m4) +include(opencv.m4) +include(gstreamer-videoanalytics.m4) include(cleanup.m4)dnl -FROM centos:7.5.1804 +FROM centos:7.5.1804 LABEL Description="This is the image for DLDT and GSTREAMER on CentOS 7.5" LABEL Vendor="Intel Corporation" WORKDIR /home diff --git a/Xeon/centos-7.5/ffmpeg+gst+dev/Dockerfile b/Xeon/centos-7.5/ffmpeg+gst+dev/Dockerfile index c624dbd0e..26677397d 100644 --- a/Xeon/centos-7.5/ffmpeg+gst+dev/Dockerfile +++ b/Xeon/centos-7.5/ffmpeg+gst+dev/Dockerfile @@ -14,6 +14,15 @@ RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz make -j8 && \ make install +# Install automake, use version 1.14 on CentOS +ARG AUTOMAKE_VER=1.14 +ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz +RUN wget -O - ${AUTOMAKE_REPO} | tar xJ && \ + cd automake-${AUTOMAKE_VER} && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --disable-doc && \ + make -j8 && \ + make install + # Build NASM ARG NASM_VER=2.13.03 ARG NASM_REPO=https://www.nasm.us/pub/nasm/releasebuilds/${NASM_VER}/nasm-${NASM_VER}.tar.bz2 @@ -206,64 +215,137 @@ RUN git clone -b ${DLDT_VER} ${DLDT_REPO} && \ wget -O - ${DLDT_C_API_REPO} | patch -p2 && \ mkdir build && \ cd build && \ - cmake -DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_PATH=/usr/lib64 -DENABLE_MKL_DNN=ON -DENABLE_CLDNN=OFF -DENABLE_SAMPLES_CORE=OFF ..; \ - make -j16 && \ + cmake -DCMAKE_INSTALL_PREFIX=/opt/intel/dldt -DLIB_INSTALL_PATH=/opt/intel/dldt -DENABLE_MKL_DNN=ON -DENABLE_CLDNN=OFF -DENABLE_SAMPLE_CORE=OFF .. && \ + make -j $(nproc) && \ rm -rf ../bin/intel64/Release/lib/libgtest* && \ rm -rf ../bin/intel64/Release/lib/libgmock* && \ rm -rf ../bin/intel64/Release/lib/libmock* && \ - rm -rf ../bin/intel64/Release/lib/libtest* && \ - for p in /usr /home/build/usr; do \ - mkdir -p $p/include/dldt; \ - cp -r ../include/* $p/include/dldt; \ - libdir="$p/lib64"; \ - cp -r ../bin/intel64/Release/lib/* "$libdir"; \ - cp -r ../temp/omp/lib/* "$libdir"; \ - mkdir -p "$libdir/pkgconfig"; \ - pc="$libdir/pkgconfig/dldt.pc"; \ - echo "prefix=/usr" > "$pc"; \ - echo "libdir=/usr/lib64" >> "$pc"; \ - echo "includedir=/usr/include/dldt" >> "$pc"; \ - echo "" >> "$pc"; \ - echo "Name: DLDT" >> "$pc"; \ - echo "Description: Intel Deep Learning Deployment Toolkit" >> "$pc"; \ - echo "Version: 5.0" >> "$pc"; \ - echo "" >> "$pc"; \ - echo "Libs: -L\${libdir} -linference_engine -linference_engine_c_wrapper" >> "$pc"; \ + rm -rf ../bin/intel64/Release/lib/libtest* + +ARG libdir=/opt/intel/dldt/inference-engine/lib/centos_7.4/intel64 + +RUN mkdir -p /opt/intel/dldt/inference-engine/include && \ + cp -r dldt/inference-engine/include/* /opt/intel/dldt/inference-engine/include && \ + mkdir -p ${libdir} && \ + cp -r dldt/inference-engine/bin/intel64/Release/lib/* ${libdir} && \ + mkdir -p /opt/intel/dldt/inference-engine/src && \ + cp -r dldt/inference-engine/src/* /opt/intel/dldt/inference-engine/src/ && \ + mkdir -p /opt/intel/dldt/inference-engine/share && \ + cp -r dldt/inference-engine/build/share/* /opt/intel/dldt/inference-engine/share/ && \ + mkdir -p /opt/intel/dldt/inference-engine/external/omp/lib && \ + cp -r dldt/inference-engine/temp/omp/lib/* /opt/intel/dldt/inference-engine/external/omp/lib/ + +RUN mkdir -p build/opt/intel/dldt/inference-engine/include && \ + cp -r dldt/inference-engine/include/* build/opt/intel/dldt/inference-engine/include && \ + mkdir -p build${libdir} && \ + cp -r dldt/inference-engine/bin/intel64/Release/lib/* build${libdir} && \ + mkdir -p build/opt/intel/dldt/inference-engine/src && \ + cp -r dldt/inference-engine/src/* build/opt/intel/dldt/inference-engine/src/ && \ + mkdir -p build/opt/intel/dldt/inference-engine/share && \ + cp -r dldt/inference-engine/build/share/* build/opt/intel/dldt/inference-engine/share/ && \ + mkdir -p build/opt/intel/dldt/inference-engine/external/omp/lib && \ + cp -r dldt/inference-engine/temp/omp/lib/* build/opt/intel/dldt/inference-engine/external/omp/lib/ + +RUN for p in /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inference-engine; do \ + mkdir -p "${libdir}/pkgconfig" && \ + pc="${libdir}/pkgconfig/dldt.pc" && \ + echo "prefix=/opt" > "$pc" && \ + echo "libdir=${libdir}" >> "$pc" && \ + echo "includedir=/opt/intel/dldt/inference-engine/include" >> "$pc" && \ + echo "" >> "$pc" && \ + echo "Name: DLDT" >> "$pc" && \ + echo "Description: Intel Deep Learning Deployment Toolkit" >> "$pc" && \ + echo "Version: 5.0" >> "$pc" && \ + echo "" >> "$pc" && \ + echo "Libs: -L\${libdir} -linference_engine -linference_engine_c_wrapper" >> "$pc" && \ echo "Cflags: -I\${includedir}" >> "$pc"; \ done; -# Install automake -ARG AUTOMAKE_VER=1.14 -ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz +ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share +ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} + +#install Model Optimizer in the DLDT for Dev +ARG PYTHON_TRUSTED_HOST +ARG PYTHON_TRUSTED_INDEX_URL +#install MO dependencies +RUN yum install -y python36 +RUN yum install -y python36-devel +RUN yum install -y python36-setuptools +RUN easy_install-3.6 pip +#RUN pip3 install numpy scipy +RUN git clone https://github.com/google/protobuf.git && \ + cd protobuf && \ + git submodule update --init --recursive && \ + ./autogen.sh && \ + ./configure && \ + make && \ + make install && \ + make install DESTDIR=/home/build +#RUN apt-get update && apt-get install -y sudo +#installing dependency libs to mo_libs directory to avoid issues with updates to Python version +RUN cd dldt/model-optimizer && \ +if [ "x$PYTHON_TRUSTED_HOST" = "x" ] ; \ +then pip3 install --target=/home/build/mo_libs -r requirements.txt && \ +pip3 install -r requirements.txt; \ +else pip3 install --target=/home/build/mo_libs -r requirements.txt -i $PYTHON_TRUSTED_INDEX_URL --trusted-host $PYTHON_TRUSTED_HOST && \ +pip3 install -r requirements.txt -i $PYTHON_TRUSTED_INDEX_URL --trusted-host $PYTHON_TRUSTED_HOST; \ +fi + +#Copy over Model Optimizer to same directory as Inference Engine +RUN cp -r dldt/model-optimizer /opt/intel/dldt/model-optimizer +RUN cp -r dldt/model-optimizer /home/build/opt/intel/dldt/model-optimizer + -RUN wget -O - ${AUTOMAKE_REPO} | tar xJ && \ - cd automake-${AUTOMAKE_VER} && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --disable-doc && \ - make -j8 && \ - make install # Build the gstremaer core ARG GST_VER=1.14.4 ARG GST_REPO=https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${GST_VER}.tar.xz -RUN yum install -y -q glib2-devel-2.56.1 gettext-devel gtk-doc +RUN yum install -y -q glib2-devel-2.56.1 gettext-devel gobject-introspection python-gobject-base RUN wget -O - ${GST_REPO} | tar xJ && \ cd gstreamer-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples \ + --disable-gtk-doc && \ + make -j $(nproc) && \ + make install DESTDIR=/home/build && \ + make install; + +# Build the gstremaer plugin bad set +ARG GST_ORC_VER=0.4.28 +ARG GST_ORC_REPO=https://gstreamer.freedesktop.org/src/orc/orc-${GST_ORC_VER}.tar.xz + +RUN wget -O - ${GST_ORC_REPO} | tar xJ && \ + cd orc-${GST_ORC_VER} && \ + ./autogen.sh --prefix=/usr --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin base ARG GST_PLUGIN_BASE_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-${GST_VER}.tar.xz +RUN yum install -y -q libXv-devel libvisual-devel libtheora-devel glib2-devel alsa-lib-devel cdparanoia-devel mesa-libGL-devel pango-devel + RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ && \ cd gst-plugins-base-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install @@ -271,33 +353,53 @@ RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ && \ # Build the gstremaer plugin good set ARG GST_PLUGIN_GOOD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-${GST_VER}.tar.xz +RUN yum install -y -q libsoup-devel libjpeg-devel + RUN wget -O - ${GST_PLUGIN_GOOD_REPO} | tar xJ && \ cd gst-plugins-good-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install + # Build the gstremaer plugin bad set ARG GST_PLUGIN_BAD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-${GST_VER}.tar.xz +RUN yum install -y -q openssl-devel + RUN wget -O - ${GST_PLUGIN_BAD_REPO} | tar xJ && \ cd gst-plugins-bad-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin ugly set ARG GST_PLUGIN_UGLY_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ && \ - cd gst-plugins-ugly-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples && \ - make -j8 && \ +RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ; \ + cd gst-plugins-ugly-${GST_VER}; \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install @@ -308,9 +410,65 @@ RUN yum install -y -q zlib-devel openssl-devel RUN wget -O - ${GST_PLUGIN_LIBAV_REPO} | tar xJ && \ cd gst-libav-${GST_VER} && \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --enable-gpl && \ - make -j8 && \ - make install DESTDIR="/home/build" + ./autogen.sh \ + --prefix="/usr" \ + --libdir=/usr/lib64 \ + --enable-shared \ + --enable-gpl \ + --disable-gtk-doc && \ + make -j $(nproc) && \ + make install DESTDIR=/home/build && \ + make install + + +ARG OPENCV_VER=4.0.0 +ARG OPENCV_REPO=https://github.com/opencv/opencv/archive/${OPENCV_VER}.tar.gz + + +RUN wget ${OPENCV_REPO} && \ + tar -zxvf ${OPENCV_VER}.tar.gz && \ + cd opencv-${OPENCV_VER} && \ + mkdir build && \ + cd build && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -D BUILD_EXAMPLES=OFF -D BUILD_PERF_TESTS=OFF -D BUILD_DOCS=OFF -D BUILD_TESTS=OFF .. && \ + make -j $(nproc) && \ + make install DESTDIR=/home/build && \ + make install + + +RUN yum install -y -q glib2-devel gtk-dock openblas + + + +ARG PAHO_VER=1.3.0 +ARG PAHO_REPO=https://github.com/eclipse/paho.mqtt.c/archive/v${PAHO_VER}.tar.gz +RUN wget -O - https://github.com/eclipse/paho.mqtt.c/archive/v${PAHO_VER}.tar.gz | tar -xz; \ + cd paho.mqtt.c-${PAHO_VER}; \ + make; \ + make install; + +#Install va gstreamer plugins +#Has a dependency on OpenCV, GStreamer +ARG VA_GSTREAMER_PLUGINS_VER=0.3 +ARG VA_GSTREAMER_PLUGINS_REPO=https://github.com/opencv/gst-video-analytics/archive/v${VA_GSTREAMER_PLUGINS_VER}.tar.gz +RUN wget -O - ${VA_GSTREAMER_PLUGINS_REPO} | tar xz && \ + cd gst-video-analytics-${VA_GSTREAMER_PLUGINS_VER} && \ + mkdir build && \ + cd build && \ + export CFLAGS="-std=gnu99 -Wno-missing-field-initializers" && \ + export CXXFLAGS="-std=c++11 -Wno-missing-field-initializers" && \ + cmake \ + -DVERSION_PATCH=$(echo "$(git rev-list --count --first-parent HEAD)") \ + -DGIT_INFO=$(echo "git_$(git rev-parse --short HEAD)") \ + -DCMAKE_BUILD_TYPE=Release \ + -DDISABLE_SAMPLES=ON \ + -DDISABLE_VAAPI=ON \ + -DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX=/usr .. && \ + make -j4 +RUN mkdir -p build/usr/lib64/gstreamer-1.0 && \ + cp -r gst-video-analytics-${VA_GSTREAMER_PLUGINS_VER}/build/intel64/Release/lib/* build/usr/lib64/gstreamer-1.0 +RUN mkdir -p /usr/lib64/gstreamer-1.0 && \ + cp -r gst-video-analytics-${VA_GSTREAMER_PLUGINS_VER}/build/intel64/Release/lib/* /usr/lib64/gstreamer-1.0 @@ -363,17 +521,25 @@ RUN cd /home/FFmpeg && \ -FROM centos:7.5.1804 +FROM centos:7.5.1804 LABEL Description="This is the image for FFMPEG and GSTREAMER application development on CentOS 7.5" LABEL Vendor="Intel Corporation" WORKDIR /home # Prerequisites RUN yum install -y epel-release; \ - yum install -y -q libxcb SDL2 libass numactl glib2-2.56.1 libpng12 libXv ; \ + yum install -y -q libxcb SDL2 libass numactl glib2-2.56.1 pangolibpng12 libXv libvisual mesa-libGL pango glib2 openblas-serial \ +libsoup libjpeg-turbo python36 ; \ yum remove -y -q epel-release; \ rm -rf /var/cache/yum/*; # Install COPY --from=build /home/build / +ARG libdir=/opt/intel/dldt/inference-engine/lib/centos_7.4/intel64 +ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share +ENV PYTHONPATH=${PYTHONPATH}:/mo_libs +ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib64/gstreamer-1.0 +ENV PKG_CONFIG_PATH=/usr/lib64/pkgconfig +ENV LIBRARY_PATH=${LIBRARY_PATH}:/usr/lib +ENV PATH=${PATH}:/usr/bin diff --git a/Xeon/centos-7.5/ffmpeg+gst+dev/Dockerfile.m4 b/Xeon/centos-7.5/ffmpeg+gst+dev/Dockerfile.m4 index c9d0c448b..e002b05db 100644 --- a/Xeon/centos-7.5/ffmpeg+gst+dev/Dockerfile.m4 +++ b/Xeon/centos-7.5/ffmpeg+gst+dev/Dockerfile.m4 @@ -18,17 +18,19 @@ include(svt-av1.m4) include(svt-vp9.m4) #include(transform360.m4) include(dldt-ie.m4) -include(automake.m4) include(gst.m4) +include(gst-orc.m4) include(gst-plugin-base.m4) include(gst-plugin-good.m4) include(gst-plugin-bad.m4) include(gst-plugin-ugly.m4) include(gst-plugin-libav.m4) +include(opencv.m4) +include(gstreamer-videoanalytics.m4) include(ffmpeg.m4) include(cleanup.m4)dnl -FROM centos:7.5.1804 +FROM centos:7.5.1804 LABEL Description="This is the image for FFMPEG and GSTREAMER application development on CentOS 7.5" LABEL Vendor="Intel Corporation" WORKDIR /home diff --git a/Xeon/centos-7.5/ffmpeg/Dockerfile b/Xeon/centos-7.5/ffmpeg/Dockerfile index 9320148a9..a76d5270d 100644 --- a/Xeon/centos-7.5/ffmpeg/Dockerfile +++ b/Xeon/centos-7.5/ffmpeg/Dockerfile @@ -14,6 +14,15 @@ RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz make -j8 && \ make install +# Install automake, use version 1.14 on CentOS +ARG AUTOMAKE_VER=1.14 +ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz +RUN wget -O - ${AUTOMAKE_REPO} | tar xJ && \ + cd automake-${AUTOMAKE_VER} && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --disable-doc && \ + make -j8 && \ + make install + # Build NASM ARG NASM_VER=2.13.03 ARG NASM_REPO=https://www.nasm.us/pub/nasm/releasebuilds/${NASM_VER}/nasm-${NASM_VER}.tar.bz2 diff --git a/Xeon/centos-7.5/gst/Dockerfile b/Xeon/centos-7.5/gst/Dockerfile index b9542847d..38ca5be53 100644 --- a/Xeon/centos-7.5/gst/Dockerfile +++ b/Xeon/centos-7.5/gst/Dockerfile @@ -14,6 +14,15 @@ RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz make -j8 && \ make install +# Install automake, use version 1.14 on CentOS +ARG AUTOMAKE_VER=1.14 +ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz +RUN wget -O - ${AUTOMAKE_REPO} | tar xJ && \ + cd automake-${AUTOMAKE_VER} && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --disable-doc && \ + make -j8 && \ + make install + # Build NASM ARG NASM_VER=2.13.03 ARG NASM_REPO=https://www.nasm.us/pub/nasm/releasebuilds/${NASM_VER}/nasm-${NASM_VER}.tar.bz2 @@ -190,38 +199,41 @@ RUN git clone ${SVT_VP9_REPO} && \ make install DESTDIR=/home/build && \ make install ) -# Install automake -ARG AUTOMAKE_VER=1.14 -ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz - -RUN wget -O - ${AUTOMAKE_REPO} | tar xJ && \ - cd automake-${AUTOMAKE_VER} && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --disable-doc && \ - make -j8 && \ - make install - - # Build the gstremaer core ARG GST_VER=1.14.4 ARG GST_REPO=https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${GST_VER}.tar.xz -RUN yum install -y -q glib2-devel-2.56.1 gettext-devel gtk-doc +RUN yum install -y -q glib2-devel-2.56.1 gettext-devel gobject-introspection python-gobject-base RUN wget -O - ${GST_REPO} | tar xJ && \ cd gstreamer-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-gst-debug --disable-debug --disable-benchmarks --disable-check && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples --disable-gst-debug \ + --disable-debug \ + --disable-benchmarks \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ - make install + make install; # Build the gstremaer plugin base ARG GST_PLUGIN_BASE_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-${GST_VER}.tar.xz +RUN yum install -y -q libXv-devel libvisual-devel libtheora-devel glib2-devel alsa-lib-devel cdparanoia-devel mesa-libGL-devel pango-devel + RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ && \ cd gst-plugins-base-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples --disable-debug \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install @@ -229,33 +241,53 @@ RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ && \ # Build the gstremaer plugin good set ARG GST_PLUGIN_GOOD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-${GST_VER}.tar.xz +RUN yum install -y -q libsoup-devel libjpeg-devel + RUN wget -O - ${GST_PLUGIN_GOOD_REPO} | tar xJ && \ cd gst-plugins-good-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples --disable-debug \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install + # Build the gstremaer plugin bad set ARG GST_PLUGIN_BAD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-${GST_VER}.tar.xz +RUN yum install -y -q openssl-devel + RUN wget -O - ${GST_PLUGIN_BAD_REPO} | tar xJ && \ cd gst-plugins-bad-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples --disable-debug \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin ugly set ARG GST_PLUGIN_UGLY_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ && \ - cd gst-plugins-ugly-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug && \ - make -j8 && \ +RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ; \ + cd gst-plugins-ugly-${GST_VER}; \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples --disable-debug \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install @@ -266,10 +298,15 @@ RUN yum install -y -q zlib-devel openssl-devel RUN wget -O - ${GST_PLUGIN_LIBAV_REPO} | tar xJ && \ cd gst-libav-${GST_VER} && \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --enable-gpl && \ - make -j8 && \ - make install DESTDIR="/home/build" - + ./autogen.sh \ + --prefix="/usr" \ + --libdir=/usr/lib64 \ + --enable-shared \ + --enable-gpl \ + --disable-gtk-doc && \ + make -j $(nproc) && \ + make install DESTDIR=/home/build && \ + make install # Clean up after build @@ -286,7 +323,7 @@ WORKDIR /home # Prerequisites RUN yum install -y epel-release; \ - yum install -y -q numactl openssl glib2-2.56.1 libpng12 libXv ; \ + yum install -y -q numactl openssl glib2-2.56.1 pangolibpng12 libXv libvisual mesa-libGL pango glib2 libsoup libjpeg-turbo ; \ yum remove -y -q epel-release; \ rm -rf /var/cache/yum/*; diff --git a/Xeon/centos-7.5/gst/Dockerfile.m4 b/Xeon/centos-7.5/gst/Dockerfile.m4 index 40cf614d1..b6db3f7c2 100644 --- a/Xeon/centos-7.5/gst/Dockerfile.m4 +++ b/Xeon/centos-7.5/gst/Dockerfile.m4 @@ -16,7 +16,6 @@ include(libx265.m4) include(svt-hevc.m4) include(svt-av1.m4) include(svt-vp9.m4) -include(automake.m4) include(gst.m4) include(gst-plugin-base.m4) include(gst-plugin-good.m4) diff --git a/Xeon/centos-7.5/nginx+rtmp/Dockerfile b/Xeon/centos-7.5/nginx+rtmp/Dockerfile index d6ddf564c..00de9754c 100644 --- a/Xeon/centos-7.5/nginx+rtmp/Dockerfile +++ b/Xeon/centos-7.5/nginx+rtmp/Dockerfile @@ -14,6 +14,15 @@ RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz make -j8 && \ make install +# Install automake, use version 1.14 on CentOS +ARG AUTOMAKE_VER=1.14 +ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz +RUN wget -O - ${AUTOMAKE_REPO} | tar xJ && \ + cd automake-${AUTOMAKE_VER} && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --disable-doc && \ + make -j8 && \ + make install + # Build nginx-rtmp ARG NGINX_RTMP_VER=v1.2.1 diff --git a/Xeon/centos-7.5/ospray/Dockerfile b/Xeon/centos-7.5/ospray/Dockerfile index e85ec48cd..b9cdde61b 100644 --- a/Xeon/centos-7.5/ospray/Dockerfile +++ b/Xeon/centos-7.5/ospray/Dockerfile @@ -14,6 +14,15 @@ RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz make -j8 && \ make install +# Install automake, use version 1.14 on CentOS +ARG AUTOMAKE_VER=1.14 +ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz +RUN wget -O - ${AUTOMAKE_REPO} | tar xJ && \ + cd automake-${AUTOMAKE_VER} && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --disable-doc && \ + make -j8 && \ + make install + # Build NASM ARG NASM_VER=2.13.03 ARG NASM_REPO=https://www.nasm.us/pub/nasm/releasebuilds/${NASM_VER}/nasm-${NASM_VER}.tar.bz2 diff --git a/Xeon/centos-7.6/dldt+ffmpeg/Dockerfile b/Xeon/centos-7.6/dldt+ffmpeg/Dockerfile index 4373c5ba0..c59ced8fb 100644 --- a/Xeon/centos-7.6/dldt+ffmpeg/Dockerfile +++ b/Xeon/centos-7.6/dldt+ffmpeg/Dockerfile @@ -14,6 +14,15 @@ RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz make -j8 && \ make install +# Install automake, use version 1.14 on CentOS +ARG AUTOMAKE_VER=1.14 +ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz +RUN wget -O - ${AUTOMAKE_REPO} | tar xJ && \ + cd automake-${AUTOMAKE_VER} && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --disable-doc && \ + make -j8 && \ + make install + # Build NASM ARG NASM_VER=2.13.03 ARG NASM_REPO=https://www.nasm.us/pub/nasm/releasebuilds/${NASM_VER}/nasm-${NASM_VER}.tar.bz2 @@ -206,32 +215,60 @@ RUN git clone -b ${DLDT_VER} ${DLDT_REPO} && \ wget -O - ${DLDT_C_API_REPO} | patch -p2 && \ mkdir build && \ cd build && \ - cmake -DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_PATH=/usr/lib64 -DENABLE_MKL_DNN=ON -DENABLE_CLDNN=OFF -DENABLE_SAMPLES_CORE=OFF ..; \ - make -j16 && \ + cmake -DCMAKE_INSTALL_PREFIX=/opt/intel/dldt -DLIB_INSTALL_PATH=/opt/intel/dldt -DENABLE_MKL_DNN=ON -DENABLE_CLDNN=OFF -DENABLE_SAMPLE_CORE=OFF .. && \ + make -j $(nproc) && \ rm -rf ../bin/intel64/Release/lib/libgtest* && \ rm -rf ../bin/intel64/Release/lib/libgmock* && \ rm -rf ../bin/intel64/Release/lib/libmock* && \ - rm -rf ../bin/intel64/Release/lib/libtest* && \ - for p in /usr /home/build/usr; do \ - mkdir -p $p/include/dldt; \ - cp -r ../include/* $p/include/dldt; \ - libdir="$p/lib64"; \ - cp -r ../bin/intel64/Release/lib/* "$libdir"; \ - cp -r ../temp/omp/lib/* "$libdir"; \ - mkdir -p "$libdir/pkgconfig"; \ - pc="$libdir/pkgconfig/dldt.pc"; \ - echo "prefix=/usr" > "$pc"; \ - echo "libdir=/usr/lib64" >> "$pc"; \ - echo "includedir=/usr/include/dldt" >> "$pc"; \ - echo "" >> "$pc"; \ - echo "Name: DLDT" >> "$pc"; \ - echo "Description: Intel Deep Learning Deployment Toolkit" >> "$pc"; \ - echo "Version: 5.0" >> "$pc"; \ - echo "" >> "$pc"; \ - echo "Libs: -L\${libdir} -linference_engine -linference_engine_c_wrapper" >> "$pc"; \ + rm -rf ../bin/intel64/Release/lib/libtest* + +ARG libdir=/opt/intel/dldt/inference-engine/lib/centos_7.4/intel64 + +RUN mkdir -p /opt/intel/dldt/inference-engine/include && \ + cp -r dldt/inference-engine/include/* /opt/intel/dldt/inference-engine/include && \ + mkdir -p ${libdir} && \ + cp -r dldt/inference-engine/bin/intel64/Release/lib/* ${libdir} && \ + mkdir -p /opt/intel/dldt/inference-engine/src && \ + cp -r dldt/inference-engine/src/* /opt/intel/dldt/inference-engine/src/ && \ + mkdir -p /opt/intel/dldt/inference-engine/share && \ + cp -r dldt/inference-engine/build/share/* /opt/intel/dldt/inference-engine/share/ && \ + mkdir -p /opt/intel/dldt/inference-engine/external/omp/lib && \ + cp -r dldt/inference-engine/temp/omp/lib/* /opt/intel/dldt/inference-engine/external/omp/lib/ + +RUN mkdir -p build/opt/intel/dldt/inference-engine/include && \ + cp -r dldt/inference-engine/include/* build/opt/intel/dldt/inference-engine/include && \ + mkdir -p build${libdir} && \ + cp -r dldt/inference-engine/bin/intel64/Release/lib/* build${libdir} && \ + mkdir -p build/opt/intel/dldt/inference-engine/src && \ + cp -r dldt/inference-engine/src/* build/opt/intel/dldt/inference-engine/src/ && \ + mkdir -p build/opt/intel/dldt/inference-engine/share && \ + cp -r dldt/inference-engine/build/share/* build/opt/intel/dldt/inference-engine/share/ && \ + mkdir -p build/opt/intel/dldt/inference-engine/external/omp/lib && \ + cp -r dldt/inference-engine/temp/omp/lib/* build/opt/intel/dldt/inference-engine/external/omp/lib/ + +RUN for p in /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inference-engine; do \ + mkdir -p "${libdir}/pkgconfig" && \ + pc="${libdir}/pkgconfig/dldt.pc" && \ + echo "prefix=/opt" > "$pc" && \ + echo "libdir=${libdir}" >> "$pc" && \ + echo "includedir=/opt/intel/dldt/inference-engine/include" >> "$pc" && \ + echo "" >> "$pc" && \ + echo "Name: DLDT" >> "$pc" && \ + echo "Description: Intel Deep Learning Deployment Toolkit" >> "$pc" && \ + echo "Version: 5.0" >> "$pc" && \ + echo "" >> "$pc" && \ + echo "Libs: -L\${libdir} -linference_engine -linference_engine_c_wrapper" >> "$pc" && \ echo "Cflags: -I\${includedir}" >> "$pc"; \ done; +ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share +ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} + +#install Model Optimizer in the DLDT for Dev + + + + # Build librdkafka ARG LIBRDKAFKA_VER=0.11.6 ARG FILE_NAME=v${LIBRDKAFKA_VER} @@ -306,10 +343,12 @@ WORKDIR /home # Prerequisites RUN yum install -y epel-release; \ - yum install -y -q numactl ; \ + yum install -y -q numactl python36 ; \ yum remove -y -q epel-release; \ rm -rf /var/cache/yum/*; # Install COPY --from=build /home/build / +ARG libdir=/opt/intel/dldt/inference-engine/lib/centos_7.4/intel64 +ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share diff --git a/Xeon/centos-7.6/dldt+gst/Dockerfile b/Xeon/centos-7.6/dldt+gst/Dockerfile index 845527c5e..188fbcbb8 100644 --- a/Xeon/centos-7.6/dldt+gst/Dockerfile +++ b/Xeon/centos-7.6/dldt+gst/Dockerfile @@ -14,6 +14,15 @@ RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz make -j8 && \ make install +# Install automake, use version 1.14 on CentOS +ARG AUTOMAKE_VER=1.14 +ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz +RUN wget -O - ${AUTOMAKE_REPO} | tar xJ && \ + cd automake-${AUTOMAKE_VER} && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --disable-doc && \ + make -j8 && \ + make install + # Build NASM ARG NASM_VER=2.13.03 ARG NASM_REPO=https://www.nasm.us/pub/nasm/releasebuilds/${NASM_VER}/nasm-${NASM_VER}.tar.bz2 @@ -205,64 +214,110 @@ RUN git clone -b ${DLDT_VER} ${DLDT_REPO} && \ wget -O - ${DLDT_C_API_REPO} | patch -p2 && \ mkdir build && \ cd build && \ - cmake -DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_PATH=/usr/lib64 -DENABLE_MKL_DNN=ON -DENABLE_CLDNN=OFF -DENABLE_SAMPLES_CORE=OFF ..; \ - make -j16 && \ + cmake -DCMAKE_INSTALL_PREFIX=/opt/intel/dldt -DLIB_INSTALL_PATH=/opt/intel/dldt -DENABLE_MKL_DNN=ON -DENABLE_CLDNN=OFF -DENABLE_SAMPLE_CORE=OFF .. && \ + make -j $(nproc) && \ rm -rf ../bin/intel64/Release/lib/libgtest* && \ rm -rf ../bin/intel64/Release/lib/libgmock* && \ rm -rf ../bin/intel64/Release/lib/libmock* && \ - rm -rf ../bin/intel64/Release/lib/libtest* && \ - for p in /usr /home/build/usr; do \ - mkdir -p $p/include/dldt; \ - cp -r ../include/* $p/include/dldt; \ - libdir="$p/lib64"; \ - cp -r ../bin/intel64/Release/lib/* "$libdir"; \ - cp -r ../temp/omp/lib/* "$libdir"; \ - mkdir -p "$libdir/pkgconfig"; \ - pc="$libdir/pkgconfig/dldt.pc"; \ - echo "prefix=/usr" > "$pc"; \ - echo "libdir=/usr/lib64" >> "$pc"; \ - echo "includedir=/usr/include/dldt" >> "$pc"; \ - echo "" >> "$pc"; \ - echo "Name: DLDT" >> "$pc"; \ - echo "Description: Intel Deep Learning Deployment Toolkit" >> "$pc"; \ - echo "Version: 5.0" >> "$pc"; \ - echo "" >> "$pc"; \ - echo "Libs: -L\${libdir} -linference_engine -linference_engine_c_wrapper" >> "$pc"; \ + rm -rf ../bin/intel64/Release/lib/libtest* + +ARG libdir=/opt/intel/dldt/inference-engine/lib/centos_7.4/intel64 + +RUN mkdir -p /opt/intel/dldt/inference-engine/include && \ + cp -r dldt/inference-engine/include/* /opt/intel/dldt/inference-engine/include && \ + mkdir -p ${libdir} && \ + cp -r dldt/inference-engine/bin/intel64/Release/lib/* ${libdir} && \ + mkdir -p /opt/intel/dldt/inference-engine/src && \ + cp -r dldt/inference-engine/src/* /opt/intel/dldt/inference-engine/src/ && \ + mkdir -p /opt/intel/dldt/inference-engine/share && \ + cp -r dldt/inference-engine/build/share/* /opt/intel/dldt/inference-engine/share/ && \ + mkdir -p /opt/intel/dldt/inference-engine/external/omp/lib && \ + cp -r dldt/inference-engine/temp/omp/lib/* /opt/intel/dldt/inference-engine/external/omp/lib/ + +RUN mkdir -p build/opt/intel/dldt/inference-engine/include && \ + cp -r dldt/inference-engine/include/* build/opt/intel/dldt/inference-engine/include && \ + mkdir -p build${libdir} && \ + cp -r dldt/inference-engine/bin/intel64/Release/lib/* build${libdir} && \ + mkdir -p build/opt/intel/dldt/inference-engine/src && \ + cp -r dldt/inference-engine/src/* build/opt/intel/dldt/inference-engine/src/ && \ + mkdir -p build/opt/intel/dldt/inference-engine/share && \ + cp -r dldt/inference-engine/build/share/* build/opt/intel/dldt/inference-engine/share/ && \ + mkdir -p build/opt/intel/dldt/inference-engine/external/omp/lib && \ + cp -r dldt/inference-engine/temp/omp/lib/* build/opt/intel/dldt/inference-engine/external/omp/lib/ + +RUN for p in /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inference-engine; do \ + mkdir -p "${libdir}/pkgconfig" && \ + pc="${libdir}/pkgconfig/dldt.pc" && \ + echo "prefix=/opt" > "$pc" && \ + echo "libdir=${libdir}" >> "$pc" && \ + echo "includedir=/opt/intel/dldt/inference-engine/include" >> "$pc" && \ + echo "" >> "$pc" && \ + echo "Name: DLDT" >> "$pc" && \ + echo "Description: Intel Deep Learning Deployment Toolkit" >> "$pc" && \ + echo "Version: 5.0" >> "$pc" && \ + echo "" >> "$pc" && \ + echo "Libs: -L\${libdir} -linference_engine -linference_engine_c_wrapper" >> "$pc" && \ echo "Cflags: -I\${includedir}" >> "$pc"; \ done; -# Install automake -ARG AUTOMAKE_VER=1.14 -ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz +ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share +ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} + +#install Model Optimizer in the DLDT for Dev + -RUN wget -O - ${AUTOMAKE_REPO} | tar xJ && \ - cd automake-${AUTOMAKE_VER} && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --disable-doc && \ - make -j8 && \ - make install # Build the gstremaer core ARG GST_VER=1.14.4 ARG GST_REPO=https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${GST_VER}.tar.xz -RUN yum install -y -q glib2-devel-2.56.1 gettext-devel gtk-doc +RUN yum install -y -q glib2-devel-2.56.1 gettext-devel gobject-introspection python-gobject-base RUN wget -O - ${GST_REPO} | tar xJ && \ cd gstreamer-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-gst-debug --disable-debug --disable-benchmarks --disable-check && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples --disable-gst-debug \ + --disable-debug \ + --disable-benchmarks \ + --disable-gtk-doc && \ + make -j $(nproc) && \ + make install DESTDIR=/home/build && \ + make install; + +# Build the gstremaer plugin bad set +ARG GST_ORC_VER=0.4.28 +ARG GST_ORC_REPO=https://gstreamer.freedesktop.org/src/orc/orc-${GST_ORC_VER}.tar.xz + +RUN wget -O - ${GST_ORC_REPO} | tar xJ && \ + cd orc-${GST_ORC_VER} && \ + ./autogen.sh --prefix=/usr --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples --disable-debug \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin base ARG GST_PLUGIN_BASE_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-${GST_VER}.tar.xz +RUN yum install -y -q libXv-devel libvisual-devel libtheora-devel glib2-devel alsa-lib-devel cdparanoia-devel mesa-libGL-devel pango-devel + RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ && \ cd gst-plugins-base-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples --disable-debug \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install @@ -270,33 +325,53 @@ RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ && \ # Build the gstremaer plugin good set ARG GST_PLUGIN_GOOD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-${GST_VER}.tar.xz +RUN yum install -y -q libsoup-devel libjpeg-devel + RUN wget -O - ${GST_PLUGIN_GOOD_REPO} | tar xJ && \ cd gst-plugins-good-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples --disable-debug \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install + # Build the gstremaer plugin bad set ARG GST_PLUGIN_BAD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-${GST_VER}.tar.xz +RUN yum install -y -q openssl-devel + RUN wget -O - ${GST_PLUGIN_BAD_REPO} | tar xJ && \ cd gst-plugins-bad-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples --disable-debug \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin ugly set ARG GST_PLUGIN_UGLY_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ && \ - cd gst-plugins-ugly-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug && \ - make -j8 && \ +RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ; \ + cd gst-plugins-ugly-${GST_VER}; \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples --disable-debug \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install @@ -307,9 +382,65 @@ RUN yum install -y -q zlib-devel openssl-devel RUN wget -O - ${GST_PLUGIN_LIBAV_REPO} | tar xJ && \ cd gst-libav-${GST_VER} && \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --enable-gpl && \ - make -j8 && \ - make install DESTDIR="/home/build" + ./autogen.sh \ + --prefix="/usr" \ + --libdir=/usr/lib64 \ + --enable-shared \ + --enable-gpl \ + --disable-gtk-doc && \ + make -j $(nproc) && \ + make install DESTDIR=/home/build && \ + make install + + +ARG OPENCV_VER=4.0.0 +ARG OPENCV_REPO=https://github.com/opencv/opencv/archive/${OPENCV_VER}.tar.gz + + +RUN wget ${OPENCV_REPO} && \ + tar -zxvf ${OPENCV_VER}.tar.gz && \ + cd opencv-${OPENCV_VER} && \ + mkdir build && \ + cd build && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -D BUILD_EXAMPLES=OFF -D BUILD_PERF_TESTS=OFF -D BUILD_DOCS=OFF -D BUILD_TESTS=OFF .. && \ + make -j $(nproc) && \ + make install DESTDIR=/home/build && \ + make install + + +RUN yum install -y -q glib2-devel gtk-dock openblas + + + +ARG PAHO_VER=1.3.0 +ARG PAHO_REPO=https://github.com/eclipse/paho.mqtt.c/archive/v${PAHO_VER}.tar.gz +RUN wget -O - https://github.com/eclipse/paho.mqtt.c/archive/v${PAHO_VER}.tar.gz | tar -xz; \ + cd paho.mqtt.c-${PAHO_VER}; \ + make; \ + make install; + +#Install va gstreamer plugins +#Has a dependency on OpenCV, GStreamer +ARG VA_GSTREAMER_PLUGINS_VER=0.3 +ARG VA_GSTREAMER_PLUGINS_REPO=https://github.com/opencv/gst-video-analytics/archive/v${VA_GSTREAMER_PLUGINS_VER}.tar.gz +RUN wget -O - ${VA_GSTREAMER_PLUGINS_REPO} | tar xz && \ + cd gst-video-analytics-${VA_GSTREAMER_PLUGINS_VER} && \ + mkdir build && \ + cd build && \ + export CFLAGS="-std=gnu99 -Wno-missing-field-initializers" && \ + export CXXFLAGS="-std=c++11 -Wno-missing-field-initializers" && \ + cmake \ + -DVERSION_PATCH=$(echo "$(git rev-list --count --first-parent HEAD)") \ + -DGIT_INFO=$(echo "git_$(git rev-parse --short HEAD)") \ + -DCMAKE_BUILD_TYPE=Release \ + -DDISABLE_SAMPLES=ON \ + -DDISABLE_VAAPI=ON \ + -DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX=/usr .. && \ + make -j4 +RUN mkdir -p build/usr/lib64/gstreamer-1.0 && \ + cp -r gst-video-analytics-${VA_GSTREAMER_PLUGINS_VER}/build/intel64/Release/lib/* build/usr/lib64/gstreamer-1.0 +RUN mkdir -p /usr/lib64/gstreamer-1.0 && \ + cp -r gst-video-analytics-${VA_GSTREAMER_PLUGINS_VER}/build/intel64/Release/lib/* /usr/lib64/gstreamer-1.0 @@ -327,10 +458,17 @@ WORKDIR /home # Prerequisites RUN yum install -y epel-release; \ - yum install -y -q numactl openssl glib2-2.56.1 libpng12 libXv ; \ + yum install -y -q numactl openssl glib2-2.56.1 pangolibpng12 libXv libvisual mesa-libGL pango glib2 openblas-serial \ +libsoup libjpeg-turbo python36 ; \ yum remove -y -q epel-release; \ rm -rf /var/cache/yum/*; # Install COPY --from=build /home/build / +ARG libdir=/opt/intel/dldt/inference-engine/lib/centos_7.4/intel64 +ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share +ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib64/gstreamer-1.0 +ENV PKG_CONFIG_PATH=/usr/lib64/pkgconfig +ENV LIBRARY_PATH=${LIBRARY_PATH}:/usr/lib +ENV PATH=${PATH}:/usr/bin diff --git a/Xeon/centos-7.6/dldt+gst/Dockerfile.m4 b/Xeon/centos-7.6/dldt+gst/Dockerfile.m4 index e19067821..ee381026f 100644 --- a/Xeon/centos-7.6/dldt+gst/Dockerfile.m4 +++ b/Xeon/centos-7.6/dldt+gst/Dockerfile.m4 @@ -17,13 +17,15 @@ include(svt-hevc.m4) include(svt-av1.m4) include(svt-vp9.m4) include(dldt-ie.m4) -include(automake.m4) include(gst.m4) +include(gst-orc.m4) include(gst-plugin-base.m4) include(gst-plugin-good.m4) include(gst-plugin-bad.m4) include(gst-plugin-ugly.m4) include(gst-plugin-libav.m4) +include(opencv.m4) +include(gstreamer-videoanalytics.m4) include(cleanup.m4)dnl FROM centos:7.6.1810 diff --git a/Xeon/centos-7.6/ffmpeg+gst+dev/Dockerfile b/Xeon/centos-7.6/ffmpeg+gst+dev/Dockerfile index 620397b1b..deb7de2cb 100644 --- a/Xeon/centos-7.6/ffmpeg+gst+dev/Dockerfile +++ b/Xeon/centos-7.6/ffmpeg+gst+dev/Dockerfile @@ -14,6 +14,15 @@ RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz make -j8 && \ make install +# Install automake, use version 1.14 on CentOS +ARG AUTOMAKE_VER=1.14 +ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz +RUN wget -O - ${AUTOMAKE_REPO} | tar xJ && \ + cd automake-${AUTOMAKE_VER} && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --disable-doc && \ + make -j8 && \ + make install + # Build NASM ARG NASM_VER=2.13.03 ARG NASM_REPO=https://www.nasm.us/pub/nasm/releasebuilds/${NASM_VER}/nasm-${NASM_VER}.tar.bz2 @@ -206,64 +215,137 @@ RUN git clone -b ${DLDT_VER} ${DLDT_REPO} && \ wget -O - ${DLDT_C_API_REPO} | patch -p2 && \ mkdir build && \ cd build && \ - cmake -DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_PATH=/usr/lib64 -DENABLE_MKL_DNN=ON -DENABLE_CLDNN=OFF -DENABLE_SAMPLES_CORE=OFF ..; \ - make -j16 && \ + cmake -DCMAKE_INSTALL_PREFIX=/opt/intel/dldt -DLIB_INSTALL_PATH=/opt/intel/dldt -DENABLE_MKL_DNN=ON -DENABLE_CLDNN=OFF -DENABLE_SAMPLE_CORE=OFF .. && \ + make -j $(nproc) && \ rm -rf ../bin/intel64/Release/lib/libgtest* && \ rm -rf ../bin/intel64/Release/lib/libgmock* && \ rm -rf ../bin/intel64/Release/lib/libmock* && \ - rm -rf ../bin/intel64/Release/lib/libtest* && \ - for p in /usr /home/build/usr; do \ - mkdir -p $p/include/dldt; \ - cp -r ../include/* $p/include/dldt; \ - libdir="$p/lib64"; \ - cp -r ../bin/intel64/Release/lib/* "$libdir"; \ - cp -r ../temp/omp/lib/* "$libdir"; \ - mkdir -p "$libdir/pkgconfig"; \ - pc="$libdir/pkgconfig/dldt.pc"; \ - echo "prefix=/usr" > "$pc"; \ - echo "libdir=/usr/lib64" >> "$pc"; \ - echo "includedir=/usr/include/dldt" >> "$pc"; \ - echo "" >> "$pc"; \ - echo "Name: DLDT" >> "$pc"; \ - echo "Description: Intel Deep Learning Deployment Toolkit" >> "$pc"; \ - echo "Version: 5.0" >> "$pc"; \ - echo "" >> "$pc"; \ - echo "Libs: -L\${libdir} -linference_engine -linference_engine_c_wrapper" >> "$pc"; \ + rm -rf ../bin/intel64/Release/lib/libtest* + +ARG libdir=/opt/intel/dldt/inference-engine/lib/centos_7.4/intel64 + +RUN mkdir -p /opt/intel/dldt/inference-engine/include && \ + cp -r dldt/inference-engine/include/* /opt/intel/dldt/inference-engine/include && \ + mkdir -p ${libdir} && \ + cp -r dldt/inference-engine/bin/intel64/Release/lib/* ${libdir} && \ + mkdir -p /opt/intel/dldt/inference-engine/src && \ + cp -r dldt/inference-engine/src/* /opt/intel/dldt/inference-engine/src/ && \ + mkdir -p /opt/intel/dldt/inference-engine/share && \ + cp -r dldt/inference-engine/build/share/* /opt/intel/dldt/inference-engine/share/ && \ + mkdir -p /opt/intel/dldt/inference-engine/external/omp/lib && \ + cp -r dldt/inference-engine/temp/omp/lib/* /opt/intel/dldt/inference-engine/external/omp/lib/ + +RUN mkdir -p build/opt/intel/dldt/inference-engine/include && \ + cp -r dldt/inference-engine/include/* build/opt/intel/dldt/inference-engine/include && \ + mkdir -p build${libdir} && \ + cp -r dldt/inference-engine/bin/intel64/Release/lib/* build${libdir} && \ + mkdir -p build/opt/intel/dldt/inference-engine/src && \ + cp -r dldt/inference-engine/src/* build/opt/intel/dldt/inference-engine/src/ && \ + mkdir -p build/opt/intel/dldt/inference-engine/share && \ + cp -r dldt/inference-engine/build/share/* build/opt/intel/dldt/inference-engine/share/ && \ + mkdir -p build/opt/intel/dldt/inference-engine/external/omp/lib && \ + cp -r dldt/inference-engine/temp/omp/lib/* build/opt/intel/dldt/inference-engine/external/omp/lib/ + +RUN for p in /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inference-engine; do \ + mkdir -p "${libdir}/pkgconfig" && \ + pc="${libdir}/pkgconfig/dldt.pc" && \ + echo "prefix=/opt" > "$pc" && \ + echo "libdir=${libdir}" >> "$pc" && \ + echo "includedir=/opt/intel/dldt/inference-engine/include" >> "$pc" && \ + echo "" >> "$pc" && \ + echo "Name: DLDT" >> "$pc" && \ + echo "Description: Intel Deep Learning Deployment Toolkit" >> "$pc" && \ + echo "Version: 5.0" >> "$pc" && \ + echo "" >> "$pc" && \ + echo "Libs: -L\${libdir} -linference_engine -linference_engine_c_wrapper" >> "$pc" && \ echo "Cflags: -I\${includedir}" >> "$pc"; \ done; -# Install automake -ARG AUTOMAKE_VER=1.14 -ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz +ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share +ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} + +#install Model Optimizer in the DLDT for Dev +ARG PYTHON_TRUSTED_HOST +ARG PYTHON_TRUSTED_INDEX_URL +#install MO dependencies +RUN yum install -y python36 +RUN yum install -y python36-devel +RUN yum install -y python36-setuptools +RUN easy_install-3.6 pip +#RUN pip3 install numpy scipy +RUN git clone https://github.com/google/protobuf.git && \ + cd protobuf && \ + git submodule update --init --recursive && \ + ./autogen.sh && \ + ./configure && \ + make && \ + make install && \ + make install DESTDIR=/home/build +#RUN apt-get update && apt-get install -y sudo +#installing dependency libs to mo_libs directory to avoid issues with updates to Python version +RUN cd dldt/model-optimizer && \ +if [ "x$PYTHON_TRUSTED_HOST" = "x" ] ; \ +then pip3 install --target=/home/build/mo_libs -r requirements.txt && \ +pip3 install -r requirements.txt; \ +else pip3 install --target=/home/build/mo_libs -r requirements.txt -i $PYTHON_TRUSTED_INDEX_URL --trusted-host $PYTHON_TRUSTED_HOST && \ +pip3 install -r requirements.txt -i $PYTHON_TRUSTED_INDEX_URL --trusted-host $PYTHON_TRUSTED_HOST; \ +fi + +#Copy over Model Optimizer to same directory as Inference Engine +RUN cp -r dldt/model-optimizer /opt/intel/dldt/model-optimizer +RUN cp -r dldt/model-optimizer /home/build/opt/intel/dldt/model-optimizer + -RUN wget -O - ${AUTOMAKE_REPO} | tar xJ && \ - cd automake-${AUTOMAKE_VER} && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --disable-doc && \ - make -j8 && \ - make install # Build the gstremaer core ARG GST_VER=1.14.4 ARG GST_REPO=https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${GST_VER}.tar.xz -RUN yum install -y -q glib2-devel-2.56.1 gettext-devel gtk-doc +RUN yum install -y -q glib2-devel-2.56.1 gettext-devel gobject-introspection python-gobject-base RUN wget -O - ${GST_REPO} | tar xJ && \ cd gstreamer-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples \ + --disable-gtk-doc && \ + make -j $(nproc) && \ + make install DESTDIR=/home/build && \ + make install; + +# Build the gstremaer plugin bad set +ARG GST_ORC_VER=0.4.28 +ARG GST_ORC_REPO=https://gstreamer.freedesktop.org/src/orc/orc-${GST_ORC_VER}.tar.xz + +RUN wget -O - ${GST_ORC_REPO} | tar xJ && \ + cd orc-${GST_ORC_VER} && \ + ./autogen.sh --prefix=/usr --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin base ARG GST_PLUGIN_BASE_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-${GST_VER}.tar.xz +RUN yum install -y -q libXv-devel libvisual-devel libtheora-devel glib2-devel alsa-lib-devel cdparanoia-devel mesa-libGL-devel pango-devel + RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ && \ cd gst-plugins-base-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install @@ -271,33 +353,53 @@ RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ && \ # Build the gstremaer plugin good set ARG GST_PLUGIN_GOOD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-${GST_VER}.tar.xz +RUN yum install -y -q libsoup-devel libjpeg-devel + RUN wget -O - ${GST_PLUGIN_GOOD_REPO} | tar xJ && \ cd gst-plugins-good-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install + # Build the gstremaer plugin bad set ARG GST_PLUGIN_BAD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-${GST_VER}.tar.xz +RUN yum install -y -q openssl-devel + RUN wget -O - ${GST_PLUGIN_BAD_REPO} | tar xJ && \ cd gst-plugins-bad-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin ugly set ARG GST_PLUGIN_UGLY_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ && \ - cd gst-plugins-ugly-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples && \ - make -j8 && \ +RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ; \ + cd gst-plugins-ugly-${GST_VER}; \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install @@ -308,9 +410,65 @@ RUN yum install -y -q zlib-devel openssl-devel RUN wget -O - ${GST_PLUGIN_LIBAV_REPO} | tar xJ && \ cd gst-libav-${GST_VER} && \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --enable-gpl && \ - make -j8 && \ - make install DESTDIR="/home/build" + ./autogen.sh \ + --prefix="/usr" \ + --libdir=/usr/lib64 \ + --enable-shared \ + --enable-gpl \ + --disable-gtk-doc && \ + make -j $(nproc) && \ + make install DESTDIR=/home/build && \ + make install + + +ARG OPENCV_VER=4.0.0 +ARG OPENCV_REPO=https://github.com/opencv/opencv/archive/${OPENCV_VER}.tar.gz + + +RUN wget ${OPENCV_REPO} && \ + tar -zxvf ${OPENCV_VER}.tar.gz && \ + cd opencv-${OPENCV_VER} && \ + mkdir build && \ + cd build && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -D BUILD_EXAMPLES=OFF -D BUILD_PERF_TESTS=OFF -D BUILD_DOCS=OFF -D BUILD_TESTS=OFF .. && \ + make -j $(nproc) && \ + make install DESTDIR=/home/build && \ + make install + + +RUN yum install -y -q glib2-devel gtk-dock openblas + + + +ARG PAHO_VER=1.3.0 +ARG PAHO_REPO=https://github.com/eclipse/paho.mqtt.c/archive/v${PAHO_VER}.tar.gz +RUN wget -O - https://github.com/eclipse/paho.mqtt.c/archive/v${PAHO_VER}.tar.gz | tar -xz; \ + cd paho.mqtt.c-${PAHO_VER}; \ + make; \ + make install; + +#Install va gstreamer plugins +#Has a dependency on OpenCV, GStreamer +ARG VA_GSTREAMER_PLUGINS_VER=0.3 +ARG VA_GSTREAMER_PLUGINS_REPO=https://github.com/opencv/gst-video-analytics/archive/v${VA_GSTREAMER_PLUGINS_VER}.tar.gz +RUN wget -O - ${VA_GSTREAMER_PLUGINS_REPO} | tar xz && \ + cd gst-video-analytics-${VA_GSTREAMER_PLUGINS_VER} && \ + mkdir build && \ + cd build && \ + export CFLAGS="-std=gnu99 -Wno-missing-field-initializers" && \ + export CXXFLAGS="-std=c++11 -Wno-missing-field-initializers" && \ + cmake \ + -DVERSION_PATCH=$(echo "$(git rev-list --count --first-parent HEAD)") \ + -DGIT_INFO=$(echo "git_$(git rev-parse --short HEAD)") \ + -DCMAKE_BUILD_TYPE=Release \ + -DDISABLE_SAMPLES=ON \ + -DDISABLE_VAAPI=ON \ + -DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX=/usr .. && \ + make -j4 +RUN mkdir -p build/usr/lib64/gstreamer-1.0 && \ + cp -r gst-video-analytics-${VA_GSTREAMER_PLUGINS_VER}/build/intel64/Release/lib/* build/usr/lib64/gstreamer-1.0 +RUN mkdir -p /usr/lib64/gstreamer-1.0 && \ + cp -r gst-video-analytics-${VA_GSTREAMER_PLUGINS_VER}/build/intel64/Release/lib/* /usr/lib64/gstreamer-1.0 @@ -363,17 +521,25 @@ RUN cd /home/FFmpeg && \ -FROM centos:7.6.1810 +FROM centos:7.6.1810 LABEL Description="This is the image for FFMPEG and GSTREAMER application development on CentOS 7.6" LABEL Vendor="Intel Corporation" WORKDIR /home # Prerequisites RUN yum install -y epel-release; \ - yum install -y -q libxcb SDL2 libass numactl glib2-2.56.1 libpng12 libXv ; \ + yum install -y -q libxcb SDL2 libass numactl glib2-2.56.1 pangolibpng12 libXv libvisual mesa-libGL pango glib2 openblas-serial \ +libsoup libjpeg-turbo python36 ; \ yum remove -y -q epel-release; \ rm -rf /var/cache/yum/*; # Install COPY --from=build /home/build / +ARG libdir=/opt/intel/dldt/inference-engine/lib/centos_7.4/intel64 +ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share +ENV PYTHONPATH=${PYTHONPATH}:/mo_libs +ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib64/gstreamer-1.0 +ENV PKG_CONFIG_PATH=/usr/lib64/pkgconfig +ENV LIBRARY_PATH=${LIBRARY_PATH}:/usr/lib +ENV PATH=${PATH}:/usr/bin diff --git a/Xeon/centos-7.6/ffmpeg+gst+dev/Dockerfile.m4 b/Xeon/centos-7.6/ffmpeg+gst+dev/Dockerfile.m4 index 14a94e794..a8e8cfd15 100644 --- a/Xeon/centos-7.6/ffmpeg+gst+dev/Dockerfile.m4 +++ b/Xeon/centos-7.6/ffmpeg+gst+dev/Dockerfile.m4 @@ -18,17 +18,19 @@ include(svt-av1.m4) include(svt-vp9.m4) #include(transform360.m4) include(dldt-ie.m4) -include(automake.m4) include(gst.m4) +include(gst-orc.m4) include(gst-plugin-base.m4) include(gst-plugin-good.m4) include(gst-plugin-bad.m4) include(gst-plugin-ugly.m4) include(gst-plugin-libav.m4) +include(opencv.m4) +include(gstreamer-videoanalytics.m4) include(ffmpeg.m4) include(cleanup.m4)dnl -FROM centos:7.6.1810 +FROM centos:7.6.1810 LABEL Description="This is the image for FFMPEG and GSTREAMER application development on CentOS 7.6" LABEL Vendor="Intel Corporation" WORKDIR /home diff --git a/Xeon/centos-7.6/ffmpeg/Dockerfile b/Xeon/centos-7.6/ffmpeg/Dockerfile index dcb4cc592..b07118556 100644 --- a/Xeon/centos-7.6/ffmpeg/Dockerfile +++ b/Xeon/centos-7.6/ffmpeg/Dockerfile @@ -14,6 +14,15 @@ RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz make -j8 && \ make install +# Install automake, use version 1.14 on CentOS +ARG AUTOMAKE_VER=1.14 +ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz +RUN wget -O - ${AUTOMAKE_REPO} | tar xJ && \ + cd automake-${AUTOMAKE_VER} && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --disable-doc && \ + make -j8 && \ + make install + # Build NASM ARG NASM_VER=2.13.03 ARG NASM_REPO=https://www.nasm.us/pub/nasm/releasebuilds/${NASM_VER}/nasm-${NASM_VER}.tar.bz2 diff --git a/Xeon/centos-7.6/gst/Dockerfile b/Xeon/centos-7.6/gst/Dockerfile index 8e0bd6591..f68b1591f 100644 --- a/Xeon/centos-7.6/gst/Dockerfile +++ b/Xeon/centos-7.6/gst/Dockerfile @@ -14,6 +14,15 @@ RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz make -j8 && \ make install +# Install automake, use version 1.14 on CentOS +ARG AUTOMAKE_VER=1.14 +ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz +RUN wget -O - ${AUTOMAKE_REPO} | tar xJ && \ + cd automake-${AUTOMAKE_VER} && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --disable-doc && \ + make -j8 && \ + make install + # Build NASM ARG NASM_VER=2.13.03 ARG NASM_REPO=https://www.nasm.us/pub/nasm/releasebuilds/${NASM_VER}/nasm-${NASM_VER}.tar.bz2 @@ -190,38 +199,41 @@ RUN git clone ${SVT_VP9_REPO} && \ make install DESTDIR=/home/build && \ make install ) -# Install automake -ARG AUTOMAKE_VER=1.14 -ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz - -RUN wget -O - ${AUTOMAKE_REPO} | tar xJ && \ - cd automake-${AUTOMAKE_VER} && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --disable-doc && \ - make -j8 && \ - make install - - # Build the gstremaer core ARG GST_VER=1.14.4 ARG GST_REPO=https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${GST_VER}.tar.xz -RUN yum install -y -q glib2-devel-2.56.1 gettext-devel gtk-doc +RUN yum install -y -q glib2-devel-2.56.1 gettext-devel gobject-introspection python-gobject-base RUN wget -O - ${GST_REPO} | tar xJ && \ cd gstreamer-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-gst-debug --disable-debug --disable-benchmarks --disable-check && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples --disable-gst-debug \ + --disable-debug \ + --disable-benchmarks \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ - make install + make install; # Build the gstremaer plugin base ARG GST_PLUGIN_BASE_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-${GST_VER}.tar.xz +RUN yum install -y -q libXv-devel libvisual-devel libtheora-devel glib2-devel alsa-lib-devel cdparanoia-devel mesa-libGL-devel pango-devel + RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ && \ cd gst-plugins-base-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples --disable-debug \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install @@ -229,33 +241,53 @@ RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ && \ # Build the gstremaer plugin good set ARG GST_PLUGIN_GOOD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-${GST_VER}.tar.xz +RUN yum install -y -q libsoup-devel libjpeg-devel + RUN wget -O - ${GST_PLUGIN_GOOD_REPO} | tar xJ && \ cd gst-plugins-good-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples --disable-debug \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install + # Build the gstremaer plugin bad set ARG GST_PLUGIN_BAD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-${GST_VER}.tar.xz +RUN yum install -y -q openssl-devel + RUN wget -O - ${GST_PLUGIN_BAD_REPO} | tar xJ && \ cd gst-plugins-bad-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples --disable-debug \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin ugly set ARG GST_PLUGIN_UGLY_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ && \ - cd gst-plugins-ugly-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug && \ - make -j8 && \ +RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ; \ + cd gst-plugins-ugly-${GST_VER}; \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples --disable-debug \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install @@ -266,10 +298,15 @@ RUN yum install -y -q zlib-devel openssl-devel RUN wget -O - ${GST_PLUGIN_LIBAV_REPO} | tar xJ && \ cd gst-libav-${GST_VER} && \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --enable-gpl && \ - make -j8 && \ - make install DESTDIR="/home/build" - + ./autogen.sh \ + --prefix="/usr" \ + --libdir=/usr/lib64 \ + --enable-shared \ + --enable-gpl \ + --disable-gtk-doc && \ + make -j $(nproc) && \ + make install DESTDIR=/home/build && \ + make install # Clean up after build @@ -286,7 +323,7 @@ WORKDIR /home # Prerequisites RUN yum install -y epel-release; \ - yum install -y -q numactl openssl glib2-2.56.1 libpng12 libXv ; \ + yum install -y -q numactl openssl glib2-2.56.1 pangolibpng12 libXv libvisual mesa-libGL pango glib2 libsoup libjpeg-turbo ; \ yum remove -y -q epel-release; \ rm -rf /var/cache/yum/*; diff --git a/Xeon/centos-7.6/gst/Dockerfile.m4 b/Xeon/centos-7.6/gst/Dockerfile.m4 index 1f1459c56..d2524258e 100644 --- a/Xeon/centos-7.6/gst/Dockerfile.m4 +++ b/Xeon/centos-7.6/gst/Dockerfile.m4 @@ -16,7 +16,6 @@ include(libx265.m4) include(svt-hevc.m4) include(svt-av1.m4) include(svt-vp9.m4) -include(automake.m4) include(gst.m4) include(gst-plugin-base.m4) include(gst-plugin-good.m4) diff --git a/Xeon/centos-7.6/nginx+rtmp/Dockerfile b/Xeon/centos-7.6/nginx+rtmp/Dockerfile index 18956b790..bb3cf4251 100644 --- a/Xeon/centos-7.6/nginx+rtmp/Dockerfile +++ b/Xeon/centos-7.6/nginx+rtmp/Dockerfile @@ -14,6 +14,15 @@ RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz make -j8 && \ make install +# Install automake, use version 1.14 on CentOS +ARG AUTOMAKE_VER=1.14 +ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz +RUN wget -O - ${AUTOMAKE_REPO} | tar xJ && \ + cd automake-${AUTOMAKE_VER} && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --disable-doc && \ + make -j8 && \ + make install + # Build nginx-rtmp ARG NGINX_RTMP_VER=v1.2.1 diff --git a/Xeon/centos-7.6/ospray/Dockerfile b/Xeon/centos-7.6/ospray/Dockerfile index 6f2a70c36..2cf5e826d 100644 --- a/Xeon/centos-7.6/ospray/Dockerfile +++ b/Xeon/centos-7.6/ospray/Dockerfile @@ -14,6 +14,15 @@ RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz make -j8 && \ make install +# Install automake, use version 1.14 on CentOS +ARG AUTOMAKE_VER=1.14 +ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz +RUN wget -O - ${AUTOMAKE_REPO} | tar xJ && \ + cd automake-${AUTOMAKE_VER} && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --disable-doc && \ + make -j8 && \ + make install + # Build NASM ARG NASM_VER=2.13.03 ARG NASM_REPO=https://www.nasm.us/pub/nasm/releasebuilds/${NASM_VER}/nasm-${NASM_VER}.tar.bz2 diff --git a/Xeon/ubuntu-16.04/dldt+ffmpeg/Dockerfile b/Xeon/ubuntu-16.04/dldt+ffmpeg/Dockerfile index 290902c9e..bce491f0f 100644 --- a/Xeon/ubuntu-16.04/dldt+ffmpeg/Dockerfile +++ b/Xeon/ubuntu-16.04/dldt+ffmpeg/Dockerfile @@ -3,7 +3,7 @@ FROM ubuntu:16.04 AS build WORKDIR /home # COMMON BUILD TOOLS -RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends build-essential autoconf automake make git wget pciutils cpio libtool lsb-release ca-certificates pkg-config bison flex +RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends build-essential autoconf make git wget pciutils cpio libtool lsb-release ca-certificates pkg-config bison flex # Install cmake ARG CMAKE_VER=3.13.1 @@ -14,6 +14,11 @@ RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz make -j8 && \ make install +# Install automake, use version 1.14 on CentOS +ARG AUTOMAKE_VER=1.14 +ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz + RUN apt-get install -y -q automake + # Build NASM ARG NASM_VER=2.13.03 ARG NASM_REPO=https://www.nasm.us/pub/nasm/releasebuilds/${NASM_VER}/nasm-${NASM_VER}.tar.bz2 @@ -200,32 +205,60 @@ RUN git clone -b ${DLDT_VER} ${DLDT_REPO} && \ wget -O - ${DLDT_C_API_REPO} | patch -p2 && \ mkdir build && \ cd build && \ - cmake -DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_PATH=/usr/lib/x86_64-linux-gnu -DENABLE_MKL_DNN=ON -DENABLE_CLDNN=OFF -DENABLE_SAMPLES_CORE=OFF ..; \ - make -j16 && \ + cmake -DCMAKE_INSTALL_PREFIX=/opt/intel/dldt -DLIB_INSTALL_PATH=/opt/intel/dldt -DENABLE_MKL_DNN=ON -DENABLE_CLDNN=OFF -DENABLE_SAMPLE_CORE=OFF .. && \ + make -j $(nproc) && \ rm -rf ../bin/intel64/Release/lib/libgtest* && \ rm -rf ../bin/intel64/Release/lib/libgmock* && \ rm -rf ../bin/intel64/Release/lib/libmock* && \ - rm -rf ../bin/intel64/Release/lib/libtest* && \ - for p in /usr /home/build/usr; do \ - mkdir -p $p/include/dldt; \ - cp -r ../include/* $p/include/dldt; \ - libdir="$p/lib/x86_64-linux-gnu"; \ - cp -r ../bin/intel64/Release/lib/* "$libdir"; \ - cp -r ../temp/omp/lib/* "$libdir"; \ - mkdir -p "$libdir/pkgconfig"; \ - pc="$libdir/pkgconfig/dldt.pc"; \ - echo "prefix=/usr" > "$pc"; \ - echo "libdir=/usr/lib/x86_64-linux-gnu" >> "$pc"; \ - echo "includedir=/usr/include/dldt" >> "$pc"; \ - echo "" >> "$pc"; \ - echo "Name: DLDT" >> "$pc"; \ - echo "Description: Intel Deep Learning Deployment Toolkit" >> "$pc"; \ - echo "Version: 5.0" >> "$pc"; \ - echo "" >> "$pc"; \ - echo "Libs: -L\${libdir} -linference_engine -linference_engine_c_wrapper" >> "$pc"; \ + rm -rf ../bin/intel64/Release/lib/libtest* + +ARG libdir=/opt/intel/dldt/inference-engine/lib/ubuntu_16.04/intel64 + +RUN mkdir -p /opt/intel/dldt/inference-engine/include && \ + cp -r dldt/inference-engine/include/* /opt/intel/dldt/inference-engine/include && \ + mkdir -p ${libdir} && \ + cp -r dldt/inference-engine/bin/intel64/Release/lib/* ${libdir} && \ + mkdir -p /opt/intel/dldt/inference-engine/src && \ + cp -r dldt/inference-engine/src/* /opt/intel/dldt/inference-engine/src/ && \ + mkdir -p /opt/intel/dldt/inference-engine/share && \ + cp -r dldt/inference-engine/build/share/* /opt/intel/dldt/inference-engine/share/ && \ + mkdir -p /opt/intel/dldt/inference-engine/external/omp/lib && \ + cp -r dldt/inference-engine/temp/omp/lib/* /opt/intel/dldt/inference-engine/external/omp/lib/ + +RUN mkdir -p build/opt/intel/dldt/inference-engine/include && \ + cp -r dldt/inference-engine/include/* build/opt/intel/dldt/inference-engine/include && \ + mkdir -p build${libdir} && \ + cp -r dldt/inference-engine/bin/intel64/Release/lib/* build${libdir} && \ + mkdir -p build/opt/intel/dldt/inference-engine/src && \ + cp -r dldt/inference-engine/src/* build/opt/intel/dldt/inference-engine/src/ && \ + mkdir -p build/opt/intel/dldt/inference-engine/share && \ + cp -r dldt/inference-engine/build/share/* build/opt/intel/dldt/inference-engine/share/ && \ + mkdir -p build/opt/intel/dldt/inference-engine/external/omp/lib && \ + cp -r dldt/inference-engine/temp/omp/lib/* build/opt/intel/dldt/inference-engine/external/omp/lib/ + +RUN for p in /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inference-engine; do \ + mkdir -p "${libdir}/pkgconfig" && \ + pc="${libdir}/pkgconfig/dldt.pc" && \ + echo "prefix=/opt" > "$pc" && \ + echo "libdir=${libdir}" >> "$pc" && \ + echo "includedir=/opt/intel/dldt/inference-engine/include" >> "$pc" && \ + echo "" >> "$pc" && \ + echo "Name: DLDT" >> "$pc" && \ + echo "Description: Intel Deep Learning Deployment Toolkit" >> "$pc" && \ + echo "Version: 5.0" >> "$pc" && \ + echo "" >> "$pc" && \ + echo "Libs: -L\${libdir} -linference_engine -linference_engine_c_wrapper" >> "$pc" && \ echo "Cflags: -I\${includedir}" >> "$pc"; \ done; +ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share +ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} + +#install Model Optimizer in the DLDT for Dev + + + + # Build librdkafka ARG LIBRDKAFKA_VER=0.11.6 ARG FILE_NAME=v${LIBRDKAFKA_VER} @@ -299,9 +332,11 @@ LABEL Vendor="Intel Corporation" WORKDIR /home # Prerequisites -RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libnuma1 libssl1.0.0 ; \ +RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libnuma1 libssl1.0.0 python3 ; \ rm -rf /var/lib/apt/lists/*; # Install COPY --from=build /home/build / +ARG libdir=/opt/intel/dldt/inference-engine/lib/ubuntu_16.04/intel64 +ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share diff --git a/Xeon/ubuntu-16.04/dldt+gst/Dockerfile b/Xeon/ubuntu-16.04/dldt+gst/Dockerfile index a818be28f..41aac80ba 100644 --- a/Xeon/ubuntu-16.04/dldt+gst/Dockerfile +++ b/Xeon/ubuntu-16.04/dldt+gst/Dockerfile @@ -3,7 +3,7 @@ FROM ubuntu:16.04 AS build WORKDIR /home # COMMON BUILD TOOLS -RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends build-essential autoconf automake make git wget pciutils cpio libtool lsb-release ca-certificates pkg-config bison flex +RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends build-essential autoconf make git wget pciutils cpio libtool lsb-release ca-certificates pkg-config bison flex # Install cmake ARG CMAKE_VER=3.13.1 @@ -14,6 +14,11 @@ RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz make -j8 && \ make install +# Install automake, use version 1.14 on CentOS +ARG AUTOMAKE_VER=1.14 +ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz + RUN apt-get install -y -q automake + # Build NASM ARG NASM_VER=2.13.03 ARG NASM_REPO=https://www.nasm.us/pub/nasm/releasebuilds/${NASM_VER}/nasm-${NASM_VER}.tar.bz2 @@ -199,53 +204,110 @@ RUN git clone -b ${DLDT_VER} ${DLDT_REPO} && \ wget -O - ${DLDT_C_API_REPO} | patch -p2 && \ mkdir build && \ cd build && \ - cmake -DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_PATH=/usr/lib/x86_64-linux-gnu -DENABLE_MKL_DNN=ON -DENABLE_CLDNN=OFF -DENABLE_SAMPLES_CORE=OFF ..; \ - make -j16 && \ + cmake -DCMAKE_INSTALL_PREFIX=/opt/intel/dldt -DLIB_INSTALL_PATH=/opt/intel/dldt -DENABLE_MKL_DNN=ON -DENABLE_CLDNN=OFF -DENABLE_SAMPLE_CORE=OFF .. && \ + make -j $(nproc) && \ rm -rf ../bin/intel64/Release/lib/libgtest* && \ rm -rf ../bin/intel64/Release/lib/libgmock* && \ rm -rf ../bin/intel64/Release/lib/libmock* && \ - rm -rf ../bin/intel64/Release/lib/libtest* && \ - for p in /usr /home/build/usr; do \ - mkdir -p $p/include/dldt; \ - cp -r ../include/* $p/include/dldt; \ - libdir="$p/lib/x86_64-linux-gnu"; \ - cp -r ../bin/intel64/Release/lib/* "$libdir"; \ - cp -r ../temp/omp/lib/* "$libdir"; \ - mkdir -p "$libdir/pkgconfig"; \ - pc="$libdir/pkgconfig/dldt.pc"; \ - echo "prefix=/usr" > "$pc"; \ - echo "libdir=/usr/lib/x86_64-linux-gnu" >> "$pc"; \ - echo "includedir=/usr/include/dldt" >> "$pc"; \ - echo "" >> "$pc"; \ - echo "Name: DLDT" >> "$pc"; \ - echo "Description: Intel Deep Learning Deployment Toolkit" >> "$pc"; \ - echo "Version: 5.0" >> "$pc"; \ - echo "" >> "$pc"; \ - echo "Libs: -L\${libdir} -linference_engine -linference_engine_c_wrapper" >> "$pc"; \ + rm -rf ../bin/intel64/Release/lib/libtest* + +ARG libdir=/opt/intel/dldt/inference-engine/lib/ubuntu_16.04/intel64 + +RUN mkdir -p /opt/intel/dldt/inference-engine/include && \ + cp -r dldt/inference-engine/include/* /opt/intel/dldt/inference-engine/include && \ + mkdir -p ${libdir} && \ + cp -r dldt/inference-engine/bin/intel64/Release/lib/* ${libdir} && \ + mkdir -p /opt/intel/dldt/inference-engine/src && \ + cp -r dldt/inference-engine/src/* /opt/intel/dldt/inference-engine/src/ && \ + mkdir -p /opt/intel/dldt/inference-engine/share && \ + cp -r dldt/inference-engine/build/share/* /opt/intel/dldt/inference-engine/share/ && \ + mkdir -p /opt/intel/dldt/inference-engine/external/omp/lib && \ + cp -r dldt/inference-engine/temp/omp/lib/* /opt/intel/dldt/inference-engine/external/omp/lib/ + +RUN mkdir -p build/opt/intel/dldt/inference-engine/include && \ + cp -r dldt/inference-engine/include/* build/opt/intel/dldt/inference-engine/include && \ + mkdir -p build${libdir} && \ + cp -r dldt/inference-engine/bin/intel64/Release/lib/* build${libdir} && \ + mkdir -p build/opt/intel/dldt/inference-engine/src && \ + cp -r dldt/inference-engine/src/* build/opt/intel/dldt/inference-engine/src/ && \ + mkdir -p build/opt/intel/dldt/inference-engine/share && \ + cp -r dldt/inference-engine/build/share/* build/opt/intel/dldt/inference-engine/share/ && \ + mkdir -p build/opt/intel/dldt/inference-engine/external/omp/lib && \ + cp -r dldt/inference-engine/temp/omp/lib/* build/opt/intel/dldt/inference-engine/external/omp/lib/ + +RUN for p in /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inference-engine; do \ + mkdir -p "${libdir}/pkgconfig" && \ + pc="${libdir}/pkgconfig/dldt.pc" && \ + echo "prefix=/opt" > "$pc" && \ + echo "libdir=${libdir}" >> "$pc" && \ + echo "includedir=/opt/intel/dldt/inference-engine/include" >> "$pc" && \ + echo "" >> "$pc" && \ + echo "Name: DLDT" >> "$pc" && \ + echo "Description: Intel Deep Learning Deployment Toolkit" >> "$pc" && \ + echo "Version: 5.0" >> "$pc" && \ + echo "" >> "$pc" && \ + echo "Libs: -L\${libdir} -linference_engine -linference_engine_c_wrapper" >> "$pc" && \ echo "Cflags: -I\${includedir}" >> "$pc"; \ done; +ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share +ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} + +#install Model Optimizer in the DLDT for Dev + + + + # Build the gstremaer core ARG GST_VER=1.14.4 ARG GST_REPO=https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${GST_VER}.tar.xz -RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libglib2.0-dev autopoint gtk-doc-tools +RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libglib2.0-dev gobject-introspection libgirepository1.0-dev libpango-1.0-0 libpangocairo-1.0-0 autopoint RUN wget -O - ${GST_REPO} | tar xJ && \ cd gstreamer-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-gst-debug --disable-debug --disable-benchmarks --disable-check && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib/x86_64-linux-gnu \ + --libexecdir=/usr/lib/x86_64-linux-gnu \ + --enable-shared \ + --disable-examples --disable-gst-debug \ + --disable-debug \ + --disable-benchmarks \ + --disable-gtk-doc && \ + make -j $(nproc) && \ + make install DESTDIR=/home/build && \ + make install; + +# Build the gstremaer plugin bad set +ARG GST_ORC_VER=0.4.28 +ARG GST_ORC_REPO=https://gstreamer.freedesktop.org/src/orc/orc-${GST_ORC_VER}.tar.xz + +RUN wget -O - ${GST_ORC_REPO} | tar xJ && \ + cd orc-${GST_ORC_VER} && \ + ./autogen.sh --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu \ + --libexecdir=/usr/lib/x86_64-linux-gnu \ + --enable-shared \ + --disable-examples --disable-debug \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin base ARG GST_PLUGIN_BASE_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-${GST_VER}.tar.xz +RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libxv-dev libvisual-0.4-dev libtheora-dev libglib2.0-dev libasound2-dev libcdparanoia-dev libgl1-mesa-dev libpango1.0-dev + RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ && \ cd gst-plugins-base-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-debug && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib/x86_64-linux-gnu \ + --libexecdir=/usr/lib/x86_64-linux-gnu \ + --enable-shared \ + --disable-examples --disable-debug \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install @@ -253,33 +315,53 @@ RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ && \ # Build the gstremaer plugin good set ARG GST_PLUGIN_GOOD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-${GST_VER}.tar.xz +RUN apt-get update && apt-get install -y -q --no-install-recommends libsoup2.4-dev libjpeg-dev + RUN wget -O - ${GST_PLUGIN_GOOD_REPO} | tar xJ && \ cd gst-plugins-good-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-debug && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib/x86_64-linux-gnu \ + --libexecdir=/usr/lib/x86_64-linux-gnu \ + --enable-shared \ + --disable-examples --disable-debug \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install + # Build the gstremaer plugin bad set ARG GST_PLUGIN_BAD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-${GST_VER}.tar.xz +RUN apt-get update && apt-get install -y -q --no-install-recommends libssl-dev + RUN wget -O - ${GST_PLUGIN_BAD_REPO} | tar xJ && \ cd gst-plugins-bad-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-debug && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib/x86_64-linux-gnu \ + --libexecdir=/usr/lib/x86_64-linux-gnu \ + --enable-shared \ + --disable-examples --disable-debug \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin ugly set ARG GST_PLUGIN_UGLY_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ && \ - cd gst-plugins-ugly-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-debug && \ - make -j8 && \ +RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ; \ + cd gst-plugins-ugly-${GST_VER}; \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib/x86_64-linux-gnu \ + --libexecdir=/usr/lib/x86_64-linux-gnu \ + --enable-shared \ + --disable-examples --disable-debug \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install @@ -290,9 +372,66 @@ RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no- RUN wget -O - ${GST_PLUGIN_LIBAV_REPO} | tar xJ && \ cd gst-libav-${GST_VER} && \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared --enable-gpl && \ - make -j8 && \ - make install DESTDIR="/home/build" + ./autogen.sh \ + --prefix="/usr" \ + --libdir=/usr/lib/x86_64-linux-gnu \ + --enable-shared \ + --enable-gpl \ + --disable-gtk-doc && \ + make -j $(nproc) && \ + make install DESTDIR=/home/build && \ + make install + + +ARG OPENCV_VER=4.0.0 +ARG OPENCV_REPO=https://github.com/opencv/opencv/archive/${OPENCV_VER}.tar.gz + +RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev python-dev python-numpy + +RUN wget ${OPENCV_REPO} && \ + tar -zxvf ${OPENCV_VER}.tar.gz && \ + cd opencv-${OPENCV_VER} && \ + mkdir build && \ + cd build && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -D BUILD_EXAMPLES=OFF -D BUILD_PERF_TESTS=OFF -D BUILD_DOCS=OFF -D BUILD_TESTS=OFF .. && \ + make -j $(nproc) && \ + make install DESTDIR=/home/build && \ + make install + +RUN apt-get install -y -q --no-install-recommends gtk-doc-tools + + + + +ARG PAHO_VER=1.3.0 +ARG PAHO_REPO=https://github.com/eclipse/paho.mqtt.c/archive/v${PAHO_VER}.tar.gz +RUN wget -O - https://github.com/eclipse/paho.mqtt.c/archive/v${PAHO_VER}.tar.gz | tar -xz; \ + cd paho.mqtt.c-${PAHO_VER}; \ + make; \ + make install; + +#Install va gstreamer plugins +#Has a dependency on OpenCV, GStreamer +ARG VA_GSTREAMER_PLUGINS_VER=0.3 +ARG VA_GSTREAMER_PLUGINS_REPO=https://github.com/opencv/gst-video-analytics/archive/v${VA_GSTREAMER_PLUGINS_VER}.tar.gz +RUN wget -O - ${VA_GSTREAMER_PLUGINS_REPO} | tar xz && \ + cd gst-video-analytics-${VA_GSTREAMER_PLUGINS_VER} && \ + mkdir build && \ + cd build && \ + export CFLAGS="-std=gnu99 -Wno-missing-field-initializers" && \ + export CXXFLAGS="-std=c++11 -Wno-missing-field-initializers" && \ + cmake \ + -DVERSION_PATCH=$(echo "$(git rev-list --count --first-parent HEAD)") \ + -DGIT_INFO=$(echo "git_$(git rev-parse --short HEAD)") \ + -DCMAKE_BUILD_TYPE=Release \ + -DDISABLE_SAMPLES=ON \ + -DDISABLE_VAAPI=ON \ + -DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX=/usr .. && \ + make -j4 +RUN mkdir -p build/usr/lib/x86_64-linux-gnu/gstreamer-1.0 && \ + cp -r gst-video-analytics-${VA_GSTREAMER_PLUGINS_VER}/build/intel64/Release/lib/* build/usr/lib/x86_64-linux-gnu/gstreamer-1.0 +RUN mkdir -p /usr/lib/x86_64-linux-gnu/gstreamer-1.0 && \ + cp -r gst-video-analytics-${VA_GSTREAMER_PLUGINS_VER}/build/intel64/Release/lib/* /usr/lib/x86_64-linux-gnu/gstreamer-1.0 @@ -309,9 +448,16 @@ LABEL Vendor="Intel Corporation" WORKDIR /home # Prerequisites -RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libnuma1 libssl1.0.0 libglib2.0 libpng12-0 libxv1 ; \ +RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libnuma1 libssl1.0.0 libglib2.0 libpango-1.0-0 libpangocairo-1.0-0 libpng12-0 libxv1 libvisual-0.4-0 libgl1-mesa-glx libpango-1.0-0 libtheora0 libcdparanoia0 libasound2 libsoup2.4-1 libjpeg8 libjpeg-turbo8 python3 libgtk2.0 libdrm2 libxv1 \ +; \ rm -rf /var/lib/apt/lists/*; # Install COPY --from=build /home/build / +ARG libdir=/opt/intel/dldt/inference-engine/lib/ubuntu_16.04/intel64 +ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share +ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/x86_64-linux-gnu/gstreamer-1.0 +ENV PKG_CONFIG_PATH=/usr/lib/x86_64-linux-gnu/pkgconfig +ENV LIBRARY_PATH=${LIBRARY_PATH}:/usr/lib +ENV PATH=${PATH}:/usr/bin diff --git a/Xeon/ubuntu-16.04/dldt+gst/Dockerfile.m4 b/Xeon/ubuntu-16.04/dldt+gst/Dockerfile.m4 index b1425c823..a045a9d12 100644 --- a/Xeon/ubuntu-16.04/dldt+gst/Dockerfile.m4 +++ b/Xeon/ubuntu-16.04/dldt+gst/Dockerfile.m4 @@ -18,11 +18,14 @@ include(svt-av1.m4) include(svt-vp9.m4) include(dldt-ie.m4) include(gst.m4) +include(gst-orc.m4) include(gst-plugin-base.m4) include(gst-plugin-good.m4) include(gst-plugin-bad.m4) include(gst-plugin-ugly.m4) include(gst-plugin-libav.m4) +include(opencv.m4) +include(gstreamer-videoanalytics.m4) include(cleanup.m4)dnl FROM ubuntu:16.04 diff --git a/Xeon/ubuntu-16.04/ffmpeg+gst+dev/Dockerfile b/Xeon/ubuntu-16.04/ffmpeg+gst+dev/Dockerfile index 2ceaad229..e273901f8 100644 --- a/Xeon/ubuntu-16.04/ffmpeg+gst+dev/Dockerfile +++ b/Xeon/ubuntu-16.04/ffmpeg+gst+dev/Dockerfile @@ -3,7 +3,7 @@ FROM ubuntu:16.04 AS build WORKDIR /home # COMMON BUILD TOOLS -RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends build-essential autoconf automake make git wget pciutils cpio libtool lsb-release ca-certificates pkg-config bison flex +RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends build-essential autoconf make git wget pciutils cpio libtool lsb-release ca-certificates pkg-config bison flex # Install cmake ARG CMAKE_VER=3.13.1 @@ -14,6 +14,11 @@ RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz make -j8 && \ make install +# Install automake, use version 1.14 on CentOS +ARG AUTOMAKE_VER=1.14 +ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz + RUN apt-get install -y -q automake + # Build NASM ARG NASM_VER=2.13.03 ARG NASM_REPO=https://www.nasm.us/pub/nasm/releasebuilds/${NASM_VER}/nasm-${NASM_VER}.tar.bz2 @@ -200,53 +205,134 @@ RUN git clone -b ${DLDT_VER} ${DLDT_REPO} && \ wget -O - ${DLDT_C_API_REPO} | patch -p2 && \ mkdir build && \ cd build && \ - cmake -DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_PATH=/usr/lib/x86_64-linux-gnu -DENABLE_MKL_DNN=ON -DENABLE_CLDNN=OFF -DENABLE_SAMPLES_CORE=OFF ..; \ - make -j16 && \ + cmake -DCMAKE_INSTALL_PREFIX=/opt/intel/dldt -DLIB_INSTALL_PATH=/opt/intel/dldt -DENABLE_MKL_DNN=ON -DENABLE_CLDNN=OFF -DENABLE_SAMPLE_CORE=OFF .. && \ + make -j $(nproc) && \ rm -rf ../bin/intel64/Release/lib/libgtest* && \ rm -rf ../bin/intel64/Release/lib/libgmock* && \ rm -rf ../bin/intel64/Release/lib/libmock* && \ - rm -rf ../bin/intel64/Release/lib/libtest* && \ - for p in /usr /home/build/usr; do \ - mkdir -p $p/include/dldt; \ - cp -r ../include/* $p/include/dldt; \ - libdir="$p/lib/x86_64-linux-gnu"; \ - cp -r ../bin/intel64/Release/lib/* "$libdir"; \ - cp -r ../temp/omp/lib/* "$libdir"; \ - mkdir -p "$libdir/pkgconfig"; \ - pc="$libdir/pkgconfig/dldt.pc"; \ - echo "prefix=/usr" > "$pc"; \ - echo "libdir=/usr/lib/x86_64-linux-gnu" >> "$pc"; \ - echo "includedir=/usr/include/dldt" >> "$pc"; \ - echo "" >> "$pc"; \ - echo "Name: DLDT" >> "$pc"; \ - echo "Description: Intel Deep Learning Deployment Toolkit" >> "$pc"; \ - echo "Version: 5.0" >> "$pc"; \ - echo "" >> "$pc"; \ - echo "Libs: -L\${libdir} -linference_engine -linference_engine_c_wrapper" >> "$pc"; \ + rm -rf ../bin/intel64/Release/lib/libtest* + +ARG libdir=/opt/intel/dldt/inference-engine/lib/ubuntu_16.04/intel64 + +RUN mkdir -p /opt/intel/dldt/inference-engine/include && \ + cp -r dldt/inference-engine/include/* /opt/intel/dldt/inference-engine/include && \ + mkdir -p ${libdir} && \ + cp -r dldt/inference-engine/bin/intel64/Release/lib/* ${libdir} && \ + mkdir -p /opt/intel/dldt/inference-engine/src && \ + cp -r dldt/inference-engine/src/* /opt/intel/dldt/inference-engine/src/ && \ + mkdir -p /opt/intel/dldt/inference-engine/share && \ + cp -r dldt/inference-engine/build/share/* /opt/intel/dldt/inference-engine/share/ && \ + mkdir -p /opt/intel/dldt/inference-engine/external/omp/lib && \ + cp -r dldt/inference-engine/temp/omp/lib/* /opt/intel/dldt/inference-engine/external/omp/lib/ + +RUN mkdir -p build/opt/intel/dldt/inference-engine/include && \ + cp -r dldt/inference-engine/include/* build/opt/intel/dldt/inference-engine/include && \ + mkdir -p build${libdir} && \ + cp -r dldt/inference-engine/bin/intel64/Release/lib/* build${libdir} && \ + mkdir -p build/opt/intel/dldt/inference-engine/src && \ + cp -r dldt/inference-engine/src/* build/opt/intel/dldt/inference-engine/src/ && \ + mkdir -p build/opt/intel/dldt/inference-engine/share && \ + cp -r dldt/inference-engine/build/share/* build/opt/intel/dldt/inference-engine/share/ && \ + mkdir -p build/opt/intel/dldt/inference-engine/external/omp/lib && \ + cp -r dldt/inference-engine/temp/omp/lib/* build/opt/intel/dldt/inference-engine/external/omp/lib/ + +RUN for p in /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inference-engine; do \ + mkdir -p "${libdir}/pkgconfig" && \ + pc="${libdir}/pkgconfig/dldt.pc" && \ + echo "prefix=/opt" > "$pc" && \ + echo "libdir=${libdir}" >> "$pc" && \ + echo "includedir=/opt/intel/dldt/inference-engine/include" >> "$pc" && \ + echo "" >> "$pc" && \ + echo "Name: DLDT" >> "$pc" && \ + echo "Description: Intel Deep Learning Deployment Toolkit" >> "$pc" && \ + echo "Version: 5.0" >> "$pc" && \ + echo "" >> "$pc" && \ + echo "Libs: -L\${libdir} -linference_engine -linference_engine_c_wrapper" >> "$pc" && \ echo "Cflags: -I\${includedir}" >> "$pc"; \ done; +ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share +ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} + +#install Model Optimizer in the DLDT for Dev +ARG PYTHON_TRUSTED_HOST +ARG PYTHON_TRUSTED_INDEX_URL +#install MO dependencies +RUN DEBIAN_FRONTEND=noninteractive apt-get install -y -q --no-install-recommends python3-dev python3-pip python3-setuptools python3-wheel +#RUN pip3 install numpy scipy +RUN git clone https://github.com/google/protobuf.git && \ + cd protobuf && \ + git submodule update --init --recursive && \ + ./autogen.sh && \ + ./configure && \ + make && \ + make install && \ + make install DESTDIR=/home/build +#RUN apt-get update && apt-get install -y sudo +#installing dependency libs to mo_libs directory to avoid issues with updates to Python version +RUN cd dldt/model-optimizer && \ +if [ "x$PYTHON_TRUSTED_HOST" = "x" ] ; \ +then pip3 install --target=/home/build/mo_libs -r requirements.txt && \ +pip3 install -r requirements.txt; \ +else pip3 install --target=/home/build/mo_libs -r requirements.txt -i $PYTHON_TRUSTED_INDEX_URL --trusted-host $PYTHON_TRUSTED_HOST && \ +pip3 install -r requirements.txt -i $PYTHON_TRUSTED_INDEX_URL --trusted-host $PYTHON_TRUSTED_HOST; \ +fi + +#Copy over Model Optimizer to same directory as Inference Engine +RUN cp -r dldt/model-optimizer /opt/intel/dldt/model-optimizer +RUN cp -r dldt/model-optimizer /home/build/opt/intel/dldt/model-optimizer + + + + # Build the gstremaer core ARG GST_VER=1.14.4 ARG GST_REPO=https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${GST_VER}.tar.xz -RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libglib2.0-dev autopoint gtk-doc-tools +RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libglib2.0-dev gobject-introspection libgirepository1.0-dev libpango-1.0-0 libpangocairo-1.0-0 autopoint RUN wget -O - ${GST_REPO} | tar xJ && \ cd gstreamer-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib/x86_64-linux-gnu \ + --libexecdir=/usr/lib/x86_64-linux-gnu \ + --enable-shared \ + --disable-examples \ + --disable-gtk-doc && \ + make -j $(nproc) && \ + make install DESTDIR=/home/build && \ + make install; + +# Build the gstremaer plugin bad set +ARG GST_ORC_VER=0.4.28 +ARG GST_ORC_REPO=https://gstreamer.freedesktop.org/src/orc/orc-${GST_ORC_VER}.tar.xz + +RUN wget -O - ${GST_ORC_REPO} | tar xJ && \ + cd orc-${GST_ORC_VER} && \ + ./autogen.sh --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu \ + --libexecdir=/usr/lib/x86_64-linux-gnu \ + --enable-shared \ + --disable-examples \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin base ARG GST_PLUGIN_BASE_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-${GST_VER}.tar.xz +RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libxv-dev libvisual-0.4-dev libtheora-dev libglib2.0-dev libasound2-dev libcdparanoia-dev libgl1-mesa-dev libpango1.0-dev + RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ && \ cd gst-plugins-base-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib/x86_64-linux-gnu \ + --libexecdir=/usr/lib/x86_64-linux-gnu \ + --enable-shared \ + --disable-examples \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install @@ -254,33 +340,53 @@ RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ && \ # Build the gstremaer plugin good set ARG GST_PLUGIN_GOOD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-${GST_VER}.tar.xz +RUN apt-get update && apt-get install -y -q --no-install-recommends libsoup2.4-dev libjpeg-dev + RUN wget -O - ${GST_PLUGIN_GOOD_REPO} | tar xJ && \ cd gst-plugins-good-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib/x86_64-linux-gnu \ + --libexecdir=/usr/lib/x86_64-linux-gnu \ + --enable-shared \ + --disable-examples \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install + # Build the gstremaer plugin bad set ARG GST_PLUGIN_BAD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-${GST_VER}.tar.xz +RUN apt-get update && apt-get install -y -q --no-install-recommends libssl-dev + RUN wget -O - ${GST_PLUGIN_BAD_REPO} | tar xJ && \ cd gst-plugins-bad-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib/x86_64-linux-gnu \ + --libexecdir=/usr/lib/x86_64-linux-gnu \ + --enable-shared \ + --disable-examples \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin ugly set ARG GST_PLUGIN_UGLY_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ && \ - cd gst-plugins-ugly-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples && \ - make -j8 && \ +RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ; \ + cd gst-plugins-ugly-${GST_VER}; \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib/x86_64-linux-gnu \ + --libexecdir=/usr/lib/x86_64-linux-gnu \ + --enable-shared \ + --disable-examples \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install @@ -291,9 +397,66 @@ RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no- RUN wget -O - ${GST_PLUGIN_LIBAV_REPO} | tar xJ && \ cd gst-libav-${GST_VER} && \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared --enable-gpl && \ - make -j8 && \ - make install DESTDIR="/home/build" + ./autogen.sh \ + --prefix="/usr" \ + --libdir=/usr/lib/x86_64-linux-gnu \ + --enable-shared \ + --enable-gpl \ + --disable-gtk-doc && \ + make -j $(nproc) && \ + make install DESTDIR=/home/build && \ + make install + + +ARG OPENCV_VER=4.0.0 +ARG OPENCV_REPO=https://github.com/opencv/opencv/archive/${OPENCV_VER}.tar.gz + +RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev python-dev python-numpy + +RUN wget ${OPENCV_REPO} && \ + tar -zxvf ${OPENCV_VER}.tar.gz && \ + cd opencv-${OPENCV_VER} && \ + mkdir build && \ + cd build && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -D BUILD_EXAMPLES=OFF -D BUILD_PERF_TESTS=OFF -D BUILD_DOCS=OFF -D BUILD_TESTS=OFF .. && \ + make -j $(nproc) && \ + make install DESTDIR=/home/build && \ + make install + +RUN apt-get install -y -q --no-install-recommends gtk-doc-tools + + + + +ARG PAHO_VER=1.3.0 +ARG PAHO_REPO=https://github.com/eclipse/paho.mqtt.c/archive/v${PAHO_VER}.tar.gz +RUN wget -O - https://github.com/eclipse/paho.mqtt.c/archive/v${PAHO_VER}.tar.gz | tar -xz; \ + cd paho.mqtt.c-${PAHO_VER}; \ + make; \ + make install; + +#Install va gstreamer plugins +#Has a dependency on OpenCV, GStreamer +ARG VA_GSTREAMER_PLUGINS_VER=0.3 +ARG VA_GSTREAMER_PLUGINS_REPO=https://github.com/opencv/gst-video-analytics/archive/v${VA_GSTREAMER_PLUGINS_VER}.tar.gz +RUN wget -O - ${VA_GSTREAMER_PLUGINS_REPO} | tar xz && \ + cd gst-video-analytics-${VA_GSTREAMER_PLUGINS_VER} && \ + mkdir build && \ + cd build && \ + export CFLAGS="-std=gnu99 -Wno-missing-field-initializers" && \ + export CXXFLAGS="-std=c++11 -Wno-missing-field-initializers" && \ + cmake \ + -DVERSION_PATCH=$(echo "$(git rev-list --count --first-parent HEAD)") \ + -DGIT_INFO=$(echo "git_$(git rev-parse --short HEAD)") \ + -DCMAKE_BUILD_TYPE=Release \ + -DDISABLE_SAMPLES=ON \ + -DDISABLE_VAAPI=ON \ + -DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX=/usr .. && \ + make -j4 +RUN mkdir -p build/usr/lib/x86_64-linux-gnu/gstreamer-1.0 && \ + cp -r gst-video-analytics-${VA_GSTREAMER_PLUGINS_VER}/build/intel64/Release/lib/* build/usr/lib/x86_64-linux-gnu/gstreamer-1.0 +RUN mkdir -p /usr/lib/x86_64-linux-gnu/gstreamer-1.0 && \ + cp -r gst-video-analytics-${VA_GSTREAMER_PLUGINS_VER}/build/intel64/Release/lib/* /usr/lib/x86_64-linux-gnu/gstreamer-1.0 @@ -352,9 +515,17 @@ LABEL Vendor="Intel Corporation" WORKDIR /home # Prerequisites -RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libxv1 libxcb-shm0 libxcb-shape0 libxcb-xfixes0 libsdl2-2.0-0 libasound2 libnuma1 libass5 libssl1.0.0 libglib2.0 libpng12-0 libxv1 ; \ +RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libxv1 libxcb-shm0 libxcb-shape0 libxcb-xfixes0 libsdl2-2.0-0 libasound2 libnuma1 libass5 libssl1.0.0 libglib2.0 libpango-1.0-0 libpangocairo-1.0-0 libpng12-0 libxv1 libvisual-0.4-0 libgl1-mesa-glx libpango-1.0-0 libtheora0 libcdparanoia0 libasound2 libsoup2.4-1 libjpeg8 libjpeg-turbo8 python3 libgtk2.0 libdrm2 libxv1 \ +; \ rm -rf /var/lib/apt/lists/*; # Install COPY --from=build /home/build / +ARG libdir=/opt/intel/dldt/inference-engine/lib/ubuntu_16.04/intel64 +ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share +ENV PYTHONPATH=${PYTHONPATH}:/mo_libs +ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/x86_64-linux-gnu/gstreamer-1.0 +ENV PKG_CONFIG_PATH=/usr/lib/x86_64-linux-gnu/pkgconfig +ENV LIBRARY_PATH=${LIBRARY_PATH}:/usr/lib +ENV PATH=${PATH}:/usr/bin diff --git a/Xeon/ubuntu-16.04/ffmpeg+gst+dev/Dockerfile.m4 b/Xeon/ubuntu-16.04/ffmpeg+gst+dev/Dockerfile.m4 index e4337fe48..2c27ae0cd 100644 --- a/Xeon/ubuntu-16.04/ffmpeg+gst+dev/Dockerfile.m4 +++ b/Xeon/ubuntu-16.04/ffmpeg+gst+dev/Dockerfile.m4 @@ -19,11 +19,14 @@ include(svt-vp9.m4) #include(transform360.m4) include(dldt-ie.m4) include(gst.m4) +include(gst-orc.m4) include(gst-plugin-base.m4) include(gst-plugin-good.m4) include(gst-plugin-bad.m4) include(gst-plugin-ugly.m4) include(gst-plugin-libav.m4) +include(opencv.m4) +include(gstreamer-videoanalytics.m4) include(ffmpeg.m4) include(cleanup.m4)dnl diff --git a/Xeon/ubuntu-16.04/ffmpeg/Dockerfile b/Xeon/ubuntu-16.04/ffmpeg/Dockerfile index da5c504e4..43a5bca9c 100644 --- a/Xeon/ubuntu-16.04/ffmpeg/Dockerfile +++ b/Xeon/ubuntu-16.04/ffmpeg/Dockerfile @@ -3,7 +3,7 @@ FROM ubuntu:16.04 AS build WORKDIR /home # COMMON BUILD TOOLS -RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends build-essential autoconf automake make git wget pciutils cpio libtool lsb-release ca-certificates pkg-config bison flex +RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends build-essential autoconf make git wget pciutils cpio libtool lsb-release ca-certificates pkg-config bison flex # Install cmake ARG CMAKE_VER=3.13.1 @@ -14,6 +14,11 @@ RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz make -j8 && \ make install +# Install automake, use version 1.14 on CentOS +ARG AUTOMAKE_VER=1.14 +ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz + RUN apt-get install -y -q automake + # Build NASM ARG NASM_VER=2.13.03 ARG NASM_REPO=https://www.nasm.us/pub/nasm/releasebuilds/${NASM_VER}/nasm-${NASM_VER}.tar.bz2 diff --git a/Xeon/ubuntu-16.04/gst/Dockerfile b/Xeon/ubuntu-16.04/gst/Dockerfile index 6a7c69c87..83d86a019 100644 --- a/Xeon/ubuntu-16.04/gst/Dockerfile +++ b/Xeon/ubuntu-16.04/gst/Dockerfile @@ -3,7 +3,7 @@ FROM ubuntu:16.04 AS build WORKDIR /home # COMMON BUILD TOOLS -RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends build-essential autoconf automake make git wget pciutils cpio libtool lsb-release ca-certificates pkg-config bison flex +RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends build-essential autoconf make git wget pciutils cpio libtool lsb-release ca-certificates pkg-config bison flex # Install cmake ARG CMAKE_VER=3.13.1 @@ -14,6 +14,11 @@ RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz make -j8 && \ make install +# Install automake, use version 1.14 on CentOS +ARG AUTOMAKE_VER=1.14 +ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz + RUN apt-get install -y -q automake + # Build NASM ARG NASM_VER=2.13.03 ARG NASM_REPO=https://www.nasm.us/pub/nasm/releasebuilds/${NASM_VER}/nasm-${NASM_VER}.tar.bz2 @@ -189,23 +194,37 @@ RUN git clone ${SVT_VP9_REPO} && \ ARG GST_VER=1.14.4 ARG GST_REPO=https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${GST_VER}.tar.xz -RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libglib2.0-dev autopoint gtk-doc-tools +RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libglib2.0-dev gobject-introspection libgirepository1.0-dev libpango-1.0-0 libpangocairo-1.0-0 autopoint RUN wget -O - ${GST_REPO} | tar xJ && \ cd gstreamer-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-gst-debug --disable-debug --disable-benchmarks --disable-check && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib/x86_64-linux-gnu \ + --libexecdir=/usr/lib/x86_64-linux-gnu \ + --enable-shared \ + --disable-examples --disable-gst-debug \ + --disable-debug \ + --disable-benchmarks \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ - make install + make install; # Build the gstremaer plugin base ARG GST_PLUGIN_BASE_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-${GST_VER}.tar.xz +RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libxv-dev libvisual-0.4-dev libtheora-dev libglib2.0-dev libasound2-dev libcdparanoia-dev libgl1-mesa-dev libpango1.0-dev + RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ && \ cd gst-plugins-base-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-debug && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib/x86_64-linux-gnu \ + --libexecdir=/usr/lib/x86_64-linux-gnu \ + --enable-shared \ + --disable-examples --disable-debug \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install @@ -213,33 +232,53 @@ RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ && \ # Build the gstremaer plugin good set ARG GST_PLUGIN_GOOD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-${GST_VER}.tar.xz +RUN apt-get update && apt-get install -y -q --no-install-recommends libsoup2.4-dev libjpeg-dev + RUN wget -O - ${GST_PLUGIN_GOOD_REPO} | tar xJ && \ cd gst-plugins-good-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-debug && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib/x86_64-linux-gnu \ + --libexecdir=/usr/lib/x86_64-linux-gnu \ + --enable-shared \ + --disable-examples --disable-debug \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install + # Build the gstremaer plugin bad set ARG GST_PLUGIN_BAD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-${GST_VER}.tar.xz +RUN apt-get update && apt-get install -y -q --no-install-recommends libssl-dev + RUN wget -O - ${GST_PLUGIN_BAD_REPO} | tar xJ && \ cd gst-plugins-bad-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-debug && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib/x86_64-linux-gnu \ + --libexecdir=/usr/lib/x86_64-linux-gnu \ + --enable-shared \ + --disable-examples --disable-debug \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin ugly set ARG GST_PLUGIN_UGLY_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ && \ - cd gst-plugins-ugly-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-debug && \ - make -j8 && \ +RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ; \ + cd gst-plugins-ugly-${GST_VER}; \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib/x86_64-linux-gnu \ + --libexecdir=/usr/lib/x86_64-linux-gnu \ + --enable-shared \ + --disable-examples --disable-debug \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install @@ -250,10 +289,15 @@ RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no- RUN wget -O - ${GST_PLUGIN_LIBAV_REPO} | tar xJ && \ cd gst-libav-${GST_VER} && \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared --enable-gpl && \ - make -j8 && \ - make install DESTDIR="/home/build" - + ./autogen.sh \ + --prefix="/usr" \ + --libdir=/usr/lib/x86_64-linux-gnu \ + --enable-shared \ + --enable-gpl \ + --disable-gtk-doc && \ + make -j $(nproc) && \ + make install DESTDIR=/home/build && \ + make install # Clean up after build @@ -269,7 +313,7 @@ LABEL Vendor="Intel Corporation" WORKDIR /home # Prerequisites -RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libnuma1 libssl1.0.0 libglib2.0 libpng12-0 libxv1 ; \ +RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libnuma1 libssl1.0.0 libglib2.0 libpango-1.0-0 libpangocairo-1.0-0 libpng12-0 libxv1 libvisual-0.4-0 libgl1-mesa-glx libpango-1.0-0 libtheora0 libcdparanoia0 libasound2 libsoup2.4-1 libjpeg8 libjpeg-turbo8 ; \ rm -rf /var/lib/apt/lists/*; # Install diff --git a/Xeon/ubuntu-16.04/nginx+rtmp/Dockerfile b/Xeon/ubuntu-16.04/nginx+rtmp/Dockerfile index b51dc0971..5c8810cef 100644 --- a/Xeon/ubuntu-16.04/nginx+rtmp/Dockerfile +++ b/Xeon/ubuntu-16.04/nginx+rtmp/Dockerfile @@ -3,7 +3,7 @@ FROM ubuntu:16.04 AS build WORKDIR /home # COMMON BUILD TOOLS -RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends build-essential autoconf automake make git wget pciutils cpio libtool lsb-release ca-certificates pkg-config bison flex +RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends build-essential autoconf make git wget pciutils cpio libtool lsb-release ca-certificates pkg-config bison flex # Install cmake ARG CMAKE_VER=3.13.1 @@ -14,6 +14,11 @@ RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz make -j8 && \ make install +# Install automake, use version 1.14 on CentOS +ARG AUTOMAKE_VER=1.14 +ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz + RUN apt-get install -y -q automake + # Build nginx-rtmp ARG NGINX_RTMP_VER=v1.2.1 diff --git a/Xeon/ubuntu-16.04/ospray/Dockerfile b/Xeon/ubuntu-16.04/ospray/Dockerfile index f5ff0170d..1ab1c4811 100644 --- a/Xeon/ubuntu-16.04/ospray/Dockerfile +++ b/Xeon/ubuntu-16.04/ospray/Dockerfile @@ -3,7 +3,7 @@ FROM ubuntu:16.04 AS build WORKDIR /home # COMMON BUILD TOOLS -RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends build-essential autoconf automake make git wget pciutils cpio libtool lsb-release ca-certificates pkg-config bison flex +RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends build-essential autoconf make git wget pciutils cpio libtool lsb-release ca-certificates pkg-config bison flex # Install cmake ARG CMAKE_VER=3.13.1 @@ -14,6 +14,11 @@ RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz make -j8 && \ make install +# Install automake, use version 1.14 on CentOS +ARG AUTOMAKE_VER=1.14 +ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz + RUN apt-get install -y -q automake + # Build NASM ARG NASM_VER=2.13.03 ARG NASM_REPO=https://www.nasm.us/pub/nasm/releasebuilds/${NASM_VER}/nasm-${NASM_VER}.tar.bz2 diff --git a/Xeon/ubuntu-18.04/dldt+ffmpeg/Dockerfile b/Xeon/ubuntu-18.04/dldt+ffmpeg/Dockerfile index 0d79e4652..090e60a51 100644 --- a/Xeon/ubuntu-18.04/dldt+ffmpeg/Dockerfile +++ b/Xeon/ubuntu-18.04/dldt+ffmpeg/Dockerfile @@ -3,7 +3,7 @@ FROM ubuntu:18.04 AS build WORKDIR /home # COMMON BUILD TOOLS -RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends build-essential autoconf automake make git wget pciutils cpio libtool lsb-release ca-certificates pkg-config bison flex +RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends build-essential autoconf make git wget pciutils cpio libtool lsb-release ca-certificates pkg-config bison flex # Install cmake ARG CMAKE_VER=3.13.1 @@ -14,6 +14,11 @@ RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz make -j8 && \ make install +# Install automake, use version 1.14 on CentOS +ARG AUTOMAKE_VER=1.14 +ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz + RUN apt-get install -y -q automake + # Build NASM ARG NASM_VER=2.13.03 ARG NASM_REPO=https://www.nasm.us/pub/nasm/releasebuilds/${NASM_VER}/nasm-${NASM_VER}.tar.bz2 @@ -200,32 +205,61 @@ RUN git clone -b ${DLDT_VER} ${DLDT_REPO} && \ wget -O - ${DLDT_C_API_REPO} | patch -p2 && \ mkdir build && \ cd build && \ - cmake -DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_PATH=/usr/lib/x86_64-linux-gnu -DENABLE_MKL_DNN=ON -DENABLE_CLDNN=OFF -DENABLE_SAMPLES_CORE=OFF ..; \ - make -j16 && \ + cmake -DCMAKE_INSTALL_PREFIX=/opt/intel/dldt -DLIB_INSTALL_PATH=/opt/intel/dldt -DENABLE_MKL_DNN=ON -DENABLE_CLDNN=OFF -DENABLE_SAMPLE_CORE=OFF .. && \ + make -j $(nproc) && \ rm -rf ../bin/intel64/Release/lib/libgtest* && \ rm -rf ../bin/intel64/Release/lib/libgmock* && \ rm -rf ../bin/intel64/Release/lib/libmock* && \ - rm -rf ../bin/intel64/Release/lib/libtest* && \ - for p in /usr /home/build/usr; do \ - mkdir -p $p/include/dldt; \ - cp -r ../include/* $p/include/dldt; \ - libdir="$p/lib/x86_64-linux-gnu"; \ - cp -r ../bin/intel64/Release/lib/* "$libdir"; \ - cp -r ../temp/omp/lib/* "$libdir"; \ - mkdir -p "$libdir/pkgconfig"; \ - pc="$libdir/pkgconfig/dldt.pc"; \ - echo "prefix=/usr" > "$pc"; \ - echo "libdir=/usr/lib/x86_64-linux-gnu" >> "$pc"; \ - echo "includedir=/usr/include/dldt" >> "$pc"; \ - echo "" >> "$pc"; \ - echo "Name: DLDT" >> "$pc"; \ - echo "Description: Intel Deep Learning Deployment Toolkit" >> "$pc"; \ - echo "Version: 5.0" >> "$pc"; \ - echo "" >> "$pc"; \ - echo "Libs: -L\${libdir} -linference_engine -linference_engine_c_wrapper" >> "$pc"; \ + rm -rf ../bin/intel64/Release/lib/libtest* + +ARG libdir=/opt/intel/dldt/inference-engine/lib/ubuntu_18.04/intel64 + #RUN find dldt/inference-engine/cmake/share/ -type f | xargs sed -i 's/16.04/18.04/g' + +RUN mkdir -p /opt/intel/dldt/inference-engine/include && \ + cp -r dldt/inference-engine/include/* /opt/intel/dldt/inference-engine/include && \ + mkdir -p ${libdir} && \ + cp -r dldt/inference-engine/bin/intel64/Release/lib/* ${libdir} && \ + mkdir -p /opt/intel/dldt/inference-engine/src && \ + cp -r dldt/inference-engine/src/* /opt/intel/dldt/inference-engine/src/ && \ + mkdir -p /opt/intel/dldt/inference-engine/share && \ + cp -r dldt/inference-engine/build/share/* /opt/intel/dldt/inference-engine/share/ && \ + mkdir -p /opt/intel/dldt/inference-engine/external/omp/lib && \ + cp -r dldt/inference-engine/temp/omp/lib/* /opt/intel/dldt/inference-engine/external/omp/lib/ + +RUN mkdir -p build/opt/intel/dldt/inference-engine/include && \ + cp -r dldt/inference-engine/include/* build/opt/intel/dldt/inference-engine/include && \ + mkdir -p build${libdir} && \ + cp -r dldt/inference-engine/bin/intel64/Release/lib/* build${libdir} && \ + mkdir -p build/opt/intel/dldt/inference-engine/src && \ + cp -r dldt/inference-engine/src/* build/opt/intel/dldt/inference-engine/src/ && \ + mkdir -p build/opt/intel/dldt/inference-engine/share && \ + cp -r dldt/inference-engine/build/share/* build/opt/intel/dldt/inference-engine/share/ && \ + mkdir -p build/opt/intel/dldt/inference-engine/external/omp/lib && \ + cp -r dldt/inference-engine/temp/omp/lib/* build/opt/intel/dldt/inference-engine/external/omp/lib/ + +RUN for p in /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inference-engine; do \ + mkdir -p "${libdir}/pkgconfig" && \ + pc="${libdir}/pkgconfig/dldt.pc" && \ + echo "prefix=/opt" > "$pc" && \ + echo "libdir=${libdir}" >> "$pc" && \ + echo "includedir=/opt/intel/dldt/inference-engine/include" >> "$pc" && \ + echo "" >> "$pc" && \ + echo "Name: DLDT" >> "$pc" && \ + echo "Description: Intel Deep Learning Deployment Toolkit" >> "$pc" && \ + echo "Version: 5.0" >> "$pc" && \ + echo "" >> "$pc" && \ + echo "Libs: -L\${libdir} -linference_engine -linference_engine_c_wrapper" >> "$pc" && \ echo "Cflags: -I\${includedir}" >> "$pc"; \ done; +ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share +ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} + +#install Model Optimizer in the DLDT for Dev + + + + # Build librdkafka ARG LIBRDKAFKA_VER=0.11.6 ARG FILE_NAME=v${LIBRDKAFKA_VER} @@ -300,9 +334,11 @@ WORKDIR /home # Prerequisites RUN ln -sf /usr/share/zoneinfo/UTC /etc/localtime; \ - DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libnuma1 libssl1.1 libpciaccess0 ; \ + DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libnuma1 libssl1.1 libpciaccess0 python3 ; \ rm -rf /var/lib/apt/lists/*; # Install COPY --from=build /home/build / +ARG libdir=/opt/intel/dldt/inference-engine/lib/ubuntu_18.04/intel64 +ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share diff --git a/Xeon/ubuntu-18.04/dldt+gst/Dockerfile b/Xeon/ubuntu-18.04/dldt+gst/Dockerfile index 4953dc070..853f5afad 100644 --- a/Xeon/ubuntu-18.04/dldt+gst/Dockerfile +++ b/Xeon/ubuntu-18.04/dldt+gst/Dockerfile @@ -3,7 +3,7 @@ FROM ubuntu:18.04 AS build WORKDIR /home # COMMON BUILD TOOLS -RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends build-essential autoconf automake make git wget pciutils cpio libtool lsb-release ca-certificates pkg-config bison flex +RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends build-essential autoconf make git wget pciutils cpio libtool lsb-release ca-certificates pkg-config bison flex # Install cmake ARG CMAKE_VER=3.13.1 @@ -14,6 +14,11 @@ RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz make -j8 && \ make install +# Install automake, use version 1.14 on CentOS +ARG AUTOMAKE_VER=1.14 +ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz + RUN apt-get install -y -q automake + # Build NASM ARG NASM_VER=2.13.03 ARG NASM_REPO=https://www.nasm.us/pub/nasm/releasebuilds/${NASM_VER}/nasm-${NASM_VER}.tar.bz2 @@ -199,54 +204,112 @@ RUN git clone -b ${DLDT_VER} ${DLDT_REPO} && \ wget -O - ${DLDT_C_API_REPO} | patch -p2 && \ mkdir build && \ cd build && \ - cmake -DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_PATH=/usr/lib/x86_64-linux-gnu -DENABLE_MKL_DNN=ON -DENABLE_CLDNN=OFF -DENABLE_SAMPLES_CORE=OFF ..; \ - make -j16 && \ + cmake -DCMAKE_INSTALL_PREFIX=/opt/intel/dldt -DLIB_INSTALL_PATH=/opt/intel/dldt -DENABLE_MKL_DNN=ON -DENABLE_CLDNN=OFF -DENABLE_SAMPLE_CORE=OFF .. && \ + make -j $(nproc) && \ rm -rf ../bin/intel64/Release/lib/libgtest* && \ rm -rf ../bin/intel64/Release/lib/libgmock* && \ rm -rf ../bin/intel64/Release/lib/libmock* && \ - rm -rf ../bin/intel64/Release/lib/libtest* && \ - for p in /usr /home/build/usr; do \ - mkdir -p $p/include/dldt; \ - cp -r ../include/* $p/include/dldt; \ - libdir="$p/lib/x86_64-linux-gnu"; \ - cp -r ../bin/intel64/Release/lib/* "$libdir"; \ - cp -r ../temp/omp/lib/* "$libdir"; \ - mkdir -p "$libdir/pkgconfig"; \ - pc="$libdir/pkgconfig/dldt.pc"; \ - echo "prefix=/usr" > "$pc"; \ - echo "libdir=/usr/lib/x86_64-linux-gnu" >> "$pc"; \ - echo "includedir=/usr/include/dldt" >> "$pc"; \ - echo "" >> "$pc"; \ - echo "Name: DLDT" >> "$pc"; \ - echo "Description: Intel Deep Learning Deployment Toolkit" >> "$pc"; \ - echo "Version: 5.0" >> "$pc"; \ - echo "" >> "$pc"; \ - echo "Libs: -L\${libdir} -linference_engine -linference_engine_c_wrapper" >> "$pc"; \ + rm -rf ../bin/intel64/Release/lib/libtest* + +ARG libdir=/opt/intel/dldt/inference-engine/lib/ubuntu_18.04/intel64 + #RUN find dldt/inference-engine/cmake/share/ -type f | xargs sed -i 's/16.04/18.04/g' + +RUN mkdir -p /opt/intel/dldt/inference-engine/include && \ + cp -r dldt/inference-engine/include/* /opt/intel/dldt/inference-engine/include && \ + mkdir -p ${libdir} && \ + cp -r dldt/inference-engine/bin/intel64/Release/lib/* ${libdir} && \ + mkdir -p /opt/intel/dldt/inference-engine/src && \ + cp -r dldt/inference-engine/src/* /opt/intel/dldt/inference-engine/src/ && \ + mkdir -p /opt/intel/dldt/inference-engine/share && \ + cp -r dldt/inference-engine/build/share/* /opt/intel/dldt/inference-engine/share/ && \ + mkdir -p /opt/intel/dldt/inference-engine/external/omp/lib && \ + cp -r dldt/inference-engine/temp/omp/lib/* /opt/intel/dldt/inference-engine/external/omp/lib/ + +RUN mkdir -p build/opt/intel/dldt/inference-engine/include && \ + cp -r dldt/inference-engine/include/* build/opt/intel/dldt/inference-engine/include && \ + mkdir -p build${libdir} && \ + cp -r dldt/inference-engine/bin/intel64/Release/lib/* build${libdir} && \ + mkdir -p build/opt/intel/dldt/inference-engine/src && \ + cp -r dldt/inference-engine/src/* build/opt/intel/dldt/inference-engine/src/ && \ + mkdir -p build/opt/intel/dldt/inference-engine/share && \ + cp -r dldt/inference-engine/build/share/* build/opt/intel/dldt/inference-engine/share/ && \ + mkdir -p build/opt/intel/dldt/inference-engine/external/omp/lib && \ + cp -r dldt/inference-engine/temp/omp/lib/* build/opt/intel/dldt/inference-engine/external/omp/lib/ + +RUN for p in /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inference-engine; do \ + mkdir -p "${libdir}/pkgconfig" && \ + pc="${libdir}/pkgconfig/dldt.pc" && \ + echo "prefix=/opt" > "$pc" && \ + echo "libdir=${libdir}" >> "$pc" && \ + echo "includedir=/opt/intel/dldt/inference-engine/include" >> "$pc" && \ + echo "" >> "$pc" && \ + echo "Name: DLDT" >> "$pc" && \ + echo "Description: Intel Deep Learning Deployment Toolkit" >> "$pc" && \ + echo "Version: 5.0" >> "$pc" && \ + echo "" >> "$pc" && \ + echo "Libs: -L\${libdir} -linference_engine -linference_engine_c_wrapper" >> "$pc" && \ echo "Cflags: -I\${includedir}" >> "$pc"; \ done; +ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share +ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} + +#install Model Optimizer in the DLDT for Dev + + + + # Build the gstremaer core ARG GST_VER=1.14.4 ARG GST_REPO=https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${GST_VER}.tar.xz RUN ln -sf /usr/share/zoneinfo/UTC /etc/localtime; \ - DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libglib2.0-dev autopoint gtk-doc-tools + DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libglib2.0-dev gobject-introspection libgirepository1.0-dev libpango-1.0-0 libpangocairo-1.0-0 autopoint RUN wget -O - ${GST_REPO} | tar xJ && \ cd gstreamer-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-gst-debug --disable-debug --disable-benchmarks --disable-check && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib/x86_64-linux-gnu \ + --libexecdir=/usr/lib/x86_64-linux-gnu \ + --enable-shared \ + --disable-examples --disable-gst-debug \ + --disable-debug \ + --disable-benchmarks \ + --disable-gtk-doc && \ + make -j $(nproc) && \ + make install DESTDIR=/home/build && \ + make install; + +# Build the gstremaer plugin bad set +ARG GST_ORC_VER=0.4.28 +ARG GST_ORC_REPO=https://gstreamer.freedesktop.org/src/orc/orc-${GST_ORC_VER}.tar.xz + +RUN wget -O - ${GST_ORC_REPO} | tar xJ && \ + cd orc-${GST_ORC_VER} && \ + ./autogen.sh --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu \ + --libexecdir=/usr/lib/x86_64-linux-gnu \ + --enable-shared \ + --disable-examples --disable-debug \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin base ARG GST_PLUGIN_BASE_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-${GST_VER}.tar.xz +RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libxv-dev libvisual-0.4-dev libtheora-dev libglib2.0-dev libasound2-dev libcdparanoia-dev libgl1-mesa-dev libpango1.0-dev + RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ && \ cd gst-plugins-base-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-debug && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib/x86_64-linux-gnu \ + --libexecdir=/usr/lib/x86_64-linux-gnu \ + --enable-shared \ + --disable-examples --disable-debug \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install @@ -254,33 +317,53 @@ RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ && \ # Build the gstremaer plugin good set ARG GST_PLUGIN_GOOD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-${GST_VER}.tar.xz +RUN apt-get update && apt-get install -y -q --no-install-recommends libsoup2.4-dev libjpeg-dev + RUN wget -O - ${GST_PLUGIN_GOOD_REPO} | tar xJ && \ cd gst-plugins-good-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-debug && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib/x86_64-linux-gnu \ + --libexecdir=/usr/lib/x86_64-linux-gnu \ + --enable-shared \ + --disable-examples --disable-debug \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install + # Build the gstremaer plugin bad set ARG GST_PLUGIN_BAD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-${GST_VER}.tar.xz +RUN apt-get update && apt-get install -y -q --no-install-recommends libssl-dev + RUN wget -O - ${GST_PLUGIN_BAD_REPO} | tar xJ && \ cd gst-plugins-bad-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-debug && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib/x86_64-linux-gnu \ + --libexecdir=/usr/lib/x86_64-linux-gnu \ + --enable-shared \ + --disable-examples --disable-debug \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin ugly set ARG GST_PLUGIN_UGLY_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ && \ - cd gst-plugins-ugly-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-debug && \ - make -j8 && \ +RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ; \ + cd gst-plugins-ugly-${GST_VER}; \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib/x86_64-linux-gnu \ + --libexecdir=/usr/lib/x86_64-linux-gnu \ + --enable-shared \ + --disable-examples --disable-debug \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install @@ -291,9 +374,66 @@ RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no- RUN wget -O - ${GST_PLUGIN_LIBAV_REPO} | tar xJ && \ cd gst-libav-${GST_VER} && \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared --enable-gpl && \ - make -j8 && \ - make install DESTDIR="/home/build" + ./autogen.sh \ + --prefix="/usr" \ + --libdir=/usr/lib/x86_64-linux-gnu \ + --enable-shared \ + --enable-gpl \ + --disable-gtk-doc && \ + make -j $(nproc) && \ + make install DESTDIR=/home/build && \ + make install + + +ARG OPENCV_VER=4.0.0 +ARG OPENCV_REPO=https://github.com/opencv/opencv/archive/${OPENCV_VER}.tar.gz + +RUN ln -sf /usr/share/zoneinfo/UTC /etc/localtime; + +RUN wget ${OPENCV_REPO} && \ + tar -zxvf ${OPENCV_VER}.tar.gz && \ + cd opencv-${OPENCV_VER} && \ + mkdir build && \ + cd build && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -D BUILD_EXAMPLES=OFF -D BUILD_PERF_TESTS=OFF -D BUILD_DOCS=OFF -D BUILD_TESTS=OFF .. && \ + make -j $(nproc) && \ + make install DESTDIR=/home/build && \ + make install + +RUN apt-get install -y -q --no-install-recommends gtk-doc-tools + + + + +ARG PAHO_VER=1.3.0 +ARG PAHO_REPO=https://github.com/eclipse/paho.mqtt.c/archive/v${PAHO_VER}.tar.gz +RUN wget -O - https://github.com/eclipse/paho.mqtt.c/archive/v${PAHO_VER}.tar.gz | tar -xz; \ + cd paho.mqtt.c-${PAHO_VER}; \ + make; \ + make install; + +#Install va gstreamer plugins +#Has a dependency on OpenCV, GStreamer +ARG VA_GSTREAMER_PLUGINS_VER=0.3 +ARG VA_GSTREAMER_PLUGINS_REPO=https://github.com/opencv/gst-video-analytics/archive/v${VA_GSTREAMER_PLUGINS_VER}.tar.gz +RUN wget -O - ${VA_GSTREAMER_PLUGINS_REPO} | tar xz && \ + cd gst-video-analytics-${VA_GSTREAMER_PLUGINS_VER} && \ + mkdir build && \ + cd build && \ + export CFLAGS="-std=gnu99 -Wno-missing-field-initializers" && \ + export CXXFLAGS="-std=c++11 -Wno-missing-field-initializers" && \ + cmake \ + -DVERSION_PATCH=$(echo "$(git rev-list --count --first-parent HEAD)") \ + -DGIT_INFO=$(echo "git_$(git rev-parse --short HEAD)") \ + -DCMAKE_BUILD_TYPE=Release \ + -DDISABLE_SAMPLES=ON \ + -DDISABLE_VAAPI=ON \ + -DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX=/usr .. && \ + make -j4 +RUN mkdir -p build/usr/lib/x86_64-linux-gnu/gstreamer-1.0 && \ + cp -r gst-video-analytics-${VA_GSTREAMER_PLUGINS_VER}/build/intel64/Release/lib/* build/usr/lib/x86_64-linux-gnu/gstreamer-1.0 +RUN mkdir -p /usr/lib/x86_64-linux-gnu/gstreamer-1.0 && \ + cp -r gst-video-analytics-${VA_GSTREAMER_PLUGINS_VER}/build/intel64/Release/lib/* /usr/lib/x86_64-linux-gnu/gstreamer-1.0 @@ -311,9 +451,16 @@ WORKDIR /home # Prerequisites RUN ln -sf /usr/share/zoneinfo/UTC /etc/localtime; \ - DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libnuma1 libssl1.1 libglib2.0 libpng16-16 libxv1 ; \ + DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libnuma1 libssl1.1 libglib2.0 libpango-1.0-0 libpangocairo-1.0-0 libpng16-16 libxv1 libvisual-0.4-0 libgl1-mesa-glx libpango-1.0-0 libtheora0 libcdparanoia0 libasound2 libsoup2.4-1 libjpeg8 libjpeg-turbo8 python3 libgtk2.0 libdrm2 libxv1 libpugixml1v5 \ +; \ rm -rf /var/lib/apt/lists/*; # Install COPY --from=build /home/build / +ARG libdir=/opt/intel/dldt/inference-engine/lib/ubuntu_18.04/intel64 +ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share +ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/x86_64-linux-gnu/gstreamer-1.0 +ENV PKG_CONFIG_PATH=/usr/lib/x86_64-linux-gnu/pkgconfig +ENV LIBRARY_PATH=${LIBRARY_PATH}:/usr/lib +ENV PATH=${PATH}:/usr/bin diff --git a/Xeon/ubuntu-18.04/dldt+gst/Dockerfile.m4 b/Xeon/ubuntu-18.04/dldt+gst/Dockerfile.m4 index bc224b638..053aaea11 100644 --- a/Xeon/ubuntu-18.04/dldt+gst/Dockerfile.m4 +++ b/Xeon/ubuntu-18.04/dldt+gst/Dockerfile.m4 @@ -18,11 +18,14 @@ include(svt-av1.m4) include(svt-vp9.m4) include(dldt-ie.m4) include(gst.m4) +include(gst-orc.m4) include(gst-plugin-base.m4) include(gst-plugin-good.m4) include(gst-plugin-bad.m4) include(gst-plugin-ugly.m4) include(gst-plugin-libav.m4) +include(opencv.m4) +include(gstreamer-videoanalytics.m4) include(cleanup.m4)dnl FROM ubuntu:18.04 diff --git a/Xeon/ubuntu-18.04/ffmpeg+gst+dev/Dockerfile b/Xeon/ubuntu-18.04/ffmpeg+gst+dev/Dockerfile index 021129a3c..9a0faadfc 100644 --- a/Xeon/ubuntu-18.04/ffmpeg+gst+dev/Dockerfile +++ b/Xeon/ubuntu-18.04/ffmpeg+gst+dev/Dockerfile @@ -3,7 +3,7 @@ FROM ubuntu:18.04 AS build WORKDIR /home # COMMON BUILD TOOLS -RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends build-essential autoconf automake make git wget pciutils cpio libtool lsb-release ca-certificates pkg-config bison flex +RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends build-essential autoconf make git wget pciutils cpio libtool lsb-release ca-certificates pkg-config bison flex # Install cmake ARG CMAKE_VER=3.13.1 @@ -14,6 +14,11 @@ RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz make -j8 && \ make install +# Install automake, use version 1.14 on CentOS +ARG AUTOMAKE_VER=1.14 +ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz + RUN apt-get install -y -q automake + # Build NASM ARG NASM_VER=2.13.03 ARG NASM_REPO=https://www.nasm.us/pub/nasm/releasebuilds/${NASM_VER}/nasm-${NASM_VER}.tar.bz2 @@ -200,54 +205,136 @@ RUN git clone -b ${DLDT_VER} ${DLDT_REPO} && \ wget -O - ${DLDT_C_API_REPO} | patch -p2 && \ mkdir build && \ cd build && \ - cmake -DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_PATH=/usr/lib/x86_64-linux-gnu -DENABLE_MKL_DNN=ON -DENABLE_CLDNN=OFF -DENABLE_SAMPLES_CORE=OFF ..; \ - make -j16 && \ + cmake -DCMAKE_INSTALL_PREFIX=/opt/intel/dldt -DLIB_INSTALL_PATH=/opt/intel/dldt -DENABLE_MKL_DNN=ON -DENABLE_CLDNN=OFF -DENABLE_SAMPLE_CORE=OFF .. && \ + make -j $(nproc) && \ rm -rf ../bin/intel64/Release/lib/libgtest* && \ rm -rf ../bin/intel64/Release/lib/libgmock* && \ rm -rf ../bin/intel64/Release/lib/libmock* && \ - rm -rf ../bin/intel64/Release/lib/libtest* && \ - for p in /usr /home/build/usr; do \ - mkdir -p $p/include/dldt; \ - cp -r ../include/* $p/include/dldt; \ - libdir="$p/lib/x86_64-linux-gnu"; \ - cp -r ../bin/intel64/Release/lib/* "$libdir"; \ - cp -r ../temp/omp/lib/* "$libdir"; \ - mkdir -p "$libdir/pkgconfig"; \ - pc="$libdir/pkgconfig/dldt.pc"; \ - echo "prefix=/usr" > "$pc"; \ - echo "libdir=/usr/lib/x86_64-linux-gnu" >> "$pc"; \ - echo "includedir=/usr/include/dldt" >> "$pc"; \ - echo "" >> "$pc"; \ - echo "Name: DLDT" >> "$pc"; \ - echo "Description: Intel Deep Learning Deployment Toolkit" >> "$pc"; \ - echo "Version: 5.0" >> "$pc"; \ - echo "" >> "$pc"; \ - echo "Libs: -L\${libdir} -linference_engine -linference_engine_c_wrapper" >> "$pc"; \ + rm -rf ../bin/intel64/Release/lib/libtest* + +ARG libdir=/opt/intel/dldt/inference-engine/lib/ubuntu_18.04/intel64 + #RUN find dldt/inference-engine/cmake/share/ -type f | xargs sed -i 's/16.04/18.04/g' + +RUN mkdir -p /opt/intel/dldt/inference-engine/include && \ + cp -r dldt/inference-engine/include/* /opt/intel/dldt/inference-engine/include && \ + mkdir -p ${libdir} && \ + cp -r dldt/inference-engine/bin/intel64/Release/lib/* ${libdir} && \ + mkdir -p /opt/intel/dldt/inference-engine/src && \ + cp -r dldt/inference-engine/src/* /opt/intel/dldt/inference-engine/src/ && \ + mkdir -p /opt/intel/dldt/inference-engine/share && \ + cp -r dldt/inference-engine/build/share/* /opt/intel/dldt/inference-engine/share/ && \ + mkdir -p /opt/intel/dldt/inference-engine/external/omp/lib && \ + cp -r dldt/inference-engine/temp/omp/lib/* /opt/intel/dldt/inference-engine/external/omp/lib/ + +RUN mkdir -p build/opt/intel/dldt/inference-engine/include && \ + cp -r dldt/inference-engine/include/* build/opt/intel/dldt/inference-engine/include && \ + mkdir -p build${libdir} && \ + cp -r dldt/inference-engine/bin/intel64/Release/lib/* build${libdir} && \ + mkdir -p build/opt/intel/dldt/inference-engine/src && \ + cp -r dldt/inference-engine/src/* build/opt/intel/dldt/inference-engine/src/ && \ + mkdir -p build/opt/intel/dldt/inference-engine/share && \ + cp -r dldt/inference-engine/build/share/* build/opt/intel/dldt/inference-engine/share/ && \ + mkdir -p build/opt/intel/dldt/inference-engine/external/omp/lib && \ + cp -r dldt/inference-engine/temp/omp/lib/* build/opt/intel/dldt/inference-engine/external/omp/lib/ + +RUN for p in /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inference-engine; do \ + mkdir -p "${libdir}/pkgconfig" && \ + pc="${libdir}/pkgconfig/dldt.pc" && \ + echo "prefix=/opt" > "$pc" && \ + echo "libdir=${libdir}" >> "$pc" && \ + echo "includedir=/opt/intel/dldt/inference-engine/include" >> "$pc" && \ + echo "" >> "$pc" && \ + echo "Name: DLDT" >> "$pc" && \ + echo "Description: Intel Deep Learning Deployment Toolkit" >> "$pc" && \ + echo "Version: 5.0" >> "$pc" && \ + echo "" >> "$pc" && \ + echo "Libs: -L\${libdir} -linference_engine -linference_engine_c_wrapper" >> "$pc" && \ echo "Cflags: -I\${includedir}" >> "$pc"; \ done; +ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share +ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} + +#install Model Optimizer in the DLDT for Dev +ARG PYTHON_TRUSTED_HOST +ARG PYTHON_TRUSTED_INDEX_URL +#install MO dependencies +RUN DEBIAN_FRONTEND=noninteractive apt-get install -y -q --no-install-recommends python3-dev python3-pip python3-setuptools python3-wheel +#RUN pip3 install numpy scipy +RUN git clone https://github.com/google/protobuf.git && \ + cd protobuf && \ + git submodule update --init --recursive && \ + ./autogen.sh && \ + ./configure && \ + make && \ + make install && \ + make install DESTDIR=/home/build +#RUN apt-get update && apt-get install -y sudo +#installing dependency libs to mo_libs directory to avoid issues with updates to Python version +RUN cd dldt/model-optimizer && \ +if [ "x$PYTHON_TRUSTED_HOST" = "x" ] ; \ +then pip3 install --target=/home/build/mo_libs -r requirements.txt && \ +pip3 install -r requirements.txt; \ +else pip3 install --target=/home/build/mo_libs -r requirements.txt -i $PYTHON_TRUSTED_INDEX_URL --trusted-host $PYTHON_TRUSTED_HOST && \ +pip3 install -r requirements.txt -i $PYTHON_TRUSTED_INDEX_URL --trusted-host $PYTHON_TRUSTED_HOST; \ +fi + +#Copy over Model Optimizer to same directory as Inference Engine +RUN cp -r dldt/model-optimizer /opt/intel/dldt/model-optimizer +RUN cp -r dldt/model-optimizer /home/build/opt/intel/dldt/model-optimizer + + + + # Build the gstremaer core ARG GST_VER=1.14.4 ARG GST_REPO=https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${GST_VER}.tar.xz RUN ln -sf /usr/share/zoneinfo/UTC /etc/localtime; \ - DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libglib2.0-dev autopoint gtk-doc-tools + DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libglib2.0-dev gobject-introspection libgirepository1.0-dev libpango-1.0-0 libpangocairo-1.0-0 autopoint RUN wget -O - ${GST_REPO} | tar xJ && \ cd gstreamer-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib/x86_64-linux-gnu \ + --libexecdir=/usr/lib/x86_64-linux-gnu \ + --enable-shared \ + --disable-examples \ + --disable-gtk-doc && \ + make -j $(nproc) && \ + make install DESTDIR=/home/build && \ + make install; + +# Build the gstremaer plugin bad set +ARG GST_ORC_VER=0.4.28 +ARG GST_ORC_REPO=https://gstreamer.freedesktop.org/src/orc/orc-${GST_ORC_VER}.tar.xz + +RUN wget -O - ${GST_ORC_REPO} | tar xJ && \ + cd orc-${GST_ORC_VER} && \ + ./autogen.sh --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu \ + --libexecdir=/usr/lib/x86_64-linux-gnu \ + --enable-shared \ + --disable-examples \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin base ARG GST_PLUGIN_BASE_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-${GST_VER}.tar.xz +RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libxv-dev libvisual-0.4-dev libtheora-dev libglib2.0-dev libasound2-dev libcdparanoia-dev libgl1-mesa-dev libpango1.0-dev + RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ && \ cd gst-plugins-base-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib/x86_64-linux-gnu \ + --libexecdir=/usr/lib/x86_64-linux-gnu \ + --enable-shared \ + --disable-examples \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install @@ -255,33 +342,53 @@ RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ && \ # Build the gstremaer plugin good set ARG GST_PLUGIN_GOOD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-${GST_VER}.tar.xz +RUN apt-get update && apt-get install -y -q --no-install-recommends libsoup2.4-dev libjpeg-dev + RUN wget -O - ${GST_PLUGIN_GOOD_REPO} | tar xJ && \ cd gst-plugins-good-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib/x86_64-linux-gnu \ + --libexecdir=/usr/lib/x86_64-linux-gnu \ + --enable-shared \ + --disable-examples \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install + # Build the gstremaer plugin bad set ARG GST_PLUGIN_BAD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-${GST_VER}.tar.xz +RUN apt-get update && apt-get install -y -q --no-install-recommends libssl-dev + RUN wget -O - ${GST_PLUGIN_BAD_REPO} | tar xJ && \ cd gst-plugins-bad-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib/x86_64-linux-gnu \ + --libexecdir=/usr/lib/x86_64-linux-gnu \ + --enable-shared \ + --disable-examples \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin ugly set ARG GST_PLUGIN_UGLY_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ && \ - cd gst-plugins-ugly-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples && \ - make -j8 && \ +RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ; \ + cd gst-plugins-ugly-${GST_VER}; \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib/x86_64-linux-gnu \ + --libexecdir=/usr/lib/x86_64-linux-gnu \ + --enable-shared \ + --disable-examples \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install @@ -292,9 +399,66 @@ RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no- RUN wget -O - ${GST_PLUGIN_LIBAV_REPO} | tar xJ && \ cd gst-libav-${GST_VER} && \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared --enable-gpl && \ - make -j8 && \ - make install DESTDIR="/home/build" + ./autogen.sh \ + --prefix="/usr" \ + --libdir=/usr/lib/x86_64-linux-gnu \ + --enable-shared \ + --enable-gpl \ + --disable-gtk-doc && \ + make -j $(nproc) && \ + make install DESTDIR=/home/build && \ + make install + + +ARG OPENCV_VER=4.0.0 +ARG OPENCV_REPO=https://github.com/opencv/opencv/archive/${OPENCV_VER}.tar.gz + +RUN ln -sf /usr/share/zoneinfo/UTC /etc/localtime; + +RUN wget ${OPENCV_REPO} && \ + tar -zxvf ${OPENCV_VER}.tar.gz && \ + cd opencv-${OPENCV_VER} && \ + mkdir build && \ + cd build && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -D BUILD_EXAMPLES=OFF -D BUILD_PERF_TESTS=OFF -D BUILD_DOCS=OFF -D BUILD_TESTS=OFF .. && \ + make -j $(nproc) && \ + make install DESTDIR=/home/build && \ + make install + +RUN apt-get install -y -q --no-install-recommends gtk-doc-tools + + + + +ARG PAHO_VER=1.3.0 +ARG PAHO_REPO=https://github.com/eclipse/paho.mqtt.c/archive/v${PAHO_VER}.tar.gz +RUN wget -O - https://github.com/eclipse/paho.mqtt.c/archive/v${PAHO_VER}.tar.gz | tar -xz; \ + cd paho.mqtt.c-${PAHO_VER}; \ + make; \ + make install; + +#Install va gstreamer plugins +#Has a dependency on OpenCV, GStreamer +ARG VA_GSTREAMER_PLUGINS_VER=0.3 +ARG VA_GSTREAMER_PLUGINS_REPO=https://github.com/opencv/gst-video-analytics/archive/v${VA_GSTREAMER_PLUGINS_VER}.tar.gz +RUN wget -O - ${VA_GSTREAMER_PLUGINS_REPO} | tar xz && \ + cd gst-video-analytics-${VA_GSTREAMER_PLUGINS_VER} && \ + mkdir build && \ + cd build && \ + export CFLAGS="-std=gnu99 -Wno-missing-field-initializers" && \ + export CXXFLAGS="-std=c++11 -Wno-missing-field-initializers" && \ + cmake \ + -DVERSION_PATCH=$(echo "$(git rev-list --count --first-parent HEAD)") \ + -DGIT_INFO=$(echo "git_$(git rev-parse --short HEAD)") \ + -DCMAKE_BUILD_TYPE=Release \ + -DDISABLE_SAMPLES=ON \ + -DDISABLE_VAAPI=ON \ + -DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX=/usr .. && \ + make -j4 +RUN mkdir -p build/usr/lib/x86_64-linux-gnu/gstreamer-1.0 && \ + cp -r gst-video-analytics-${VA_GSTREAMER_PLUGINS_VER}/build/intel64/Release/lib/* build/usr/lib/x86_64-linux-gnu/gstreamer-1.0 +RUN mkdir -p /usr/lib/x86_64-linux-gnu/gstreamer-1.0 && \ + cp -r gst-video-analytics-${VA_GSTREAMER_PLUGINS_VER}/build/intel64/Release/lib/* /usr/lib/x86_64-linux-gnu/gstreamer-1.0 @@ -354,9 +518,17 @@ WORKDIR /home # Prerequisites RUN ln -sf /usr/share/zoneinfo/UTC /etc/localtime; \ - DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libxv1 libxcb-shm0 libxcb-shape0 libxcb-xfixes0 libsdl2-2.0-0 libasound2 libnuma1 libass9 libssl1.1 libpciaccess0 libglib2.0 libpng16-16 libxv1 ; \ + DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libxv1 libxcb-shm0 libxcb-shape0 libxcb-xfixes0 libsdl2-2.0-0 libasound2 libnuma1 libass9 libssl1.1 libpciaccess0 libglib2.0 libpango-1.0-0 libpangocairo-1.0-0 libpng16-16 libxv1 libvisual-0.4-0 libgl1-mesa-glx libpango-1.0-0 libtheora0 libcdparanoia0 libasound2 libsoup2.4-1 libjpeg8 libjpeg-turbo8 python3 libgtk2.0 libdrm2 libxv1 libpugixml1v5 \ +; \ rm -rf /var/lib/apt/lists/*; # Install COPY --from=build /home/build / +ARG libdir=/opt/intel/dldt/inference-engine/lib/ubuntu_18.04/intel64 +ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share +ENV PYTHONPATH=${PYTHONPATH}:/mo_libs +ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/x86_64-linux-gnu/gstreamer-1.0 +ENV PKG_CONFIG_PATH=/usr/lib/x86_64-linux-gnu/pkgconfig +ENV LIBRARY_PATH=${LIBRARY_PATH}:/usr/lib +ENV PATH=${PATH}:/usr/bin diff --git a/Xeon/ubuntu-18.04/ffmpeg+gst+dev/Dockerfile.m4 b/Xeon/ubuntu-18.04/ffmpeg+gst+dev/Dockerfile.m4 index e373edd9d..60d686689 100644 --- a/Xeon/ubuntu-18.04/ffmpeg+gst+dev/Dockerfile.m4 +++ b/Xeon/ubuntu-18.04/ffmpeg+gst+dev/Dockerfile.m4 @@ -19,11 +19,14 @@ include(svt-vp9.m4) #include(transform360.m4) include(dldt-ie.m4) include(gst.m4) +include(gst-orc.m4) include(gst-plugin-base.m4) include(gst-plugin-good.m4) include(gst-plugin-bad.m4) include(gst-plugin-ugly.m4) include(gst-plugin-libav.m4) +include(opencv.m4) +include(gstreamer-videoanalytics.m4) include(ffmpeg.m4) include(cleanup.m4)dnl diff --git a/Xeon/ubuntu-18.04/ffmpeg/Dockerfile b/Xeon/ubuntu-18.04/ffmpeg/Dockerfile index 469b60aa8..b2d259e87 100644 --- a/Xeon/ubuntu-18.04/ffmpeg/Dockerfile +++ b/Xeon/ubuntu-18.04/ffmpeg/Dockerfile @@ -3,7 +3,7 @@ FROM ubuntu:18.04 AS build WORKDIR /home # COMMON BUILD TOOLS -RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends build-essential autoconf automake make git wget pciutils cpio libtool lsb-release ca-certificates pkg-config bison flex +RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends build-essential autoconf make git wget pciutils cpio libtool lsb-release ca-certificates pkg-config bison flex # Install cmake ARG CMAKE_VER=3.13.1 @@ -14,6 +14,11 @@ RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz make -j8 && \ make install +# Install automake, use version 1.14 on CentOS +ARG AUTOMAKE_VER=1.14 +ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz + RUN apt-get install -y -q automake + # Build NASM ARG NASM_VER=2.13.03 ARG NASM_REPO=https://www.nasm.us/pub/nasm/releasebuilds/${NASM_VER}/nasm-${NASM_VER}.tar.bz2 diff --git a/Xeon/ubuntu-18.04/gst/Dockerfile b/Xeon/ubuntu-18.04/gst/Dockerfile index e9fe6f7bc..455d48a82 100644 --- a/Xeon/ubuntu-18.04/gst/Dockerfile +++ b/Xeon/ubuntu-18.04/gst/Dockerfile @@ -3,7 +3,7 @@ FROM ubuntu:18.04 AS build WORKDIR /home # COMMON BUILD TOOLS -RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends build-essential autoconf automake make git wget pciutils cpio libtool lsb-release ca-certificates pkg-config bison flex +RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends build-essential autoconf make git wget pciutils cpio libtool lsb-release ca-certificates pkg-config bison flex # Install cmake ARG CMAKE_VER=3.13.1 @@ -14,6 +14,11 @@ RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz make -j8 && \ make install +# Install automake, use version 1.14 on CentOS +ARG AUTOMAKE_VER=1.14 +ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz + RUN apt-get install -y -q automake + # Build NASM ARG NASM_VER=2.13.03 ARG NASM_REPO=https://www.nasm.us/pub/nasm/releasebuilds/${NASM_VER}/nasm-${NASM_VER}.tar.bz2 @@ -190,23 +195,37 @@ ARG GST_VER=1.14.4 ARG GST_REPO=https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${GST_VER}.tar.xz RUN ln -sf /usr/share/zoneinfo/UTC /etc/localtime; \ - DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libglib2.0-dev autopoint gtk-doc-tools + DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libglib2.0-dev gobject-introspection libgirepository1.0-dev libpango-1.0-0 libpangocairo-1.0-0 autopoint RUN wget -O - ${GST_REPO} | tar xJ && \ cd gstreamer-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-gst-debug --disable-debug --disable-benchmarks --disable-check && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib/x86_64-linux-gnu \ + --libexecdir=/usr/lib/x86_64-linux-gnu \ + --enable-shared \ + --disable-examples --disable-gst-debug \ + --disable-debug \ + --disable-benchmarks \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ - make install + make install; # Build the gstremaer plugin base ARG GST_PLUGIN_BASE_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-${GST_VER}.tar.xz +RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libxv-dev libvisual-0.4-dev libtheora-dev libglib2.0-dev libasound2-dev libcdparanoia-dev libgl1-mesa-dev libpango1.0-dev + RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ && \ cd gst-plugins-base-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-debug && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib/x86_64-linux-gnu \ + --libexecdir=/usr/lib/x86_64-linux-gnu \ + --enable-shared \ + --disable-examples --disable-debug \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install @@ -214,33 +233,53 @@ RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ && \ # Build the gstremaer plugin good set ARG GST_PLUGIN_GOOD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-${GST_VER}.tar.xz +RUN apt-get update && apt-get install -y -q --no-install-recommends libsoup2.4-dev libjpeg-dev + RUN wget -O - ${GST_PLUGIN_GOOD_REPO} | tar xJ && \ cd gst-plugins-good-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-debug && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib/x86_64-linux-gnu \ + --libexecdir=/usr/lib/x86_64-linux-gnu \ + --enable-shared \ + --disable-examples --disable-debug \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install + # Build the gstremaer plugin bad set ARG GST_PLUGIN_BAD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-${GST_VER}.tar.xz +RUN apt-get update && apt-get install -y -q --no-install-recommends libssl-dev + RUN wget -O - ${GST_PLUGIN_BAD_REPO} | tar xJ && \ cd gst-plugins-bad-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-debug && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib/x86_64-linux-gnu \ + --libexecdir=/usr/lib/x86_64-linux-gnu \ + --enable-shared \ + --disable-examples --disable-debug \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin ugly set ARG GST_PLUGIN_UGLY_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ && \ - cd gst-plugins-ugly-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-debug && \ - make -j8 && \ +RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ; \ + cd gst-plugins-ugly-${GST_VER}; \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib/x86_64-linux-gnu \ + --libexecdir=/usr/lib/x86_64-linux-gnu \ + --enable-shared \ + --disable-examples --disable-debug \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install @@ -251,10 +290,15 @@ RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no- RUN wget -O - ${GST_PLUGIN_LIBAV_REPO} | tar xJ && \ cd gst-libav-${GST_VER} && \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared --enable-gpl && \ - make -j8 && \ - make install DESTDIR="/home/build" - + ./autogen.sh \ + --prefix="/usr" \ + --libdir=/usr/lib/x86_64-linux-gnu \ + --enable-shared \ + --enable-gpl \ + --disable-gtk-doc && \ + make -j $(nproc) && \ + make install DESTDIR=/home/build && \ + make install # Clean up after build @@ -271,7 +315,7 @@ WORKDIR /home # Prerequisites RUN ln -sf /usr/share/zoneinfo/UTC /etc/localtime; \ - DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libnuma1 libssl1.1 libglib2.0 libpng16-16 libxv1 ; \ + DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libnuma1 libssl1.1 libglib2.0 libpango-1.0-0 libpangocairo-1.0-0 libpng16-16 libxv1 libvisual-0.4-0 libgl1-mesa-glx libpango-1.0-0 libtheora0 libcdparanoia0 libasound2 libsoup2.4-1 libjpeg8 libjpeg-turbo8 ; \ rm -rf /var/lib/apt/lists/*; # Install diff --git a/Xeon/ubuntu-18.04/nginx+rtmp/Dockerfile b/Xeon/ubuntu-18.04/nginx+rtmp/Dockerfile index d88af09df..79932022f 100644 --- a/Xeon/ubuntu-18.04/nginx+rtmp/Dockerfile +++ b/Xeon/ubuntu-18.04/nginx+rtmp/Dockerfile @@ -3,7 +3,7 @@ FROM ubuntu:18.04 AS build WORKDIR /home # COMMON BUILD TOOLS -RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends build-essential autoconf automake make git wget pciutils cpio libtool lsb-release ca-certificates pkg-config bison flex +RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends build-essential autoconf make git wget pciutils cpio libtool lsb-release ca-certificates pkg-config bison flex # Install cmake ARG CMAKE_VER=3.13.1 @@ -14,6 +14,11 @@ RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz make -j8 && \ make install +# Install automake, use version 1.14 on CentOS +ARG AUTOMAKE_VER=1.14 +ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz + RUN apt-get install -y -q automake + # Build nginx-rtmp ARG NGINX_RTMP_VER=v1.2.1 diff --git a/Xeon/ubuntu-18.04/ospray/Dockerfile b/Xeon/ubuntu-18.04/ospray/Dockerfile index f0b067e91..f1b977abd 100644 --- a/Xeon/ubuntu-18.04/ospray/Dockerfile +++ b/Xeon/ubuntu-18.04/ospray/Dockerfile @@ -3,7 +3,7 @@ FROM ubuntu:18.04 AS build WORKDIR /home # COMMON BUILD TOOLS -RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends build-essential autoconf automake make git wget pciutils cpio libtool lsb-release ca-certificates pkg-config bison flex +RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends build-essential autoconf make git wget pciutils cpio libtool lsb-release ca-certificates pkg-config bison flex # Install cmake ARG CMAKE_VER=3.13.1 @@ -14,6 +14,11 @@ RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz make -j8 && \ make install +# Install automake, use version 1.14 on CentOS +ARG AUTOMAKE_VER=1.14 +ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz + RUN apt-get install -y -q automake + # Build NASM ARG NASM_VER=2.13.03 ARG NASM_REPO=https://www.nasm.us/pub/nasm/releasebuilds/${NASM_VER}/nasm-${NASM_VER}.tar.bz2 diff --git a/XeonE3/centos-7.4/dldt+gst/CMakeLists.txt b/XeonE3/centos-7.4/dldt+gst/CMakeLists.txt new file mode 100644 index 000000000..501dd85a9 --- /dev/null +++ b/XeonE3/centos-7.4/dldt+gst/CMakeLists.txt @@ -0,0 +1,3 @@ +set(image "xeone3_dldt_gst_centos74") +include("${CMAKE_SOURCE_DIR}/script/image.cmake") +include("${CMAKE_SOURCE_DIR}/script/gst-tests.cmake") diff --git a/XeonE3/centos-7.4/dldt+gst/Dockerfile b/XeonE3/centos-7.4/dldt+gst/Dockerfile new file mode 100644 index 000000000..6126b653c --- /dev/null +++ b/XeonE3/centos-7.4/dldt+gst/Dockerfile @@ -0,0 +1,588 @@ + +FROM centos:7.4.1708 AS build +WORKDIR /home + +# COMMON BUILD TOOLS +RUN yum install -y -q bzip2 make autoconf libtool git wget ca-certificates pkg-config gcc gcc-c++ bison flex patch epel-release; + +# Install cmake +ARG CMAKE_VER=3.13.1 +ARG CMAKE_REPO=https://cmake.org/files +RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz && \ + cd cmake-${CMAKE_VER} && \ + ./bootstrap --prefix="/usr" && \ + make -j8 && \ + make install + +# Install automake, use version 1.14 on CentOS +ARG AUTOMAKE_VER=1.14 +ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz +RUN wget -O - ${AUTOMAKE_REPO} | tar xJ && \ + cd automake-${AUTOMAKE_VER} && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --disable-doc && \ + make -j8 && \ + make install + +# Build NASM +ARG NASM_VER=2.13.03 +ARG NASM_REPO=https://www.nasm.us/pub/nasm/releasebuilds/${NASM_VER}/nasm-${NASM_VER}.tar.bz2 +RUN wget ${NASM_REPO} && \ + tar -xaf nasm* && \ + cd nasm-${NASM_VER} && \ + ./autogen.sh && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 && \ + make -j8 && \ + make install + +# Build YASM +ARG YASM_VER=1.3.0 +ARG YASM_REPO=https://www.tortall.net/projects/yasm/releases/yasm-${YASM_VER}.tar.gz +RUN wget -O - ${YASM_REPO} | tar xz && \ + cd yasm-${YASM_VER} && \ + sed -i "s/) ytasm.*/)/" Makefile.in && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 && \ + make -j8 && \ + make install + +# Build ogg +ARG OGG_VER=1.3.3 +ARG OGG_REPO=https://downloads.xiph.org/releases/ogg/libogg-${OGG_VER}.tar.xz + +RUN wget -O - ${OGG_REPO} | tar xJ && \ + cd libogg-${OGG_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ + make install + +# Build vorbis +ARG VORBIS_VER=1.3.6 +ARG VORBIS_REPO=https://downloads.xiph.org/releases/vorbis/libvorbis-${VORBIS_VER}.tar.xz + +RUN wget -O - ${VORBIS_REPO} | tar xJ && \ + cd libvorbis-${VORBIS_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ + make install + +# Build mp3lame +ARG MP3LAME_VER=3.100 +ARG MP3LAME_REPO=https://sourceforge.net/projects/lame/files/lame/${MP3LAME_VER}/lame-${MP3LAME_VER}.tar.gz + +RUN wget -O - ${MP3LAME_REPO} | tar xz && \ + cd lame-${MP3LAME_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --enable-nasm && \ + make -j8 && \ + make install DESTDIR=/home/build && \ + make install + +# Build fdk-aac +ARG FDK_AAC_VER=v0.1.6 +ARG FDK_AAC_REPO=https://github.com/mstorsjo/fdk-aac/archive/${FDK_AAC_VER}.tar.gz + +RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac && \ + cd fdk-aac && \ + autoreconf -fiv && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ + make install + + +# Build opus +ARG OPUS_VER=1.2.1 +ARG OPUS_REPO=https://archive.mozilla.org/pub/opus/opus-${OPUS_VER}.tar.gz + +RUN wget -O - ${OPUS_REPO} | tar xz && \ + cd opus-${OPUS_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ + make install + +# Build vpx +ARG VPX_VER=tags/v1.7.0 +ARG VPX_REPO=https://chromium.googlesource.com/webm/libvpx.git + +RUN git clone ${VPX_REPO} && \ + cd libvpx && \ + git checkout ${VPX_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm && \ + make -j8 && \ + make install DESTDIR=/home/build && \ + make install + + +# Build AOM +ARG AOM_VER=b6f1767eedbaddeb1ff5aa409a710ef61078640e +ARG AOM_REPO=https://aomedia.googlesource.com/aom + +RUN git clone ${AOM_REPO} && \ + mkdir aom/aom_build && \ + cd aom/aom_build && \ + git checkout ${AOM_VER} && \ + cmake -DBUILD_SHARED_LIBS=ON -DENABLE_NASM=ON -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF -DCMAKE_INSTALL_PREFIX="/usr" -DLIB_INSTALL_DIR=/usr/lib64 .. && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ + make install + +# Build x264 +ARG X264_VER=stable +ARG X264_REPO=https://github.com/mirror/x264 + +RUN git clone ${X264_REPO} && \ + cd x264 && \ + git checkout ${X264_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ + make install + + +# Build x265 +ARG X265_VER=2.9 +ARG X265_REPO=https://github.com/videolan/x265/archive/${X265_VER}.tar.gz + +RUN yum install -y -q numactl-devel libpciaccess-devel + +RUN wget -O - ${X265_REPO} | tar xz && mv x265-${X265_VER} x265 && \ + cd x265/build/linux && \ + cmake -DBUILD_SHARED_LIBS=ON -DENABLE_TESTS=OFF -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_DIR=/usr/lib64 ../../source && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ + make install + +# Fetch SVT-HEVC +ARG SVT_HEVC_VER=252ff3d18bc1997a5af989ad4e67e025c93dbf68 +ARG SVT_HEVC_REPO=https://github.com/intel/SVT-HEVC + +RUN yum install -y -q patch centos-release-scl && \ + yum install -y -q devtoolset-7 + +RUN git clone ${SVT_HEVC_REPO} && \ + cd SVT-HEVC/Build/linux && \ + git checkout ${SVT_HEVC_VER} && \ + mkdir -p ../../Bin/Release && \ + ( source /opt/rh/devtoolset-7/enable && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ + make install ) + + +# Fetch SVT-AV1 +ARG SVT_AV1_VER=39aad81274a04053e2678ec7ec39cf6584bced66 +ARG SVT_AV1_REPO=https://github.com/OpenVisualCloud/SVT-AV1 + +RUN git clone ${SVT_AV1_REPO} && \ + cd SVT-AV1/Build/linux && \ + git checkout ${SVT_AV1_VER} && \ + mkdir -p ../../Bin/Release && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ + make install + + +# Fetch SVT-VP9 +ARG SVT_VP9_VER=e92a57c +ARG SVT_VP9_REPO=https://github.com/OpenVisualCloud/SVT-VP9 + +RUN git clone ${SVT_VP9_REPO} && \ + cd SVT-VP9/Build/linux && \ + git checkout ${SVT_VP9_VER} && \ + mkdir -p ../../Bin/Release && \ + ( source /opt/rh/devtoolset-7/enable && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ + make install ) + +#include(libdrm.m4) +# Build libva +ARG LIBVA_VER=2.4.0 +ARG LIBVA_REPO=https://github.com/intel/libva/archive/${LIBVA_VER}.tar.gz + +RUN yum install -y -q libX11-devel mesa-libGL-devel which libdrm-devel + +RUN wget -O - ${LIBVA_REPO} | tar xz && \ + cd libva-${LIBVA_VER} && \ + ./autogen.sh --prefix=/usr --libdir=/usr/lib64 && \ + make -j8 && \ + make install DESTDIR=/home/build && \ + make install; + + +# Build libva-utils +ARG LIBVA_UTILS_VER=2.4.0 +ARG LIBVA_UTILS_REPO=https://github.com/intel/libva-utils/archive/${LIBVA_UTILS_VER}.tar.gz + +RUN wget -O - ${LIBVA_UTILS_REPO} | tar xz; \ + cd libva-utils-${LIBVA_UTILS_VER}; \ + ./autogen.sh --prefix=/usr --libdir=/usr/lib64; \ + make -j8; \ + make install DESTDIR=/home/build; \ + make install; + + +# Fetch gmmlib +ARG GMMLIB_VER=intel-gmmlib-18.3.0 +ARG GMMLIB_REPO=https://github.com/intel/gmmlib/archive/${GMMLIB_VER}.tar.gz + +RUN wget -O - ${GMMLIB_REPO} | tar xz && mv gmmlib-${GMMLIB_VER} gmmlib; + + +# Build media driver +ARG MEDIA_DRIVER_VER=intel-media-kbl-19.1.0 +ARG MEDIA_DRIVER_REPO=https://github.com/VCDP/media-driver/archive/${MEDIA_DRIVER_VER}.tar.gz + +RUN yum install -y -q libX11-devel mesa-libGL-devel libpciaccess-devel libXext-devel + +RUN wget -O - ${MEDIA_DRIVER_REPO} | tar xz && mv media-driver-${MEDIA_DRIVER_VER} media-driver && \ + mkdir -p media-driver/build && \ + cd media-driver/build && \ + cmake -DBUILD_TYPE=release -DBUILD_ALONG_WITH_CMRTLIB=1 -DMEDIA_VERSION="2.0.0" -DBS_DIR_GMMLIB=/home/gmmlib/Source/GmmLib -DBS_DIR_COMMON=/home/gmmlib/Source/Common -DBS_DIR_INC=/home/gmmlib/Source/inc -DBS_DIR_MEDIA=/home/media-driver -Wno-dev -DCMAKE_INSTALL_PREFIX=/usr .. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ + make install + + + +# Build Intel(R) Media SDK +ARG MSDK_VER=MSS-KBL-2019-R1 +ARG MSDK_REPO=https://github.com/Intel-Media-SDK/MediaSDK/archive/${MSDK_VER}.tar.gz + +RUN wget -O - ${MSDK_REPO} | tar xz && mv MediaSDK-${MSDK_VER} MediaSDK && \ + mkdir -p MediaSDK/build && \ + cd MediaSDK/build && \ + cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_INCLUDEDIR=include/mfx -DBUILD_SAMPLES=OFF -DENABLE_OPENCL=OFF -Wno-dev .. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ + rm -rf /home/build/usr/samples && \ + rm -rf /home/build/usr/plugins && \ + make install; + +#install OpenCL + + +RUN yum install -y -q dnf dnf-plugins-core + +RUN yum install -y yum-plugin-copr +RUN yum copr enable -y arturh/intel-opencl +RUN yum install -y -q intel-opencl +RUN yum install -y epel-release +RUN yum install -y ocl-icd libgomp + + +#clinfo needs to be installed after build directory is copied over + +# Build DLDT-Inference Engine +ARG DLDT_VER=2018_R5 +ARG DLDT_REPO=https://github.com/opencv/dldt.git +ARG DLDT_C_API_REPO=https://raw.githubusercontent.com/VCDP/FFmpeg-patch/master/thirdparty/0001-Add-inference-engine-C-API.patch + +RUN yum install -y -q boost-devel glibc-static glibc-devel libstdc++-static libstdc++-devel libstdc++ libgcc libusbx-devel openblas-devel; + +RUN git clone -b ${DLDT_VER} ${DLDT_REPO} && \ + cd dldt && \ + git submodule init && \ + git submodule update --recursive && \ + cd inference-engine && \ + wget -O - ${DLDT_C_API_REPO} | patch -p2 && \ + mkdir build && \ + cd build && \ + cmake -DCMAKE_INSTALL_PREFIX=/opt/intel/dldt -DLIB_INSTALL_PATH=/opt/intel/dldt -DENABLE_MKL_DNN=ON -DENABLE_CLDNN=ON -DENABLE_SAMPLE_CORE=OFF .. && \ + make -j $(nproc) && \ + rm -rf ../bin/intel64/Release/lib/libgtest* && \ + rm -rf ../bin/intel64/Release/lib/libgmock* && \ + rm -rf ../bin/intel64/Release/lib/libmock* && \ + rm -rf ../bin/intel64/Release/lib/libtest* + +ARG libdir=/opt/intel/dldt/inference-engine/lib/centos_7.4/intel64 + +RUN mkdir -p /opt/intel/dldt/inference-engine/include && \ + cp -r dldt/inference-engine/include/* /opt/intel/dldt/inference-engine/include && \ + mkdir -p ${libdir} && \ + cp -r dldt/inference-engine/bin/intel64/Release/lib/* ${libdir} && \ + mkdir -p /opt/intel/dldt/inference-engine/src && \ + cp -r dldt/inference-engine/src/* /opt/intel/dldt/inference-engine/src/ && \ + mkdir -p /opt/intel/dldt/inference-engine/share && \ + cp -r dldt/inference-engine/build/share/* /opt/intel/dldt/inference-engine/share/ && \ + mkdir -p /opt/intel/dldt/inference-engine/external/omp/lib && \ + cp -r dldt/inference-engine/temp/omp/lib/* /opt/intel/dldt/inference-engine/external/omp/lib/ + +RUN mkdir -p build/opt/intel/dldt/inference-engine/include && \ + cp -r dldt/inference-engine/include/* build/opt/intel/dldt/inference-engine/include && \ + mkdir -p build${libdir} && \ + cp -r dldt/inference-engine/bin/intel64/Release/lib/* build${libdir} && \ + mkdir -p build/opt/intel/dldt/inference-engine/src && \ + cp -r dldt/inference-engine/src/* build/opt/intel/dldt/inference-engine/src/ && \ + mkdir -p build/opt/intel/dldt/inference-engine/share && \ + cp -r dldt/inference-engine/build/share/* build/opt/intel/dldt/inference-engine/share/ && \ + mkdir -p build/opt/intel/dldt/inference-engine/external/omp/lib && \ + cp -r dldt/inference-engine/temp/omp/lib/* build/opt/intel/dldt/inference-engine/external/omp/lib/ + +RUN for p in /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inference-engine; do \ + mkdir -p "${libdir}/pkgconfig" && \ + pc="${libdir}/pkgconfig/dldt.pc" && \ + echo "prefix=/opt" > "$pc" && \ + echo "libdir=${libdir}" >> "$pc" && \ + echo "includedir=/opt/intel/dldt/inference-engine/include" >> "$pc" && \ + echo "" >> "$pc" && \ + echo "Name: DLDT" >> "$pc" && \ + echo "Description: Intel Deep Learning Deployment Toolkit" >> "$pc" && \ + echo "Version: 5.0" >> "$pc" && \ + echo "" >> "$pc" && \ + echo "Libs: -L\${libdir} -linference_engine -linference_engine_c_wrapper" >> "$pc" && \ + echo "Cflags: -I\${includedir}" >> "$pc"; \ + done; + +ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share +ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} + +#install Model Optimizer in the DLDT for Dev + + + + +# Build the gstremaer core +ARG GST_VER=1.14.4 +ARG GST_REPO=https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${GST_VER}.tar.xz + +RUN yum install -y -q glib2-devel-2.56.1 gettext-devel gobject-introspection python-gobject-base +RUN wget -O - ${GST_REPO} | tar xJ && \ + cd gstreamer-${GST_VER} && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples --disable-gst-debug \ + --disable-debug \ + --disable-benchmarks \ + --disable-gtk-doc && \ + make -j $(nproc) && \ + make install DESTDIR=/home/build && \ + make install; + +# Build the gstremaer plugin bad set +ARG GST_ORC_VER=0.4.28 +ARG GST_ORC_REPO=https://gstreamer.freedesktop.org/src/orc/orc-${GST_ORC_VER}.tar.xz + +RUN wget -O - ${GST_ORC_REPO} | tar xJ && \ + cd orc-${GST_ORC_VER} && \ + ./autogen.sh --prefix=/usr --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples --disable-debug \ + --disable-gtk-doc && \ + make -j $(nproc) && \ + make install DESTDIR=/home/build && \ + make install + +# Build the gstremaer plugin base +ARG GST_PLUGIN_BASE_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-${GST_VER}.tar.xz + +RUN yum install -y -q libXv-devel libvisual-devel libtheora-devel glib2-devel alsa-lib-devel cdparanoia-devel mesa-libGL-devel pango-devel + +RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ && \ + cd gst-plugins-base-${GST_VER} && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples --disable-debug \ + --disable-gtk-doc && \ + make -j $(nproc) && \ + make install DESTDIR=/home/build && \ + make install + + +# Build the gstremaer plugin good set +ARG GST_PLUGIN_GOOD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-${GST_VER}.tar.xz + +RUN yum install -y -q libsoup-devel libjpeg-devel + +RUN wget -O - ${GST_PLUGIN_GOOD_REPO} | tar xJ && \ + cd gst-plugins-good-${GST_VER} && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples --disable-debug \ + --disable-gtk-doc && \ + make -j $(nproc) && \ + make install DESTDIR=/home/build && \ + make install + + +# Build the gstremaer plugin bad set +ARG GST_PLUGIN_BAD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-${GST_VER}.tar.xz + +RUN yum install -y -q openssl-devel + +RUN wget -O - ${GST_PLUGIN_BAD_REPO} | tar xJ && \ + cd gst-plugins-bad-${GST_VER} && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples --disable-debug \ + --disable-gtk-doc && \ + make -j $(nproc) && \ + make install DESTDIR=/home/build && \ + make install + +# Build the gstremaer plugin ugly set +ARG GST_PLUGIN_UGLY_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-${GST_VER}.tar.xz + +RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ; \ + cd gst-plugins-ugly-${GST_VER}; \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples --disable-debug \ + --disable-gtk-doc && \ + make -j $(nproc) && \ + make install DESTDIR=/home/build && \ + make install + +# Build gst-libav +ARG GST_PLUGIN_LIBAV_REPO=https://gstreamer.freedesktop.org/src/gst-libav/gst-libav-${GST_VER}.tar.xz + +RUN yum install -y -q zlib-devel openssl-devel + +RUN wget -O - ${GST_PLUGIN_LIBAV_REPO} | tar xJ && \ + cd gst-libav-${GST_VER} && \ + ./autogen.sh \ + --prefix="/usr" \ + --libdir=/usr/lib64 \ + --enable-shared \ + --enable-gpl \ + --disable-gtk-doc && \ + make -j $(nproc) && \ + make install DESTDIR=/home/build && \ + make install + + +# Build gstremaer plugin vaapi +ARG GST_PLUGIN_VAAPI_REPO=https://gstreamer.freedesktop.org/src/gstreamer-vaapi/gstreamer-vaapi-${GST_VER}.tar.xz + +# https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/merge_requests/45 +ARG GST_PLUGIN_VAAPI_REPO_DISPLAY_LOCK_PATCH_HASH=b219f6095f3014041896714dd88e7d90ee3d72dd +ARG GST_PLUGIN_VAAPI_REPO_GIT=https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi.git + +RUN yum install -y -q libXrandr-devel + +#RUN git clone https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi.git -b 1.14 --depth 10 && \ +# cd gstreamer-vaapi && git reset --hard ${GST_PLUGIN_VAAPI_REPO_DISPLAY_LOCK_PATCH_HASH} && \ +RUN wget -O - ${GST_PLUGIN_VAAPI_REPO} | tar xJ && \ + cd gstreamer-vaapi-${GST_VER} && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples \ + --disable-gtk-doc --disable-debug && \ + make -j $(nproc) && \ + make install DESTDIR=/home/build && \ + make install + + +ARG OPENCV_VER=4.0.0 +ARG OPENCV_REPO=https://github.com/opencv/opencv/archive/${OPENCV_VER}.tar.gz + + +RUN wget ${OPENCV_REPO} && \ + tar -zxvf ${OPENCV_VER}.tar.gz && \ + cd opencv-${OPENCV_VER} && \ + mkdir build && \ + cd build && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -D BUILD_EXAMPLES=OFF -D BUILD_PERF_TESTS=OFF -D BUILD_DOCS=OFF -D BUILD_TESTS=OFF .. && \ + make -j $(nproc) && \ + make install DESTDIR=/home/build && \ + make install + + +RUN yum install -y -q glib2-devel gtk-dock openblas + +RUN yum install -y -q binutils + + +ARG PAHO_VER=1.3.0 +ARG PAHO_REPO=https://github.com/eclipse/paho.mqtt.c/archive/v${PAHO_VER}.tar.gz +RUN wget -O - https://github.com/eclipse/paho.mqtt.c/archive/v${PAHO_VER}.tar.gz | tar -xz; \ + cd paho.mqtt.c-${PAHO_VER}; \ + make; \ + make install; + +#Install va gstreamer plugins +#Has a dependency on OpenCV, GStreamer +ARG VA_GSTREAMER_PLUGINS_VER=0.3 +ARG VA_GSTREAMER_PLUGINS_REPO=https://github.com/opencv/gst-video-analytics/archive/v${VA_GSTREAMER_PLUGINS_VER}.tar.gz +RUN wget -O - ${VA_GSTREAMER_PLUGINS_REPO} | tar xz && \ + cd gst-video-analytics-${VA_GSTREAMER_PLUGINS_VER} && \ + mkdir build && \ + cd build && \ + export CFLAGS="-std=gnu99 -Wno-missing-field-initializers" && \ + export CXXFLAGS="-std=c++11 -Wno-missing-field-initializers" && \ + cmake \ + -DVERSION_PATCH=$(echo "$(git rev-list --count --first-parent HEAD)") \ + -DGIT_INFO=$(echo "git_$(git rev-parse --short HEAD)") \ + -DCMAKE_BUILD_TYPE=Release \ + -DDISABLE_SAMPLES=ON \ + -DDISABLE_VAAPI=ON \ + -DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX=/usr .. && \ + make -j4 +RUN mkdir -p build/usr/lib64/gstreamer-1.0 && \ + cp -r gst-video-analytics-${VA_GSTREAMER_PLUGINS_VER}/build/intel64/Release/lib/* build/usr/lib64/gstreamer-1.0 +RUN mkdir -p /usr/lib64/gstreamer-1.0 && \ + cp -r gst-video-analytics-${VA_GSTREAMER_PLUGINS_VER}/build/intel64/Release/lib/* /usr/lib64/gstreamer-1.0 + + + +# Clean up after build +RUN rm -rf /home/build/usr/include && \ + rm -rf /home/build/usr/share/doc && \ + rm -rf /home/build/usr/share/gtk-doc && \ + rm -rf /home/build/usr/share/man && \ + find /home/build -name "*.a" -exec rm -f {} \; + +FROM centos:7.4.1708 +LABEL Description="This is the image for DLDT & GStreamer & Video Analytic GST Plugin development on CentOS 7.5" +LABEL Vendor="Intel Corporation" +WORKDIR /home + +# Prerequisites +RUN yum install -y epel-release; \ + yum install -y -q numactl openssl glib2-2.56.1 pangolibxcb mesa-libGL libXrandr libpng12 libXv libvisual mesa-libGL pango glib2 libpciaccess libX11 openblas-serial \ +mesa-dri-drivers mesa-libGL libsoup libjpeg-turbo python36 ; \ + yum remove -y -q epel-release; \ + rm -rf /var/cache/yum/*; + +# Install +COPY --from=build /home/build / +ENV LIBVA_DRIVERS_PATH=/usr/lib64/dri +ENV LIBVA_DRIVER_NAME=iHD +RUN yum install -y -q dnf dnf-plugins-core yum-plugin-copr +RUN yum copr enable -y arturh/intel-opencl +RUN yum install -y -q intel-opencl +RUN yum install -y epel-release +RUN yum install -y ocl-icd libgomp +RUN ln -s /usr/lib64/libOpenCL.so.1 /usr/lib/libOpenCL.so +ENV GST_VAAPI_ALL_DRIVERS=1 +ENV DISPLAY=:0.0 +ARG libdir=/opt/intel/dldt/inference-engine/lib/centos_7.4/intel64 +ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share +ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib64/gstreamer-1.0 +ENV PKG_CONFIG_PATH=/usr/lib64/pkgconfig +ENV LIBRARY_PATH=${LIBRARY_PATH}:/usr/lib +ENV PATH=${PATH}:/usr/bin + diff --git a/XeonE3/centos-7.4/dldt+gst/Dockerfile.m4 b/XeonE3/centos-7.4/dldt+gst/Dockerfile.m4 new file mode 100644 index 000000000..f01c5af82 --- /dev/null +++ b/XeonE3/centos-7.4/dldt+gst/Dockerfile.m4 @@ -0,0 +1,48 @@ + +FROM centos:7.4.1708 AS build +WORKDIR /home +define(`BUILD_LINKAGE',shared)dnl + +include(build-tools.m4) +include(libogg.m4) +include(libvorbis.m4) +include(libmp3lame.m4) +include(libfdk-aac.m4) +include(libopus.m4) +include(libvpx.m4) +include(libaom.m4) +include(libx264.m4) +include(libx265.m4) +include(svt-hevc.m4) +include(svt-av1.m4) +include(svt-vp9.m4) +#include(libdrm.m4) +include(libva.m4) +include(libva-utils.m4) +include(gmmlib.m4) +include(media-driver.m4) +include(media-sdk.m4) +include(opencl.m4) +include(dldt-ie.m4) +include(gst.m4) +include(gst-orc.m4) +include(gst-plugin-base.m4) +include(gst-plugin-good.m4) +include(gst-plugin-bad.m4) +include(gst-plugin-ugly.m4) +include(gst-plugin-libav.m4) +include(gst-plugin-vaapi.m4) +include(opencv.m4) +include(gstreamer-videoanalytics.m4) +include(cleanup.m4)dnl + +FROM centos:7.4.1708 +LABEL Description="This is the image for DLDT & GStreamer & Video Analytic GST Plugin development on CentOS 7.5" +LABEL Vendor="Intel Corporation" +WORKDIR /home + +# Prerequisites +include(install.pkgs.m4) + +# Install +include(install.m4) diff --git a/XeonE3/centos-7.4/dldt+gst/build.sh b/XeonE3/centos-7.4/dldt+gst/build.sh new file mode 100755 index 000000000..dc2ec54ef --- /dev/null +++ b/XeonE3/centos-7.4/dldt+gst/build.sh @@ -0,0 +1,7 @@ +#!/bin/bash -e + +IMAGE="xeone3-centos74-dldt-gst" +VERSION="1.0" +DIR=$(dirname $(readlink -f "$0")) + +. "${DIR}/../../../script/build.sh" diff --git a/XeonE3/centos-7.4/dldt+gst/shell.sh b/XeonE3/centos-7.4/dldt+gst/shell.sh new file mode 100755 index 000000000..417919fb7 --- /dev/null +++ b/XeonE3/centos-7.4/dldt+gst/shell.sh @@ -0,0 +1,6 @@ +#!/bin/bash -e + +IMAGE="xeone3-centos74-dldt-gst" +DIR=$(dirname $(readlink -f "$0")) + +. "${DIR}/../../../script/shell.sh" diff --git a/XeonE3/centos-7.4/ffmpeg+gst+dev/Dockerfile b/XeonE3/centos-7.4/ffmpeg+gst+dev/Dockerfile index d03445ab7..898b6ed60 100644 --- a/XeonE3/centos-7.4/ffmpeg+gst+dev/Dockerfile +++ b/XeonE3/centos-7.4/ffmpeg+gst+dev/Dockerfile @@ -14,6 +14,15 @@ RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz make -j8 && \ make install +# Install automake, use version 1.14 on CentOS +ARG AUTOMAKE_VER=1.14 +ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz +RUN wget -O - ${AUTOMAKE_REPO} | tar xJ && \ + cd automake-${AUTOMAKE_VER} && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --disable-doc && \ + make -j8 && \ + make install + # Build NASM ARG NASM_VER=2.13.03 ARG NASM_REPO=https://www.nasm.us/pub/nasm/releasebuilds/${NASM_VER}/nasm-${NASM_VER}.tar.bz2 @@ -200,7 +209,7 @@ RUN wget -O - ${GMMLIB_REPO} | tar xz && mv gmmlib-${GMMLIB_VER} gmmlib; #include(libdrm.m4) # Build libva -ARG LIBVA_VER=2.3.0 +ARG LIBVA_VER=2.4.0 ARG LIBVA_REPO=https://github.com/intel/libva/archive/${LIBVA_VER}.tar.gz RUN yum install -y -q libX11-devel mesa-libGL-devel which libdrm-devel @@ -213,6 +222,18 @@ RUN wget -O - ${LIBVA_REPO} | tar xz && \ make install; +# Build libva-utils +ARG LIBVA_UTILS_VER=2.4.0 +ARG LIBVA_UTILS_REPO=https://github.com/intel/libva-utils/archive/${LIBVA_UTILS_VER}.tar.gz + +RUN wget -O - ${LIBVA_UTILS_REPO} | tar xz; \ + cd libva-utils-${LIBVA_UTILS_VER}; \ + ./autogen.sh --prefix=/usr --libdir=/usr/lib64; \ + make -j8; \ + make install DESTDIR=/home/build; \ + make install; + + # Build media driver ARG MEDIA_DRIVER_VER=intel-media-kbl-19.1.0 ARG MEDIA_DRIVER_REPO=https://github.com/VCDP/media-driver/archive/${MEDIA_DRIVER_VER}.tar.gz @@ -241,6 +262,20 @@ RUN wget -O - ${MSDK_REPO} | tar xz && mv MediaSDK-${MSDK_VER} MediaSDK && \ make install DESTDIR=/home/build && \ make install; +#install OpenCL + + +RUN yum install -y -q dnf dnf-plugins-core + +RUN yum install -y yum-plugin-copr +RUN yum copr enable -y arturh/intel-opencl +RUN yum install -y -q intel-opencl +RUN yum install -y epel-release +RUN yum install -y ocl-icd libgomp + + +#clinfo needs to be installed after build directory is copied over + # Build DLDT-Inference Engine ARG DLDT_VER=2018_R5 ARG DLDT_REPO=https://github.com/opencv/dldt.git @@ -256,64 +291,137 @@ RUN git clone -b ${DLDT_VER} ${DLDT_REPO} && \ wget -O - ${DLDT_C_API_REPO} | patch -p2 && \ mkdir build && \ cd build && \ - cmake -DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_PATH=/usr/lib64 -DENABLE_MKL_DNN=ON -DENABLE_CLDNN=ON -DENABLE_SAMPLES_CORE=OFF ..; \ - make -j16 && \ + cmake -DCMAKE_INSTALL_PREFIX=/opt/intel/dldt -DLIB_INSTALL_PATH=/opt/intel/dldt -DENABLE_MKL_DNN=ON -DENABLE_CLDNN=ON -DENABLE_SAMPLE_CORE=OFF .. && \ + make -j $(nproc) && \ rm -rf ../bin/intel64/Release/lib/libgtest* && \ rm -rf ../bin/intel64/Release/lib/libgmock* && \ rm -rf ../bin/intel64/Release/lib/libmock* && \ - rm -rf ../bin/intel64/Release/lib/libtest* && \ - for p in /usr /home/build/usr; do \ - mkdir -p $p/include/dldt; \ - cp -r ../include/* $p/include/dldt; \ - libdir="$p/lib64"; \ - cp -r ../bin/intel64/Release/lib/* "$libdir"; \ - cp -r ../temp/omp/lib/* "$libdir"; \ - mkdir -p "$libdir/pkgconfig"; \ - pc="$libdir/pkgconfig/dldt.pc"; \ - echo "prefix=/usr" > "$pc"; \ - echo "libdir=/usr/lib64" >> "$pc"; \ - echo "includedir=/usr/include/dldt" >> "$pc"; \ - echo "" >> "$pc"; \ - echo "Name: DLDT" >> "$pc"; \ - echo "Description: Intel Deep Learning Deployment Toolkit" >> "$pc"; \ - echo "Version: 5.0" >> "$pc"; \ - echo "" >> "$pc"; \ - echo "Libs: -L\${libdir} -linference_engine -linference_engine_c_wrapper" >> "$pc"; \ + rm -rf ../bin/intel64/Release/lib/libtest* + +ARG libdir=/opt/intel/dldt/inference-engine/lib/centos_7.4/intel64 + +RUN mkdir -p /opt/intel/dldt/inference-engine/include && \ + cp -r dldt/inference-engine/include/* /opt/intel/dldt/inference-engine/include && \ + mkdir -p ${libdir} && \ + cp -r dldt/inference-engine/bin/intel64/Release/lib/* ${libdir} && \ + mkdir -p /opt/intel/dldt/inference-engine/src && \ + cp -r dldt/inference-engine/src/* /opt/intel/dldt/inference-engine/src/ && \ + mkdir -p /opt/intel/dldt/inference-engine/share && \ + cp -r dldt/inference-engine/build/share/* /opt/intel/dldt/inference-engine/share/ && \ + mkdir -p /opt/intel/dldt/inference-engine/external/omp/lib && \ + cp -r dldt/inference-engine/temp/omp/lib/* /opt/intel/dldt/inference-engine/external/omp/lib/ + +RUN mkdir -p build/opt/intel/dldt/inference-engine/include && \ + cp -r dldt/inference-engine/include/* build/opt/intel/dldt/inference-engine/include && \ + mkdir -p build${libdir} && \ + cp -r dldt/inference-engine/bin/intel64/Release/lib/* build${libdir} && \ + mkdir -p build/opt/intel/dldt/inference-engine/src && \ + cp -r dldt/inference-engine/src/* build/opt/intel/dldt/inference-engine/src/ && \ + mkdir -p build/opt/intel/dldt/inference-engine/share && \ + cp -r dldt/inference-engine/build/share/* build/opt/intel/dldt/inference-engine/share/ && \ + mkdir -p build/opt/intel/dldt/inference-engine/external/omp/lib && \ + cp -r dldt/inference-engine/temp/omp/lib/* build/opt/intel/dldt/inference-engine/external/omp/lib/ + +RUN for p in /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inference-engine; do \ + mkdir -p "${libdir}/pkgconfig" && \ + pc="${libdir}/pkgconfig/dldt.pc" && \ + echo "prefix=/opt" > "$pc" && \ + echo "libdir=${libdir}" >> "$pc" && \ + echo "includedir=/opt/intel/dldt/inference-engine/include" >> "$pc" && \ + echo "" >> "$pc" && \ + echo "Name: DLDT" >> "$pc" && \ + echo "Description: Intel Deep Learning Deployment Toolkit" >> "$pc" && \ + echo "Version: 5.0" >> "$pc" && \ + echo "" >> "$pc" && \ + echo "Libs: -L\${libdir} -linference_engine -linference_engine_c_wrapper" >> "$pc" && \ echo "Cflags: -I\${includedir}" >> "$pc"; \ done; -# Install automake -ARG AUTOMAKE_VER=1.14 -ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz +ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share +ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} + +#install Model Optimizer in the DLDT for Dev +ARG PYTHON_TRUSTED_HOST +ARG PYTHON_TRUSTED_INDEX_URL +#install MO dependencies +RUN yum install -y python36 +RUN yum install -y python36-devel +RUN yum install -y python36-setuptools +RUN easy_install-3.6 pip +#RUN pip3 install numpy scipy +RUN git clone https://github.com/google/protobuf.git && \ + cd protobuf && \ + git submodule update --init --recursive && \ + ./autogen.sh && \ + ./configure && \ + make && \ + make install && \ + make install DESTDIR=/home/build +#RUN apt-get update && apt-get install -y sudo +#installing dependency libs to mo_libs directory to avoid issues with updates to Python version +RUN cd dldt/model-optimizer && \ +if [ "x$PYTHON_TRUSTED_HOST" = "x" ] ; \ +then pip3 install --target=/home/build/mo_libs -r requirements.txt && \ +pip3 install -r requirements.txt; \ +else pip3 install --target=/home/build/mo_libs -r requirements.txt -i $PYTHON_TRUSTED_INDEX_URL --trusted-host $PYTHON_TRUSTED_HOST && \ +pip3 install -r requirements.txt -i $PYTHON_TRUSTED_INDEX_URL --trusted-host $PYTHON_TRUSTED_HOST; \ +fi + +#Copy over Model Optimizer to same directory as Inference Engine +RUN cp -r dldt/model-optimizer /opt/intel/dldt/model-optimizer +RUN cp -r dldt/model-optimizer /home/build/opt/intel/dldt/model-optimizer + -RUN wget -O - ${AUTOMAKE_REPO} | tar xJ && \ - cd automake-${AUTOMAKE_VER} && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --disable-doc && \ - make -j8 && \ - make install # Build the gstremaer core ARG GST_VER=1.14.4 ARG GST_REPO=https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${GST_VER}.tar.xz -RUN yum install -y -q glib2-devel-2.56.1 gettext-devel gtk-doc +RUN yum install -y -q glib2-devel-2.56.1 gettext-devel gobject-introspection python-gobject-base RUN wget -O - ${GST_REPO} | tar xJ && \ cd gstreamer-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples \ + --disable-gtk-doc && \ + make -j $(nproc) && \ + make install DESTDIR=/home/build && \ + make install; + +# Build the gstremaer plugin bad set +ARG GST_ORC_VER=0.4.28 +ARG GST_ORC_REPO=https://gstreamer.freedesktop.org/src/orc/orc-${GST_ORC_VER}.tar.xz + +RUN wget -O - ${GST_ORC_REPO} | tar xJ && \ + cd orc-${GST_ORC_VER} && \ + ./autogen.sh --prefix=/usr --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin base ARG GST_PLUGIN_BASE_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-${GST_VER}.tar.xz +RUN yum install -y -q libXv-devel libvisual-devel libtheora-devel glib2-devel alsa-lib-devel cdparanoia-devel mesa-libGL-devel pango-devel + RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ && \ cd gst-plugins-base-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install @@ -321,33 +429,53 @@ RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ && \ # Build the gstremaer plugin good set ARG GST_PLUGIN_GOOD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-${GST_VER}.tar.xz +RUN yum install -y -q libsoup-devel libjpeg-devel + RUN wget -O - ${GST_PLUGIN_GOOD_REPO} | tar xJ && \ cd gst-plugins-good-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install + # Build the gstremaer plugin bad set ARG GST_PLUGIN_BAD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-${GST_VER}.tar.xz +RUN yum install -y -q openssl-devel + RUN wget -O - ${GST_PLUGIN_BAD_REPO} | tar xJ && \ cd gst-plugins-bad-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin ugly set ARG GST_PLUGIN_UGLY_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ && \ - cd gst-plugins-ugly-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples && \ - make -j8 && \ +RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ; \ + cd gst-plugins-ugly-${GST_VER}; \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install @@ -358,37 +486,94 @@ RUN yum install -y -q zlib-devel openssl-devel RUN wget -O - ${GST_PLUGIN_LIBAV_REPO} | tar xJ && \ cd gst-libav-${GST_VER} && \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --enable-gpl && \ - make -j8 && \ - make install DESTDIR="/home/build" - - - -# Install automake -ARG AUTOMAKE_VER=1.14 -ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz - -RUN wget -O - ${AUTOMAKE_REPO} | tar xJ && \ - cd automake-${AUTOMAKE_VER} && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --disable-doc && \ - make -j8 && \ + ./autogen.sh \ + --prefix="/usr" \ + --libdir=/usr/lib64 \ + --enable-shared \ + --enable-gpl \ + --disable-gtk-doc && \ + make -j $(nproc) && \ + make install DESTDIR=/home/build && \ make install # Build gstremaer plugin vaapi -ARG GST_PLUGIN_VAAPI_REPO=https://gstreamer.freedesktop.org/src/gstreamer-vaapi//gstreamer-vaapi-${GST_VER}.tar.xz +ARG GST_PLUGIN_VAAPI_REPO=https://gstreamer.freedesktop.org/src/gstreamer-vaapi/gstreamer-vaapi-${GST_VER}.tar.xz + +# https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/merge_requests/45 +ARG GST_PLUGIN_VAAPI_REPO_DISPLAY_LOCK_PATCH_HASH=b219f6095f3014041896714dd88e7d90ee3d72dd +ARG GST_PLUGIN_VAAPI_REPO_GIT=https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi.git RUN yum install -y -q libXrandr-devel +#RUN git clone https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi.git -b 1.14 --depth 10 && \ +# cd gstreamer-vaapi && git reset --hard ${GST_PLUGIN_VAAPI_REPO_DISPLAY_LOCK_PATCH_HASH} && \ RUN wget -O - ${GST_PLUGIN_VAAPI_REPO} | tar xJ && \ cd gstreamer-vaapi-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install +ARG OPENCV_VER=4.0.0 +ARG OPENCV_REPO=https://github.com/opencv/opencv/archive/${OPENCV_VER}.tar.gz + + +RUN wget ${OPENCV_REPO} && \ + tar -zxvf ${OPENCV_VER}.tar.gz && \ + cd opencv-${OPENCV_VER} && \ + mkdir build && \ + cd build && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -D BUILD_EXAMPLES=OFF -D BUILD_PERF_TESTS=OFF -D BUILD_DOCS=OFF -D BUILD_TESTS=OFF .. && \ + make -j $(nproc) && \ + make install DESTDIR=/home/build && \ + make install + + +RUN yum install -y -q glib2-devel gtk-dock openblas + +RUN yum install -y -q binutils + + +ARG PAHO_VER=1.3.0 +ARG PAHO_REPO=https://github.com/eclipse/paho.mqtt.c/archive/v${PAHO_VER}.tar.gz +RUN wget -O - https://github.com/eclipse/paho.mqtt.c/archive/v${PAHO_VER}.tar.gz | tar -xz; \ + cd paho.mqtt.c-${PAHO_VER}; \ + make; \ + make install; + +#Install va gstreamer plugins +#Has a dependency on OpenCV, GStreamer +ARG VA_GSTREAMER_PLUGINS_VER=0.3 +ARG VA_GSTREAMER_PLUGINS_REPO=https://github.com/opencv/gst-video-analytics/archive/v${VA_GSTREAMER_PLUGINS_VER}.tar.gz +RUN wget -O - ${VA_GSTREAMER_PLUGINS_REPO} | tar xz && \ + cd gst-video-analytics-${VA_GSTREAMER_PLUGINS_VER} && \ + mkdir build && \ + cd build && \ + export CFLAGS="-std=gnu99 -Wno-missing-field-initializers" && \ + export CXXFLAGS="-std=c++11 -Wno-missing-field-initializers" && \ + cmake \ + -DVERSION_PATCH=$(echo "$(git rev-list --count --first-parent HEAD)") \ + -DGIT_INFO=$(echo "git_$(git rev-parse --short HEAD)") \ + -DCMAKE_BUILD_TYPE=Release \ + -DDISABLE_SAMPLES=ON \ + -DDISABLE_VAAPI=ON \ + -DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX=/usr .. && \ + make -j4 +RUN mkdir -p build/usr/lib64/gstreamer-1.0 && \ + cp -r gst-video-analytics-${VA_GSTREAMER_PLUGINS_VER}/build/intel64/Release/lib/* build/usr/lib64/gstreamer-1.0 +RUN mkdir -p /usr/lib64/gstreamer-1.0 && \ + cp -r gst-video-analytics-${VA_GSTREAMER_PLUGINS_VER}/build/intel64/Release/lib/* /usr/lib64/gstreamer-1.0 + + + # Fetch FFmpeg source ARG FFMPEG_VER=n4.1 ARG FFMPEG_REPO=https://github.com/FFmpeg/FFmpeg/archive/${FFMPEG_VER}.tar.gz @@ -445,7 +630,8 @@ WORKDIR /home # Prerequisites RUN yum install -y epel-release; \ - yum install -y -q libxcb SDL2 libass numactl libvdpau glib2-2.56.1 libxcb libXrandr libdrm libpng12 libXv libpciaccess libX11 mesa-dri-drivers mesa-libGL ; \ + yum install -y -q libxcb SDL2 libass numactl libvdpau glib2-2.56.1 pangolibxcb mesa-libGL libXrandr libpng12 libXv libvisual mesa-libGL pango glib2 libpciaccess libX11 openblas-serial \ +mesa-dri-drivers mesa-libGL libsoup libjpeg-turbo python36 ; \ yum remove -y -q epel-release; \ rm -rf /var/cache/yum/*; @@ -453,6 +639,19 @@ RUN yum install -y epel-release; \ COPY --from=build /home/build / ENV LIBVA_DRIVERS_PATH=/usr/lib64/dri ENV LIBVA_DRIVER_NAME=iHD +RUN yum install -y -q dnf dnf-plugins-core yum-plugin-copr +RUN yum copr enable -y arturh/intel-opencl +RUN yum install -y -q intel-opencl +RUN yum install -y epel-release +RUN yum install -y ocl-icd libgomp +RUN ln -s /usr/lib64/libOpenCL.so.1 /usr/lib/libOpenCL.so ENV GST_VAAPI_ALL_DRIVERS=1 ENV DISPLAY=:0.0 +ARG libdir=/opt/intel/dldt/inference-engine/lib/centos_7.4/intel64 +ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share +ENV PYTHONPATH=${PYTHONPATH}:/mo_libs +ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib64/gstreamer-1.0 +ENV PKG_CONFIG_PATH=/usr/lib64/pkgconfig +ENV LIBRARY_PATH=${LIBRARY_PATH}:/usr/lib +ENV PATH=${PATH}:/usr/bin diff --git a/XeonE3/centos-7.4/ffmpeg+gst+dev/Dockerfile.m4 b/XeonE3/centos-7.4/ffmpeg+gst+dev/Dockerfile.m4 index 6dec56675..c22b60540 100644 --- a/XeonE3/centos-7.4/ffmpeg+gst+dev/Dockerfile.m4 +++ b/XeonE3/centos-7.4/ffmpeg+gst+dev/Dockerfile.m4 @@ -20,18 +20,21 @@ include(svt-vp9.m4) include(gmmlib.m4) #include(libdrm.m4) include(libva.m4) +include(libva-utils.m4) include(media-driver.m4) include(media-sdk.m4) +include(opencl.m4) include(dldt-ie.m4) -include(automake.m4) include(gst.m4) +include(gst-orc.m4) include(gst-plugin-base.m4) include(gst-plugin-good.m4) include(gst-plugin-bad.m4) include(gst-plugin-ugly.m4) include(gst-plugin-libav.m4) -include(automake.m4) include(gst-plugin-vaapi.m4) +include(opencv.m4) +include(gstreamer-videoanalytics.m4) include(ffmpeg.m4) include(cleanup.m4)dnl diff --git a/XeonE3/centos-7.4/ffmpeg/Dockerfile b/XeonE3/centos-7.4/ffmpeg/Dockerfile index ecc3f7f84..c59eac859 100644 --- a/XeonE3/centos-7.4/ffmpeg/Dockerfile +++ b/XeonE3/centos-7.4/ffmpeg/Dockerfile @@ -14,6 +14,15 @@ RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz make -j8 && \ make install +# Install automake, use version 1.14 on CentOS +ARG AUTOMAKE_VER=1.14 +ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz +RUN wget -O - ${AUTOMAKE_REPO} | tar xJ && \ + cd automake-${AUTOMAKE_VER} && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --disable-doc && \ + make -j8 && \ + make install + # Build NASM ARG NASM_VER=2.13.03 ARG NASM_REPO=https://www.nasm.us/pub/nasm/releasebuilds/${NASM_VER}/nasm-${NASM_VER}.tar.bz2 @@ -200,7 +209,7 @@ RUN wget -O - ${GMMLIB_REPO} | tar xz && mv gmmlib-${GMMLIB_VER} gmmlib; #include(libdrm.m4) # Build libva -ARG LIBVA_VER=2.3.0 +ARG LIBVA_VER=2.4.0 ARG LIBVA_REPO=https://github.com/intel/libva/archive/${LIBVA_VER}.tar.gz RUN yum install -y -q libX11-devel mesa-libGL-devel which libdrm-devel diff --git a/XeonE3/centos-7.4/gst/Dockerfile b/XeonE3/centos-7.4/gst/Dockerfile index a43c9c33c..6c315013b 100644 --- a/XeonE3/centos-7.4/gst/Dockerfile +++ b/XeonE3/centos-7.4/gst/Dockerfile @@ -14,6 +14,15 @@ RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz make -j8 && \ make install +# Install automake, use version 1.14 on CentOS +ARG AUTOMAKE_VER=1.14 +ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz +RUN wget -O - ${AUTOMAKE_REPO} | tar xJ && \ + cd automake-${AUTOMAKE_VER} && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --disable-doc && \ + make -j8 && \ + make install + # Build NASM ARG NASM_VER=2.13.03 ARG NASM_REPO=https://www.nasm.us/pub/nasm/releasebuilds/${NASM_VER}/nasm-${NASM_VER}.tar.bz2 @@ -199,7 +208,7 @@ RUN wget -O - ${GMMLIB_REPO} | tar xz && mv gmmlib-${GMMLIB_VER} gmmlib; #include(libdrm.m4) # Build libva -ARG LIBVA_VER=2.3.0 +ARG LIBVA_VER=2.4.0 ARG LIBVA_REPO=https://github.com/intel/libva/archive/${LIBVA_VER}.tar.gz RUN yum install -y -q libX11-devel mesa-libGL-devel which libdrm-devel @@ -228,38 +237,41 @@ RUN wget -O - ${MEDIA_DRIVER_REPO} | tar xz && mv media-driver-${MEDIA_DRIVER_VE -# Install automake -ARG AUTOMAKE_VER=1.14 -ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz - -RUN wget -O - ${AUTOMAKE_REPO} | tar xJ && \ - cd automake-${AUTOMAKE_VER} && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --disable-doc && \ - make -j8 && \ - make install - - # Build the gstremaer core ARG GST_VER=1.14.4 ARG GST_REPO=https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${GST_VER}.tar.xz -RUN yum install -y -q glib2-devel-2.56.1 gettext-devel gtk-doc +RUN yum install -y -q glib2-devel-2.56.1 gettext-devel gobject-introspection python-gobject-base RUN wget -O - ${GST_REPO} | tar xJ && \ cd gstreamer-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-gst-debug --disable-debug --disable-benchmarks --disable-check && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples --disable-gst-debug \ + --disable-debug \ + --disable-benchmarks \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ - make install + make install; # Build the gstremaer plugin base ARG GST_PLUGIN_BASE_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-${GST_VER}.tar.xz +RUN yum install -y -q libXv-devel libvisual-devel libtheora-devel glib2-devel alsa-lib-devel cdparanoia-devel mesa-libGL-devel pango-devel + RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ && \ cd gst-plugins-base-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples --disable-debug \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install @@ -267,33 +279,53 @@ RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ && \ # Build the gstremaer plugin good set ARG GST_PLUGIN_GOOD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-${GST_VER}.tar.xz +RUN yum install -y -q libsoup-devel libjpeg-devel + RUN wget -O - ${GST_PLUGIN_GOOD_REPO} | tar xJ && \ cd gst-plugins-good-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples --disable-debug \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install + # Build the gstremaer plugin bad set ARG GST_PLUGIN_BAD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-${GST_VER}.tar.xz +RUN yum install -y -q openssl-devel + RUN wget -O - ${GST_PLUGIN_BAD_REPO} | tar xJ && \ cd gst-plugins-bad-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples --disable-debug \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin ugly set ARG GST_PLUGIN_UGLY_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ && \ - cd gst-plugins-ugly-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug && \ - make -j8 && \ +RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ; \ + cd gst-plugins-ugly-${GST_VER}; \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples --disable-debug \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install @@ -304,33 +336,38 @@ RUN yum install -y -q zlib-devel openssl-devel RUN wget -O - ${GST_PLUGIN_LIBAV_REPO} | tar xJ && \ cd gst-libav-${GST_VER} && \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --enable-gpl && \ - make -j8 && \ - make install DESTDIR="/home/build" - - - -# Install automake -ARG AUTOMAKE_VER=1.14 -ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz - -RUN wget -O - ${AUTOMAKE_REPO} | tar xJ && \ - cd automake-${AUTOMAKE_VER} && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --disable-doc && \ - make -j8 && \ + ./autogen.sh \ + --prefix="/usr" \ + --libdir=/usr/lib64 \ + --enable-shared \ + --enable-gpl \ + --disable-gtk-doc && \ + make -j $(nproc) && \ + make install DESTDIR=/home/build && \ make install # Build gstremaer plugin vaapi -ARG GST_PLUGIN_VAAPI_REPO=https://gstreamer.freedesktop.org/src/gstreamer-vaapi//gstreamer-vaapi-${GST_VER}.tar.xz +ARG GST_PLUGIN_VAAPI_REPO=https://gstreamer.freedesktop.org/src/gstreamer-vaapi/gstreamer-vaapi-${GST_VER}.tar.xz + +# https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/merge_requests/45 +ARG GST_PLUGIN_VAAPI_REPO_DISPLAY_LOCK_PATCH_HASH=b219f6095f3014041896714dd88e7d90ee3d72dd +ARG GST_PLUGIN_VAAPI_REPO_GIT=https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi.git RUN yum install -y -q libXrandr-devel +#RUN git clone https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi.git -b 1.14 --depth 10 && \ +# cd gstreamer-vaapi && git reset --hard ${GST_PLUGIN_VAAPI_REPO_DISPLAY_LOCK_PATCH_HASH} && \ RUN wget -O - ${GST_PLUGIN_VAAPI_REPO} | tar xJ && \ cd gstreamer-vaapi-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples \ + --disable-gtk-doc --disable-debug && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install @@ -349,7 +386,7 @@ WORKDIR /home # Prerequisites RUN yum install -y epel-release; \ - yum install -y -q numactl openssl glib2-2.56.1 libxcb libXrandr libdrm libpng12 libXv libpciaccess libX11 mesa-dri-drivers mesa-libGL ; \ + yum install -y -q numactl openssl glib2-2.56.1 pangolibxcb mesa-libGL libXrandr libpng12 libXv libvisual mesa-libGL pango glib2 libpciaccess libX11 mesa-dri-drivers mesa-libGL libsoup libjpeg-turbo ; \ yum remove -y -q epel-release; \ rm -rf /var/cache/yum/*; diff --git a/XeonE3/centos-7.4/gst/Dockerfile.m4 b/XeonE3/centos-7.4/gst/Dockerfile.m4 index f4062f610..6ad1d0b2b 100644 --- a/XeonE3/centos-7.4/gst/Dockerfile.m4 +++ b/XeonE3/centos-7.4/gst/Dockerfile.m4 @@ -20,14 +20,12 @@ include(gmmlib.m4) #include(libdrm.m4) include(libva.m4) include(media-driver.m4) -include(automake.m4) include(gst.m4) include(gst-plugin-base.m4) include(gst-plugin-good.m4) include(gst-plugin-bad.m4) include(gst-plugin-ugly.m4) include(gst-plugin-libav.m4) -include(automake.m4) include(gst-plugin-vaapi.m4) include(cleanup.m4)dnl diff --git a/XeonE3/centos-7.4/nginx+rtmp/Dockerfile b/XeonE3/centos-7.4/nginx+rtmp/Dockerfile index ecbd81e0f..db09a7944 100644 --- a/XeonE3/centos-7.4/nginx+rtmp/Dockerfile +++ b/XeonE3/centos-7.4/nginx+rtmp/Dockerfile @@ -14,6 +14,15 @@ RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz make -j8 && \ make install +# Install automake, use version 1.14 on CentOS +ARG AUTOMAKE_VER=1.14 +ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz +RUN wget -O - ${AUTOMAKE_REPO} | tar xJ && \ + cd automake-${AUTOMAKE_VER} && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --disable-doc && \ + make -j8 && \ + make install + # Build nginx-rtmp ARG NGINX_RTMP_VER=v1.2.1 diff --git a/XeonE3/centos-7.5/dldt+gst/CMakeLists.txt b/XeonE3/centos-7.5/dldt+gst/CMakeLists.txt new file mode 100644 index 000000000..f244b8fb0 --- /dev/null +++ b/XeonE3/centos-7.5/dldt+gst/CMakeLists.txt @@ -0,0 +1,3 @@ +set(image "xeone3_dldt_gst_centos75") +include("${CMAKE_SOURCE_DIR}/script/image.cmake") +include("${CMAKE_SOURCE_DIR}/script/gst-tests.cmake") diff --git a/XeonE3/centos-7.5/dldt+gst/Dockerfile b/XeonE3/centos-7.5/dldt+gst/Dockerfile new file mode 100644 index 000000000..1a65c2dde --- /dev/null +++ b/XeonE3/centos-7.5/dldt+gst/Dockerfile @@ -0,0 +1,587 @@ + +FROM centos:7.5.1804 AS build +WORKDIR /home + +# COMMON BUILD TOOLS +RUN yum install -y -q bzip2 make autoconf libtool git wget ca-certificates pkg-config gcc gcc-c++ bison flex patch epel-release; + +# Install cmake +ARG CMAKE_VER=3.13.1 +ARG CMAKE_REPO=https://cmake.org/files +RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz && \ + cd cmake-${CMAKE_VER} && \ + ./bootstrap --prefix="/usr" && \ + make -j8 && \ + make install + +# Install automake, use version 1.14 on CentOS +ARG AUTOMAKE_VER=1.14 +ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz +RUN wget -O - ${AUTOMAKE_REPO} | tar xJ && \ + cd automake-${AUTOMAKE_VER} && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --disable-doc && \ + make -j8 && \ + make install + +# Build NASM +ARG NASM_VER=2.13.03 +ARG NASM_REPO=https://www.nasm.us/pub/nasm/releasebuilds/${NASM_VER}/nasm-${NASM_VER}.tar.bz2 +RUN wget ${NASM_REPO} && \ + tar -xaf nasm* && \ + cd nasm-${NASM_VER} && \ + ./autogen.sh && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 && \ + make -j8 && \ + make install + +# Build YASM +ARG YASM_VER=1.3.0 +ARG YASM_REPO=https://www.tortall.net/projects/yasm/releases/yasm-${YASM_VER}.tar.gz +RUN wget -O - ${YASM_REPO} | tar xz && \ + cd yasm-${YASM_VER} && \ + sed -i "s/) ytasm.*/)/" Makefile.in && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 && \ + make -j8 && \ + make install + +# Build ogg +ARG OGG_VER=1.3.3 +ARG OGG_REPO=https://downloads.xiph.org/releases/ogg/libogg-${OGG_VER}.tar.xz + +RUN wget -O - ${OGG_REPO} | tar xJ && \ + cd libogg-${OGG_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ + make install + +# Build vorbis +ARG VORBIS_VER=1.3.6 +ARG VORBIS_REPO=https://downloads.xiph.org/releases/vorbis/libvorbis-${VORBIS_VER}.tar.xz + +RUN wget -O - ${VORBIS_REPO} | tar xJ && \ + cd libvorbis-${VORBIS_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ + make install + +# Build mp3lame +ARG MP3LAME_VER=3.100 +ARG MP3LAME_REPO=https://sourceforge.net/projects/lame/files/lame/${MP3LAME_VER}/lame-${MP3LAME_VER}.tar.gz + +RUN wget -O - ${MP3LAME_REPO} | tar xz && \ + cd lame-${MP3LAME_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --enable-nasm && \ + make -j8 && \ + make install DESTDIR=/home/build && \ + make install + +# Build fdk-aac +ARG FDK_AAC_VER=v0.1.6 +ARG FDK_AAC_REPO=https://github.com/mstorsjo/fdk-aac/archive/${FDK_AAC_VER}.tar.gz + +RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac && \ + cd fdk-aac && \ + autoreconf -fiv && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ + make install + + +# Build opus +ARG OPUS_VER=1.2.1 +ARG OPUS_REPO=https://archive.mozilla.org/pub/opus/opus-${OPUS_VER}.tar.gz + +RUN wget -O - ${OPUS_REPO} | tar xz && \ + cd opus-${OPUS_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ + make install + +# Build vpx +ARG VPX_VER=tags/v1.7.0 +ARG VPX_REPO=https://chromium.googlesource.com/webm/libvpx.git + +RUN git clone ${VPX_REPO} && \ + cd libvpx && \ + git checkout ${VPX_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm && \ + make -j8 && \ + make install DESTDIR=/home/build && \ + make install + + +# Build AOM +ARG AOM_VER=b6f1767eedbaddeb1ff5aa409a710ef61078640e +ARG AOM_REPO=https://aomedia.googlesource.com/aom + +RUN git clone ${AOM_REPO} && \ + mkdir aom/aom_build && \ + cd aom/aom_build && \ + git checkout ${AOM_VER} && \ + cmake -DBUILD_SHARED_LIBS=ON -DENABLE_NASM=ON -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF -DCMAKE_INSTALL_PREFIX="/usr" -DLIB_INSTALL_DIR=/usr/lib64 .. && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ + make install + +# Build x264 +ARG X264_VER=stable +ARG X264_REPO=https://github.com/mirror/x264 + +RUN git clone ${X264_REPO} && \ + cd x264 && \ + git checkout ${X264_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ + make install + + +# Build x265 +ARG X265_VER=2.9 +ARG X265_REPO=https://github.com/videolan/x265/archive/${X265_VER}.tar.gz + +RUN yum install -y -q numactl-devel libpciaccess-devel + +RUN wget -O - ${X265_REPO} | tar xz && mv x265-${X265_VER} x265 && \ + cd x265/build/linux && \ + cmake -DBUILD_SHARED_LIBS=ON -DENABLE_TESTS=OFF -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_DIR=/usr/lib64 ../../source && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ + make install + +# Fetch SVT-HEVC +ARG SVT_HEVC_VER=252ff3d18bc1997a5af989ad4e67e025c93dbf68 +ARG SVT_HEVC_REPO=https://github.com/intel/SVT-HEVC + +RUN yum install -y -q patch centos-release-scl && \ + yum install -y -q devtoolset-7 + +RUN git clone ${SVT_HEVC_REPO} && \ + cd SVT-HEVC/Build/linux && \ + git checkout ${SVT_HEVC_VER} && \ + mkdir -p ../../Bin/Release && \ + ( source /opt/rh/devtoolset-7/enable && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ + make install ) + + +# Fetch SVT-AV1 +ARG SVT_AV1_VER=39aad81274a04053e2678ec7ec39cf6584bced66 +ARG SVT_AV1_REPO=https://github.com/OpenVisualCloud/SVT-AV1 + +RUN git clone ${SVT_AV1_REPO} && \ + cd SVT-AV1/Build/linux && \ + git checkout ${SVT_AV1_VER} && \ + mkdir -p ../../Bin/Release && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ + make install + + +# Fetch SVT-VP9 +ARG SVT_VP9_VER=e92a57c +ARG SVT_VP9_REPO=https://github.com/OpenVisualCloud/SVT-VP9 + +RUN git clone ${SVT_VP9_REPO} && \ + cd SVT-VP9/Build/linux && \ + git checkout ${SVT_VP9_VER} && \ + mkdir -p ../../Bin/Release && \ + ( source /opt/rh/devtoolset-7/enable && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ + make install ) + +#include(libdrm.m4) +# Build libva +ARG LIBVA_VER=2.4.0 +ARG LIBVA_REPO=https://github.com/intel/libva/archive/${LIBVA_VER}.tar.gz + +RUN yum install -y -q libX11-devel mesa-libGL-devel which libdrm-devel + +RUN wget -O - ${LIBVA_REPO} | tar xz && \ + cd libva-${LIBVA_VER} && \ + ./autogen.sh --prefix=/usr --libdir=/usr/lib64 && \ + make -j8 && \ + make install DESTDIR=/home/build && \ + make install; + + +# Build libva-utils +ARG LIBVA_UTILS_VER=2.4.0 +ARG LIBVA_UTILS_REPO=https://github.com/intel/libva-utils/archive/${LIBVA_UTILS_VER}.tar.gz + +RUN wget -O - ${LIBVA_UTILS_REPO} | tar xz; \ + cd libva-utils-${LIBVA_UTILS_VER}; \ + ./autogen.sh --prefix=/usr --libdir=/usr/lib64; \ + make -j8; \ + make install DESTDIR=/home/build; \ + make install; + + +# Fetch gmmlib +ARG GMMLIB_VER=intel-gmmlib-18.3.0 +ARG GMMLIB_REPO=https://github.com/intel/gmmlib/archive/${GMMLIB_VER}.tar.gz + +RUN wget -O - ${GMMLIB_REPO} | tar xz && mv gmmlib-${GMMLIB_VER} gmmlib; + + +# Build media driver +ARG MEDIA_DRIVER_VER=intel-media-kbl-19.1.0 +ARG MEDIA_DRIVER_REPO=https://github.com/VCDP/media-driver/archive/${MEDIA_DRIVER_VER}.tar.gz + +RUN yum install -y -q libX11-devel mesa-libGL-devel libpciaccess-devel libXext-devel + +RUN wget -O - ${MEDIA_DRIVER_REPO} | tar xz && mv media-driver-${MEDIA_DRIVER_VER} media-driver && \ + mkdir -p media-driver/build && \ + cd media-driver/build && \ + cmake -DBUILD_TYPE=release -DBUILD_ALONG_WITH_CMRTLIB=1 -DMEDIA_VERSION="2.0.0" -DBS_DIR_GMMLIB=/home/gmmlib/Source/GmmLib -DBS_DIR_COMMON=/home/gmmlib/Source/Common -DBS_DIR_INC=/home/gmmlib/Source/inc -DBS_DIR_MEDIA=/home/media-driver -Wno-dev -DCMAKE_INSTALL_PREFIX=/usr .. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ + make install + + + +# Build Intel(R) Media SDK +ARG MSDK_VER=MSS-KBL-2019-R1 +ARG MSDK_REPO=https://github.com/Intel-Media-SDK/MediaSDK/archive/${MSDK_VER}.tar.gz + +RUN wget -O - ${MSDK_REPO} | tar xz && mv MediaSDK-${MSDK_VER} MediaSDK && \ + mkdir -p MediaSDK/build && \ + cd MediaSDK/build && \ + cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_INCLUDEDIR=include/mfx -DBUILD_SAMPLES=OFF -DENABLE_OPENCL=OFF -Wno-dev .. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ + rm -rf /home/build/usr/samples && \ + rm -rf /home/build/usr/plugins && \ + make install; + +#install OpenCL + + +RUN yum install -y -q dnf dnf-plugins-core + +RUN yum install -y yum-plugin-copr +RUN yum copr enable -y arturh/intel-opencl +RUN yum install -y -q intel-opencl +RUN yum install -y epel-release +RUN yum install -y ocl-icd libgomp + + +#clinfo needs to be installed after build directory is copied over + +# Build DLDT-Inference Engine +ARG DLDT_VER=2018_R5 +ARG DLDT_REPO=https://github.com/opencv/dldt.git +ARG DLDT_C_API_REPO=https://raw.githubusercontent.com/VCDP/FFmpeg-patch/master/thirdparty/0001-Add-inference-engine-C-API.patch + +RUN yum install -y -q boost-devel glibc-static glibc-devel libstdc++-static libstdc++-devel libstdc++ libgcc libusbx-devel openblas-devel; + +RUN git clone -b ${DLDT_VER} ${DLDT_REPO} && \ + cd dldt && \ + git submodule init && \ + git submodule update --recursive && \ + cd inference-engine && \ + wget -O - ${DLDT_C_API_REPO} | patch -p2 && \ + mkdir build && \ + cd build && \ + cmake -DCMAKE_INSTALL_PREFIX=/opt/intel/dldt -DLIB_INSTALL_PATH=/opt/intel/dldt -DENABLE_MKL_DNN=ON -DENABLE_CLDNN=ON -DENABLE_SAMPLE_CORE=OFF .. && \ + make -j $(nproc) && \ + rm -rf ../bin/intel64/Release/lib/libgtest* && \ + rm -rf ../bin/intel64/Release/lib/libgmock* && \ + rm -rf ../bin/intel64/Release/lib/libmock* && \ + rm -rf ../bin/intel64/Release/lib/libtest* + +ARG libdir=/opt/intel/dldt/inference-engine/lib/centos_7.4/intel64 + +RUN mkdir -p /opt/intel/dldt/inference-engine/include && \ + cp -r dldt/inference-engine/include/* /opt/intel/dldt/inference-engine/include && \ + mkdir -p ${libdir} && \ + cp -r dldt/inference-engine/bin/intel64/Release/lib/* ${libdir} && \ + mkdir -p /opt/intel/dldt/inference-engine/src && \ + cp -r dldt/inference-engine/src/* /opt/intel/dldt/inference-engine/src/ && \ + mkdir -p /opt/intel/dldt/inference-engine/share && \ + cp -r dldt/inference-engine/build/share/* /opt/intel/dldt/inference-engine/share/ && \ + mkdir -p /opt/intel/dldt/inference-engine/external/omp/lib && \ + cp -r dldt/inference-engine/temp/omp/lib/* /opt/intel/dldt/inference-engine/external/omp/lib/ + +RUN mkdir -p build/opt/intel/dldt/inference-engine/include && \ + cp -r dldt/inference-engine/include/* build/opt/intel/dldt/inference-engine/include && \ + mkdir -p build${libdir} && \ + cp -r dldt/inference-engine/bin/intel64/Release/lib/* build${libdir} && \ + mkdir -p build/opt/intel/dldt/inference-engine/src && \ + cp -r dldt/inference-engine/src/* build/opt/intel/dldt/inference-engine/src/ && \ + mkdir -p build/opt/intel/dldt/inference-engine/share && \ + cp -r dldt/inference-engine/build/share/* build/opt/intel/dldt/inference-engine/share/ && \ + mkdir -p build/opt/intel/dldt/inference-engine/external/omp/lib && \ + cp -r dldt/inference-engine/temp/omp/lib/* build/opt/intel/dldt/inference-engine/external/omp/lib/ + +RUN for p in /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inference-engine; do \ + mkdir -p "${libdir}/pkgconfig" && \ + pc="${libdir}/pkgconfig/dldt.pc" && \ + echo "prefix=/opt" > "$pc" && \ + echo "libdir=${libdir}" >> "$pc" && \ + echo "includedir=/opt/intel/dldt/inference-engine/include" >> "$pc" && \ + echo "" >> "$pc" && \ + echo "Name: DLDT" >> "$pc" && \ + echo "Description: Intel Deep Learning Deployment Toolkit" >> "$pc" && \ + echo "Version: 5.0" >> "$pc" && \ + echo "" >> "$pc" && \ + echo "Libs: -L\${libdir} -linference_engine -linference_engine_c_wrapper" >> "$pc" && \ + echo "Cflags: -I\${includedir}" >> "$pc"; \ + done; + +ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share +ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} + +#install Model Optimizer in the DLDT for Dev + + + + +# Build the gstremaer core +ARG GST_VER=1.14.4 +ARG GST_REPO=https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${GST_VER}.tar.xz + +RUN yum install -y -q glib2-devel-2.56.1 gettext-devel gobject-introspection python-gobject-base +RUN wget -O - ${GST_REPO} | tar xJ && \ + cd gstreamer-${GST_VER} && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples --disable-gst-debug \ + --disable-debug \ + --disable-benchmarks \ + --disable-gtk-doc && \ + make -j $(nproc) && \ + make install DESTDIR=/home/build && \ + make install; + +# Build the gstremaer plugin bad set +ARG GST_ORC_VER=0.4.28 +ARG GST_ORC_REPO=https://gstreamer.freedesktop.org/src/orc/orc-${GST_ORC_VER}.tar.xz + +RUN wget -O - ${GST_ORC_REPO} | tar xJ && \ + cd orc-${GST_ORC_VER} && \ + ./autogen.sh --prefix=/usr --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples --disable-debug \ + --disable-gtk-doc && \ + make -j $(nproc) && \ + make install DESTDIR=/home/build && \ + make install + +# Build the gstremaer plugin base +ARG GST_PLUGIN_BASE_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-${GST_VER}.tar.xz + +RUN yum install -y -q libXv-devel libvisual-devel libtheora-devel glib2-devel alsa-lib-devel cdparanoia-devel mesa-libGL-devel pango-devel + +RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ && \ + cd gst-plugins-base-${GST_VER} && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples --disable-debug \ + --disable-gtk-doc && \ + make -j $(nproc) && \ + make install DESTDIR=/home/build && \ + make install + + +# Build the gstremaer plugin good set +ARG GST_PLUGIN_GOOD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-${GST_VER}.tar.xz + +RUN yum install -y -q libsoup-devel libjpeg-devel + +RUN wget -O - ${GST_PLUGIN_GOOD_REPO} | tar xJ && \ + cd gst-plugins-good-${GST_VER} && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples --disable-debug \ + --disable-gtk-doc && \ + make -j $(nproc) && \ + make install DESTDIR=/home/build && \ + make install + + +# Build the gstremaer plugin bad set +ARG GST_PLUGIN_BAD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-${GST_VER}.tar.xz + +RUN yum install -y -q openssl-devel + +RUN wget -O - ${GST_PLUGIN_BAD_REPO} | tar xJ && \ + cd gst-plugins-bad-${GST_VER} && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples --disable-debug \ + --disable-gtk-doc && \ + make -j $(nproc) && \ + make install DESTDIR=/home/build && \ + make install + +# Build the gstremaer plugin ugly set +ARG GST_PLUGIN_UGLY_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-${GST_VER}.tar.xz + +RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ; \ + cd gst-plugins-ugly-${GST_VER}; \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples --disable-debug \ + --disable-gtk-doc && \ + make -j $(nproc) && \ + make install DESTDIR=/home/build && \ + make install + +# Build gst-libav +ARG GST_PLUGIN_LIBAV_REPO=https://gstreamer.freedesktop.org/src/gst-libav/gst-libav-${GST_VER}.tar.xz + +RUN yum install -y -q zlib-devel openssl-devel + +RUN wget -O - ${GST_PLUGIN_LIBAV_REPO} | tar xJ && \ + cd gst-libav-${GST_VER} && \ + ./autogen.sh \ + --prefix="/usr" \ + --libdir=/usr/lib64 \ + --enable-shared \ + --enable-gpl \ + --disable-gtk-doc && \ + make -j $(nproc) && \ + make install DESTDIR=/home/build && \ + make install + + +# Build gstremaer plugin vaapi +ARG GST_PLUGIN_VAAPI_REPO=https://gstreamer.freedesktop.org/src/gstreamer-vaapi/gstreamer-vaapi-${GST_VER}.tar.xz + +# https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/merge_requests/45 +ARG GST_PLUGIN_VAAPI_REPO_DISPLAY_LOCK_PATCH_HASH=b219f6095f3014041896714dd88e7d90ee3d72dd +ARG GST_PLUGIN_VAAPI_REPO_GIT=https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi.git + +RUN yum install -y -q libXrandr-devel + +#RUN git clone https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi.git -b 1.14 --depth 10 && \ +# cd gstreamer-vaapi && git reset --hard ${GST_PLUGIN_VAAPI_REPO_DISPLAY_LOCK_PATCH_HASH} && \ +RUN wget -O - ${GST_PLUGIN_VAAPI_REPO} | tar xJ && \ + cd gstreamer-vaapi-${GST_VER} && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples \ + --disable-gtk-doc --disable-debug && \ + make -j $(nproc) && \ + make install DESTDIR=/home/build && \ + make install + + +ARG OPENCV_VER=4.0.0 +ARG OPENCV_REPO=https://github.com/opencv/opencv/archive/${OPENCV_VER}.tar.gz + + +RUN wget ${OPENCV_REPO} && \ + tar -zxvf ${OPENCV_VER}.tar.gz && \ + cd opencv-${OPENCV_VER} && \ + mkdir build && \ + cd build && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -D BUILD_EXAMPLES=OFF -D BUILD_PERF_TESTS=OFF -D BUILD_DOCS=OFF -D BUILD_TESTS=OFF .. && \ + make -j $(nproc) && \ + make install DESTDIR=/home/build && \ + make install + + +RUN yum install -y -q glib2-devel gtk-dock openblas + + + +ARG PAHO_VER=1.3.0 +ARG PAHO_REPO=https://github.com/eclipse/paho.mqtt.c/archive/v${PAHO_VER}.tar.gz +RUN wget -O - https://github.com/eclipse/paho.mqtt.c/archive/v${PAHO_VER}.tar.gz | tar -xz; \ + cd paho.mqtt.c-${PAHO_VER}; \ + make; \ + make install; + +#Install va gstreamer plugins +#Has a dependency on OpenCV, GStreamer +ARG VA_GSTREAMER_PLUGINS_VER=0.3 +ARG VA_GSTREAMER_PLUGINS_REPO=https://github.com/opencv/gst-video-analytics/archive/v${VA_GSTREAMER_PLUGINS_VER}.tar.gz +RUN wget -O - ${VA_GSTREAMER_PLUGINS_REPO} | tar xz && \ + cd gst-video-analytics-${VA_GSTREAMER_PLUGINS_VER} && \ + mkdir build && \ + cd build && \ + export CFLAGS="-std=gnu99 -Wno-missing-field-initializers" && \ + export CXXFLAGS="-std=c++11 -Wno-missing-field-initializers" && \ + cmake \ + -DVERSION_PATCH=$(echo "$(git rev-list --count --first-parent HEAD)") \ + -DGIT_INFO=$(echo "git_$(git rev-parse --short HEAD)") \ + -DCMAKE_BUILD_TYPE=Release \ + -DDISABLE_SAMPLES=ON \ + -DDISABLE_VAAPI=ON \ + -DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX=/usr .. && \ + make -j4 +RUN mkdir -p build/usr/lib64/gstreamer-1.0 && \ + cp -r gst-video-analytics-${VA_GSTREAMER_PLUGINS_VER}/build/intel64/Release/lib/* build/usr/lib64/gstreamer-1.0 +RUN mkdir -p /usr/lib64/gstreamer-1.0 && \ + cp -r gst-video-analytics-${VA_GSTREAMER_PLUGINS_VER}/build/intel64/Release/lib/* /usr/lib64/gstreamer-1.0 + + + +# Clean up after build +RUN rm -rf /home/build/usr/include && \ + rm -rf /home/build/usr/share/doc && \ + rm -rf /home/build/usr/share/gtk-doc && \ + rm -rf /home/build/usr/share/man && \ + find /home/build -name "*.a" -exec rm -f {} \; + +FROM centos:7.5.1804 +LABEL Description="This is the image for DLDT & GStreamer & Video Analytic GST Plugin development on CentOS 7.5" +LABEL Vendor="Intel Corporation" +WORKDIR /home + +# Prerequisites +RUN yum install -y epel-release; \ + yum install -y -q numactl openssl glib2-2.56.1 pangolibxcb mesa-libGL libXrandr libpng12 libXv libvisual mesa-libGL pango glib2 libpciaccess libX11 openblas-serial \ +mesa-dri-drivers mesa-libGL libsoup libjpeg-turbo python36 ; \ + yum remove -y -q epel-release; \ + rm -rf /var/cache/yum/*; + +# Install +COPY --from=build /home/build / +ENV LIBVA_DRIVERS_PATH=/usr/lib64/dri +ENV LIBVA_DRIVER_NAME=iHD +RUN yum install -y -q dnf dnf-plugins-core yum-plugin-copr +RUN yum copr enable -y arturh/intel-opencl +RUN yum install -y -q intel-opencl +RUN yum install -y epel-release +RUN yum install -y ocl-icd libgomp +RUN ln -s /usr/lib64/libOpenCL.so.1 /usr/lib/libOpenCL.so +ENV GST_VAAPI_ALL_DRIVERS=1 +ENV DISPLAY=:0.0 +ARG libdir=/opt/intel/dldt/inference-engine/lib/centos_7.4/intel64 +ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share +ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib64/gstreamer-1.0 +ENV PKG_CONFIG_PATH=/usr/lib64/pkgconfig +ENV LIBRARY_PATH=${LIBRARY_PATH}:/usr/lib +ENV PATH=${PATH}:/usr/bin + diff --git a/XeonE3/centos-7.5/dldt+gst/Dockerfile.m4 b/XeonE3/centos-7.5/dldt+gst/Dockerfile.m4 new file mode 100644 index 000000000..99070a8de --- /dev/null +++ b/XeonE3/centos-7.5/dldt+gst/Dockerfile.m4 @@ -0,0 +1,48 @@ + +FROM centos:7.5.1804 AS build +WORKDIR /home +define(`BUILD_LINKAGE',shared)dnl + +include(build-tools.m4) +include(libogg.m4) +include(libvorbis.m4) +include(libmp3lame.m4) +include(libfdk-aac.m4) +include(libopus.m4) +include(libvpx.m4) +include(libaom.m4) +include(libx264.m4) +include(libx265.m4) +include(svt-hevc.m4) +include(svt-av1.m4) +include(svt-vp9.m4) +#include(libdrm.m4) +include(libva.m4) +include(libva-utils.m4) +include(gmmlib.m4) +include(media-driver.m4) +include(media-sdk.m4) +include(opencl.m4) +include(dldt-ie.m4) +include(gst.m4) +include(gst-orc.m4) +include(gst-plugin-base.m4) +include(gst-plugin-good.m4) +include(gst-plugin-bad.m4) +include(gst-plugin-ugly.m4) +include(gst-plugin-libav.m4) +include(gst-plugin-vaapi.m4) +include(opencv.m4) +include(gstreamer-videoanalytics.m4) +include(cleanup.m4)dnl + +FROM centos:7.5.1804 +LABEL Description="This is the image for DLDT & GStreamer & Video Analytic GST Plugin development on CentOS 7.5" +LABEL Vendor="Intel Corporation" +WORKDIR /home + +# Prerequisites +include(install.pkgs.m4) + +# Install +include(install.m4) diff --git a/XeonE3/centos-7.5/dldt+gst/build.sh b/XeonE3/centos-7.5/dldt+gst/build.sh new file mode 100755 index 000000000..8e33dd08d --- /dev/null +++ b/XeonE3/centos-7.5/dldt+gst/build.sh @@ -0,0 +1,7 @@ +#!/bin/bash -e + +IMAGE="xeone3-centos75-dldt-gst" +VERSION="1.0" +DIR=$(dirname $(readlink -f "$0")) + +. "${DIR}/../../../script/build.sh" diff --git a/XeonE3/centos-7.5/dldt+gst/shell.sh b/XeonE3/centos-7.5/dldt+gst/shell.sh new file mode 100755 index 000000000..62999653a --- /dev/null +++ b/XeonE3/centos-7.5/dldt+gst/shell.sh @@ -0,0 +1,6 @@ +#!/bin/bash -e + +IMAGE="xeone3-centos75-dldt-gst" +DIR=$(dirname $(readlink -f "$0")) + +. "${DIR}/../../../script/shell.sh" diff --git a/XeonE3/centos-7.5/ffmpeg+gst+dev/Dockerfile b/XeonE3/centos-7.5/ffmpeg+gst+dev/Dockerfile index 88ad93cbd..ac355030f 100644 --- a/XeonE3/centos-7.5/ffmpeg+gst+dev/Dockerfile +++ b/XeonE3/centos-7.5/ffmpeg+gst+dev/Dockerfile @@ -14,6 +14,15 @@ RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz make -j8 && \ make install +# Install automake, use version 1.14 on CentOS +ARG AUTOMAKE_VER=1.14 +ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz +RUN wget -O - ${AUTOMAKE_REPO} | tar xJ && \ + cd automake-${AUTOMAKE_VER} && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --disable-doc && \ + make -j8 && \ + make install + # Build NASM ARG NASM_VER=2.13.03 ARG NASM_REPO=https://www.nasm.us/pub/nasm/releasebuilds/${NASM_VER}/nasm-${NASM_VER}.tar.bz2 @@ -200,7 +209,7 @@ RUN wget -O - ${GMMLIB_REPO} | tar xz && mv gmmlib-${GMMLIB_VER} gmmlib; #include(libdrm.m4) # Build libva -ARG LIBVA_VER=2.3.0 +ARG LIBVA_VER=2.4.0 ARG LIBVA_REPO=https://github.com/intel/libva/archive/${LIBVA_VER}.tar.gz RUN yum install -y -q libX11-devel mesa-libGL-devel which libdrm-devel @@ -213,6 +222,18 @@ RUN wget -O - ${LIBVA_REPO} | tar xz && \ make install; +# Build libva-utils +ARG LIBVA_UTILS_VER=2.4.0 +ARG LIBVA_UTILS_REPO=https://github.com/intel/libva-utils/archive/${LIBVA_UTILS_VER}.tar.gz + +RUN wget -O - ${LIBVA_UTILS_REPO} | tar xz; \ + cd libva-utils-${LIBVA_UTILS_VER}; \ + ./autogen.sh --prefix=/usr --libdir=/usr/lib64; \ + make -j8; \ + make install DESTDIR=/home/build; \ + make install; + + # Build media driver ARG MEDIA_DRIVER_VER=intel-media-kbl-19.1.0 ARG MEDIA_DRIVER_REPO=https://github.com/VCDP/media-driver/archive/${MEDIA_DRIVER_VER}.tar.gz @@ -241,6 +262,20 @@ RUN wget -O - ${MSDK_REPO} | tar xz && mv MediaSDK-${MSDK_VER} MediaSDK && \ make install DESTDIR=/home/build && \ make install; +#install OpenCL + + +RUN yum install -y -q dnf dnf-plugins-core + +RUN yum install -y yum-plugin-copr +RUN yum copr enable -y arturh/intel-opencl +RUN yum install -y -q intel-opencl +RUN yum install -y epel-release +RUN yum install -y ocl-icd libgomp + + +#clinfo needs to be installed after build directory is copied over + # Build DLDT-Inference Engine ARG DLDT_VER=2018_R5 ARG DLDT_REPO=https://github.com/opencv/dldt.git @@ -256,64 +291,137 @@ RUN git clone -b ${DLDT_VER} ${DLDT_REPO} && \ wget -O - ${DLDT_C_API_REPO} | patch -p2 && \ mkdir build && \ cd build && \ - cmake -DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_PATH=/usr/lib64 -DENABLE_MKL_DNN=ON -DENABLE_CLDNN=ON -DENABLE_SAMPLES_CORE=OFF ..; \ - make -j16 && \ + cmake -DCMAKE_INSTALL_PREFIX=/opt/intel/dldt -DLIB_INSTALL_PATH=/opt/intel/dldt -DENABLE_MKL_DNN=ON -DENABLE_CLDNN=ON -DENABLE_SAMPLE_CORE=OFF .. && \ + make -j $(nproc) && \ rm -rf ../bin/intel64/Release/lib/libgtest* && \ rm -rf ../bin/intel64/Release/lib/libgmock* && \ rm -rf ../bin/intel64/Release/lib/libmock* && \ - rm -rf ../bin/intel64/Release/lib/libtest* && \ - for p in /usr /home/build/usr; do \ - mkdir -p $p/include/dldt; \ - cp -r ../include/* $p/include/dldt; \ - libdir="$p/lib64"; \ - cp -r ../bin/intel64/Release/lib/* "$libdir"; \ - cp -r ../temp/omp/lib/* "$libdir"; \ - mkdir -p "$libdir/pkgconfig"; \ - pc="$libdir/pkgconfig/dldt.pc"; \ - echo "prefix=/usr" > "$pc"; \ - echo "libdir=/usr/lib64" >> "$pc"; \ - echo "includedir=/usr/include/dldt" >> "$pc"; \ - echo "" >> "$pc"; \ - echo "Name: DLDT" >> "$pc"; \ - echo "Description: Intel Deep Learning Deployment Toolkit" >> "$pc"; \ - echo "Version: 5.0" >> "$pc"; \ - echo "" >> "$pc"; \ - echo "Libs: -L\${libdir} -linference_engine -linference_engine_c_wrapper" >> "$pc"; \ + rm -rf ../bin/intel64/Release/lib/libtest* + +ARG libdir=/opt/intel/dldt/inference-engine/lib/centos_7.4/intel64 + +RUN mkdir -p /opt/intel/dldt/inference-engine/include && \ + cp -r dldt/inference-engine/include/* /opt/intel/dldt/inference-engine/include && \ + mkdir -p ${libdir} && \ + cp -r dldt/inference-engine/bin/intel64/Release/lib/* ${libdir} && \ + mkdir -p /opt/intel/dldt/inference-engine/src && \ + cp -r dldt/inference-engine/src/* /opt/intel/dldt/inference-engine/src/ && \ + mkdir -p /opt/intel/dldt/inference-engine/share && \ + cp -r dldt/inference-engine/build/share/* /opt/intel/dldt/inference-engine/share/ && \ + mkdir -p /opt/intel/dldt/inference-engine/external/omp/lib && \ + cp -r dldt/inference-engine/temp/omp/lib/* /opt/intel/dldt/inference-engine/external/omp/lib/ + +RUN mkdir -p build/opt/intel/dldt/inference-engine/include && \ + cp -r dldt/inference-engine/include/* build/opt/intel/dldt/inference-engine/include && \ + mkdir -p build${libdir} && \ + cp -r dldt/inference-engine/bin/intel64/Release/lib/* build${libdir} && \ + mkdir -p build/opt/intel/dldt/inference-engine/src && \ + cp -r dldt/inference-engine/src/* build/opt/intel/dldt/inference-engine/src/ && \ + mkdir -p build/opt/intel/dldt/inference-engine/share && \ + cp -r dldt/inference-engine/build/share/* build/opt/intel/dldt/inference-engine/share/ && \ + mkdir -p build/opt/intel/dldt/inference-engine/external/omp/lib && \ + cp -r dldt/inference-engine/temp/omp/lib/* build/opt/intel/dldt/inference-engine/external/omp/lib/ + +RUN for p in /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inference-engine; do \ + mkdir -p "${libdir}/pkgconfig" && \ + pc="${libdir}/pkgconfig/dldt.pc" && \ + echo "prefix=/opt" > "$pc" && \ + echo "libdir=${libdir}" >> "$pc" && \ + echo "includedir=/opt/intel/dldt/inference-engine/include" >> "$pc" && \ + echo "" >> "$pc" && \ + echo "Name: DLDT" >> "$pc" && \ + echo "Description: Intel Deep Learning Deployment Toolkit" >> "$pc" && \ + echo "Version: 5.0" >> "$pc" && \ + echo "" >> "$pc" && \ + echo "Libs: -L\${libdir} -linference_engine -linference_engine_c_wrapper" >> "$pc" && \ echo "Cflags: -I\${includedir}" >> "$pc"; \ done; -# Install automake -ARG AUTOMAKE_VER=1.14 -ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz +ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share +ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} + +#install Model Optimizer in the DLDT for Dev +ARG PYTHON_TRUSTED_HOST +ARG PYTHON_TRUSTED_INDEX_URL +#install MO dependencies +RUN yum install -y python36 +RUN yum install -y python36-devel +RUN yum install -y python36-setuptools +RUN easy_install-3.6 pip +#RUN pip3 install numpy scipy +RUN git clone https://github.com/google/protobuf.git && \ + cd protobuf && \ + git submodule update --init --recursive && \ + ./autogen.sh && \ + ./configure && \ + make && \ + make install && \ + make install DESTDIR=/home/build +#RUN apt-get update && apt-get install -y sudo +#installing dependency libs to mo_libs directory to avoid issues with updates to Python version +RUN cd dldt/model-optimizer && \ +if [ "x$PYTHON_TRUSTED_HOST" = "x" ] ; \ +then pip3 install --target=/home/build/mo_libs -r requirements.txt && \ +pip3 install -r requirements.txt; \ +else pip3 install --target=/home/build/mo_libs -r requirements.txt -i $PYTHON_TRUSTED_INDEX_URL --trusted-host $PYTHON_TRUSTED_HOST && \ +pip3 install -r requirements.txt -i $PYTHON_TRUSTED_INDEX_URL --trusted-host $PYTHON_TRUSTED_HOST; \ +fi + +#Copy over Model Optimizer to same directory as Inference Engine +RUN cp -r dldt/model-optimizer /opt/intel/dldt/model-optimizer +RUN cp -r dldt/model-optimizer /home/build/opt/intel/dldt/model-optimizer + -RUN wget -O - ${AUTOMAKE_REPO} | tar xJ && \ - cd automake-${AUTOMAKE_VER} && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --disable-doc && \ - make -j8 && \ - make install # Build the gstremaer core ARG GST_VER=1.14.4 ARG GST_REPO=https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${GST_VER}.tar.xz -RUN yum install -y -q glib2-devel-2.56.1 gettext-devel gtk-doc +RUN yum install -y -q glib2-devel-2.56.1 gettext-devel gobject-introspection python-gobject-base RUN wget -O - ${GST_REPO} | tar xJ && \ cd gstreamer-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples \ + --disable-gtk-doc && \ + make -j $(nproc) && \ + make install DESTDIR=/home/build && \ + make install; + +# Build the gstremaer plugin bad set +ARG GST_ORC_VER=0.4.28 +ARG GST_ORC_REPO=https://gstreamer.freedesktop.org/src/orc/orc-${GST_ORC_VER}.tar.xz + +RUN wget -O - ${GST_ORC_REPO} | tar xJ && \ + cd orc-${GST_ORC_VER} && \ + ./autogen.sh --prefix=/usr --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin base ARG GST_PLUGIN_BASE_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-${GST_VER}.tar.xz +RUN yum install -y -q libXv-devel libvisual-devel libtheora-devel glib2-devel alsa-lib-devel cdparanoia-devel mesa-libGL-devel pango-devel + RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ && \ cd gst-plugins-base-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install @@ -321,33 +429,53 @@ RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ && \ # Build the gstremaer plugin good set ARG GST_PLUGIN_GOOD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-${GST_VER}.tar.xz +RUN yum install -y -q libsoup-devel libjpeg-devel + RUN wget -O - ${GST_PLUGIN_GOOD_REPO} | tar xJ && \ cd gst-plugins-good-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install + # Build the gstremaer plugin bad set ARG GST_PLUGIN_BAD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-${GST_VER}.tar.xz +RUN yum install -y -q openssl-devel + RUN wget -O - ${GST_PLUGIN_BAD_REPO} | tar xJ && \ cd gst-plugins-bad-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin ugly set ARG GST_PLUGIN_UGLY_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ && \ - cd gst-plugins-ugly-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples && \ - make -j8 && \ +RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ; \ + cd gst-plugins-ugly-${GST_VER}; \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install @@ -358,37 +486,93 @@ RUN yum install -y -q zlib-devel openssl-devel RUN wget -O - ${GST_PLUGIN_LIBAV_REPO} | tar xJ && \ cd gst-libav-${GST_VER} && \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --enable-gpl && \ - make -j8 && \ - make install DESTDIR="/home/build" - - - -# Install automake -ARG AUTOMAKE_VER=1.14 -ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz - -RUN wget -O - ${AUTOMAKE_REPO} | tar xJ && \ - cd automake-${AUTOMAKE_VER} && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --disable-doc && \ - make -j8 && \ + ./autogen.sh \ + --prefix="/usr" \ + --libdir=/usr/lib64 \ + --enable-shared \ + --enable-gpl \ + --disable-gtk-doc && \ + make -j $(nproc) && \ + make install DESTDIR=/home/build && \ make install # Build gstremaer plugin vaapi -ARG GST_PLUGIN_VAAPI_REPO=https://gstreamer.freedesktop.org/src/gstreamer-vaapi//gstreamer-vaapi-${GST_VER}.tar.xz +ARG GST_PLUGIN_VAAPI_REPO=https://gstreamer.freedesktop.org/src/gstreamer-vaapi/gstreamer-vaapi-${GST_VER}.tar.xz + +# https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/merge_requests/45 +ARG GST_PLUGIN_VAAPI_REPO_DISPLAY_LOCK_PATCH_HASH=b219f6095f3014041896714dd88e7d90ee3d72dd +ARG GST_PLUGIN_VAAPI_REPO_GIT=https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi.git RUN yum install -y -q libXrandr-devel +#RUN git clone https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi.git -b 1.14 --depth 10 && \ +# cd gstreamer-vaapi && git reset --hard ${GST_PLUGIN_VAAPI_REPO_DISPLAY_LOCK_PATCH_HASH} && \ RUN wget -O - ${GST_PLUGIN_VAAPI_REPO} | tar xJ && \ cd gstreamer-vaapi-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install +ARG OPENCV_VER=4.0.0 +ARG OPENCV_REPO=https://github.com/opencv/opencv/archive/${OPENCV_VER}.tar.gz + + +RUN wget ${OPENCV_REPO} && \ + tar -zxvf ${OPENCV_VER}.tar.gz && \ + cd opencv-${OPENCV_VER} && \ + mkdir build && \ + cd build && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -D BUILD_EXAMPLES=OFF -D BUILD_PERF_TESTS=OFF -D BUILD_DOCS=OFF -D BUILD_TESTS=OFF .. && \ + make -j $(nproc) && \ + make install DESTDIR=/home/build && \ + make install + + +RUN yum install -y -q glib2-devel gtk-dock openblas + + + +ARG PAHO_VER=1.3.0 +ARG PAHO_REPO=https://github.com/eclipse/paho.mqtt.c/archive/v${PAHO_VER}.tar.gz +RUN wget -O - https://github.com/eclipse/paho.mqtt.c/archive/v${PAHO_VER}.tar.gz | tar -xz; \ + cd paho.mqtt.c-${PAHO_VER}; \ + make; \ + make install; + +#Install va gstreamer plugins +#Has a dependency on OpenCV, GStreamer +ARG VA_GSTREAMER_PLUGINS_VER=0.3 +ARG VA_GSTREAMER_PLUGINS_REPO=https://github.com/opencv/gst-video-analytics/archive/v${VA_GSTREAMER_PLUGINS_VER}.tar.gz +RUN wget -O - ${VA_GSTREAMER_PLUGINS_REPO} | tar xz && \ + cd gst-video-analytics-${VA_GSTREAMER_PLUGINS_VER} && \ + mkdir build && \ + cd build && \ + export CFLAGS="-std=gnu99 -Wno-missing-field-initializers" && \ + export CXXFLAGS="-std=c++11 -Wno-missing-field-initializers" && \ + cmake \ + -DVERSION_PATCH=$(echo "$(git rev-list --count --first-parent HEAD)") \ + -DGIT_INFO=$(echo "git_$(git rev-parse --short HEAD)") \ + -DCMAKE_BUILD_TYPE=Release \ + -DDISABLE_SAMPLES=ON \ + -DDISABLE_VAAPI=ON \ + -DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX=/usr .. && \ + make -j4 +RUN mkdir -p build/usr/lib64/gstreamer-1.0 && \ + cp -r gst-video-analytics-${VA_GSTREAMER_PLUGINS_VER}/build/intel64/Release/lib/* build/usr/lib64/gstreamer-1.0 +RUN mkdir -p /usr/lib64/gstreamer-1.0 && \ + cp -r gst-video-analytics-${VA_GSTREAMER_PLUGINS_VER}/build/intel64/Release/lib/* /usr/lib64/gstreamer-1.0 + + + # Fetch FFmpeg source ARG FFMPEG_VER=n4.1 ARG FFMPEG_REPO=https://github.com/FFmpeg/FFmpeg/archive/${FFMPEG_VER}.tar.gz @@ -438,14 +622,15 @@ RUN cd /home/FFmpeg && \ -FROM centos:7.5.1804 +FROM centos:7.5.1804 LABEL Description="This is the image for FFMPEG and GSTREAMER application development on CentOS 7.5" LABEL Vendor="Intel Corporation" WORKDIR /home # Prerequisites RUN yum install -y epel-release; \ - yum install -y -q libxcb SDL2 libass numactl libvdpau glib2-2.56.1 libxcb libXrandr libdrm libpng12 libXv libpciaccess libX11 mesa-dri-drivers mesa-libGL ; \ + yum install -y -q libxcb SDL2 libass numactl libvdpau glib2-2.56.1 pangolibxcb mesa-libGL libXrandr libpng12 libXv libvisual mesa-libGL pango glib2 libpciaccess libX11 openblas-serial \ +mesa-dri-drivers mesa-libGL libsoup libjpeg-turbo python36 ; \ yum remove -y -q epel-release; \ rm -rf /var/cache/yum/*; @@ -453,6 +638,19 @@ RUN yum install -y epel-release; \ COPY --from=build /home/build / ENV LIBVA_DRIVERS_PATH=/usr/lib64/dri ENV LIBVA_DRIVER_NAME=iHD +RUN yum install -y -q dnf dnf-plugins-core yum-plugin-copr +RUN yum copr enable -y arturh/intel-opencl +RUN yum install -y -q intel-opencl +RUN yum install -y epel-release +RUN yum install -y ocl-icd libgomp +RUN ln -s /usr/lib64/libOpenCL.so.1 /usr/lib/libOpenCL.so ENV GST_VAAPI_ALL_DRIVERS=1 ENV DISPLAY=:0.0 +ARG libdir=/opt/intel/dldt/inference-engine/lib/centos_7.4/intel64 +ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share +ENV PYTHONPATH=${PYTHONPATH}:/mo_libs +ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib64/gstreamer-1.0 +ENV PKG_CONFIG_PATH=/usr/lib64/pkgconfig +ENV LIBRARY_PATH=${LIBRARY_PATH}:/usr/lib +ENV PATH=${PATH}:/usr/bin diff --git a/XeonE3/centos-7.5/ffmpeg+gst+dev/Dockerfile.m4 b/XeonE3/centos-7.5/ffmpeg+gst+dev/Dockerfile.m4 index 3c5e07103..29aeb8ba1 100644 --- a/XeonE3/centos-7.5/ffmpeg+gst+dev/Dockerfile.m4 +++ b/XeonE3/centos-7.5/ffmpeg+gst+dev/Dockerfile.m4 @@ -20,22 +20,25 @@ include(svt-vp9.m4) include(gmmlib.m4) #include(libdrm.m4) include(libva.m4) +include(libva-utils.m4) include(media-driver.m4) include(media-sdk.m4) +include(opencl.m4) include(dldt-ie.m4) -include(automake.m4) include(gst.m4) +include(gst-orc.m4) include(gst-plugin-base.m4) include(gst-plugin-good.m4) include(gst-plugin-bad.m4) include(gst-plugin-ugly.m4) include(gst-plugin-libav.m4) -include(automake.m4) include(gst-plugin-vaapi.m4) +include(opencv.m4) +include(gstreamer-videoanalytics.m4) include(ffmpeg.m4) include(cleanup.m4)dnl -FROM centos:7.5.1804 +FROM centos:7.5.1804 LABEL Description="This is the image for FFMPEG and GSTREAMER application development on CentOS 7.5" LABEL Vendor="Intel Corporation" WORKDIR /home diff --git a/XeonE3/centos-7.5/ffmpeg/Dockerfile b/XeonE3/centos-7.5/ffmpeg/Dockerfile index 0eec922b0..01399d6e8 100644 --- a/XeonE3/centos-7.5/ffmpeg/Dockerfile +++ b/XeonE3/centos-7.5/ffmpeg/Dockerfile @@ -14,6 +14,15 @@ RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz make -j8 && \ make install +# Install automake, use version 1.14 on CentOS +ARG AUTOMAKE_VER=1.14 +ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz +RUN wget -O - ${AUTOMAKE_REPO} | tar xJ && \ + cd automake-${AUTOMAKE_VER} && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --disable-doc && \ + make -j8 && \ + make install + # Build NASM ARG NASM_VER=2.13.03 ARG NASM_REPO=https://www.nasm.us/pub/nasm/releasebuilds/${NASM_VER}/nasm-${NASM_VER}.tar.bz2 @@ -200,7 +209,7 @@ RUN wget -O - ${GMMLIB_REPO} | tar xz && mv gmmlib-${GMMLIB_VER} gmmlib; #include(libdrm.m4) # Build libva -ARG LIBVA_VER=2.3.0 +ARG LIBVA_VER=2.4.0 ARG LIBVA_REPO=https://github.com/intel/libva/archive/${LIBVA_VER}.tar.gz RUN yum install -y -q libX11-devel mesa-libGL-devel which libdrm-devel diff --git a/XeonE3/centos-7.5/gst/Dockerfile b/XeonE3/centos-7.5/gst/Dockerfile index 03093fb34..12fc48e04 100644 --- a/XeonE3/centos-7.5/gst/Dockerfile +++ b/XeonE3/centos-7.5/gst/Dockerfile @@ -14,6 +14,15 @@ RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz make -j8 && \ make install +# Install automake, use version 1.14 on CentOS +ARG AUTOMAKE_VER=1.14 +ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz +RUN wget -O - ${AUTOMAKE_REPO} | tar xJ && \ + cd automake-${AUTOMAKE_VER} && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --disable-doc && \ + make -j8 && \ + make install + # Build NASM ARG NASM_VER=2.13.03 ARG NASM_REPO=https://www.nasm.us/pub/nasm/releasebuilds/${NASM_VER}/nasm-${NASM_VER}.tar.bz2 @@ -199,7 +208,7 @@ RUN wget -O - ${GMMLIB_REPO} | tar xz && mv gmmlib-${GMMLIB_VER} gmmlib; #include(libdrm.m4) # Build libva -ARG LIBVA_VER=2.3.0 +ARG LIBVA_VER=2.4.0 ARG LIBVA_REPO=https://github.com/intel/libva/archive/${LIBVA_VER}.tar.gz RUN yum install -y -q libX11-devel mesa-libGL-devel which libdrm-devel @@ -228,38 +237,41 @@ RUN wget -O - ${MEDIA_DRIVER_REPO} | tar xz && mv media-driver-${MEDIA_DRIVER_VE -# Install automake -ARG AUTOMAKE_VER=1.14 -ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz - -RUN wget -O - ${AUTOMAKE_REPO} | tar xJ && \ - cd automake-${AUTOMAKE_VER} && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --disable-doc && \ - make -j8 && \ - make install - - # Build the gstremaer core ARG GST_VER=1.14.4 ARG GST_REPO=https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${GST_VER}.tar.xz -RUN yum install -y -q glib2-devel-2.56.1 gettext-devel gtk-doc +RUN yum install -y -q glib2-devel-2.56.1 gettext-devel gobject-introspection python-gobject-base RUN wget -O - ${GST_REPO} | tar xJ && \ cd gstreamer-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-gst-debug --disable-debug --disable-benchmarks --disable-check && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples --disable-gst-debug \ + --disable-debug \ + --disable-benchmarks \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ - make install + make install; # Build the gstremaer plugin base ARG GST_PLUGIN_BASE_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-${GST_VER}.tar.xz +RUN yum install -y -q libXv-devel libvisual-devel libtheora-devel glib2-devel alsa-lib-devel cdparanoia-devel mesa-libGL-devel pango-devel + RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ && \ cd gst-plugins-base-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples --disable-debug \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install @@ -267,33 +279,53 @@ RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ && \ # Build the gstremaer plugin good set ARG GST_PLUGIN_GOOD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-${GST_VER}.tar.xz +RUN yum install -y -q libsoup-devel libjpeg-devel + RUN wget -O - ${GST_PLUGIN_GOOD_REPO} | tar xJ && \ cd gst-plugins-good-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples --disable-debug \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install + # Build the gstremaer plugin bad set ARG GST_PLUGIN_BAD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-${GST_VER}.tar.xz +RUN yum install -y -q openssl-devel + RUN wget -O - ${GST_PLUGIN_BAD_REPO} | tar xJ && \ cd gst-plugins-bad-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples --disable-debug \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin ugly set ARG GST_PLUGIN_UGLY_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ && \ - cd gst-plugins-ugly-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug && \ - make -j8 && \ +RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ; \ + cd gst-plugins-ugly-${GST_VER}; \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples --disable-debug \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install @@ -304,33 +336,38 @@ RUN yum install -y -q zlib-devel openssl-devel RUN wget -O - ${GST_PLUGIN_LIBAV_REPO} | tar xJ && \ cd gst-libav-${GST_VER} && \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --enable-gpl && \ - make -j8 && \ - make install DESTDIR="/home/build" - - - -# Install automake -ARG AUTOMAKE_VER=1.14 -ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz - -RUN wget -O - ${AUTOMAKE_REPO} | tar xJ && \ - cd automake-${AUTOMAKE_VER} && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --disable-doc && \ - make -j8 && \ + ./autogen.sh \ + --prefix="/usr" \ + --libdir=/usr/lib64 \ + --enable-shared \ + --enable-gpl \ + --disable-gtk-doc && \ + make -j $(nproc) && \ + make install DESTDIR=/home/build && \ make install # Build gstremaer plugin vaapi -ARG GST_PLUGIN_VAAPI_REPO=https://gstreamer.freedesktop.org/src/gstreamer-vaapi//gstreamer-vaapi-${GST_VER}.tar.xz +ARG GST_PLUGIN_VAAPI_REPO=https://gstreamer.freedesktop.org/src/gstreamer-vaapi/gstreamer-vaapi-${GST_VER}.tar.xz + +# https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/merge_requests/45 +ARG GST_PLUGIN_VAAPI_REPO_DISPLAY_LOCK_PATCH_HASH=b219f6095f3014041896714dd88e7d90ee3d72dd +ARG GST_PLUGIN_VAAPI_REPO_GIT=https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi.git RUN yum install -y -q libXrandr-devel +#RUN git clone https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi.git -b 1.14 --depth 10 && \ +# cd gstreamer-vaapi && git reset --hard ${GST_PLUGIN_VAAPI_REPO_DISPLAY_LOCK_PATCH_HASH} && \ RUN wget -O - ${GST_PLUGIN_VAAPI_REPO} | tar xJ && \ cd gstreamer-vaapi-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples \ + --disable-gtk-doc --disable-debug && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install @@ -349,7 +386,7 @@ WORKDIR /home # Prerequisites RUN yum install -y epel-release; \ - yum install -y -q numactl openssl glib2-2.56.1 libxcb libXrandr libdrm libpng12 libXv libpciaccess libX11 mesa-dri-drivers mesa-libGL ; \ + yum install -y -q numactl openssl glib2-2.56.1 pangolibxcb mesa-libGL libXrandr libpng12 libXv libvisual mesa-libGL pango glib2 libpciaccess libX11 mesa-dri-drivers mesa-libGL libsoup libjpeg-turbo ; \ yum remove -y -q epel-release; \ rm -rf /var/cache/yum/*; diff --git a/XeonE3/centos-7.5/gst/Dockerfile.m4 b/XeonE3/centos-7.5/gst/Dockerfile.m4 index 961a0fc0b..425fc6871 100644 --- a/XeonE3/centos-7.5/gst/Dockerfile.m4 +++ b/XeonE3/centos-7.5/gst/Dockerfile.m4 @@ -20,14 +20,12 @@ include(gmmlib.m4) #include(libdrm.m4) include(libva.m4) include(media-driver.m4) -include(automake.m4) include(gst.m4) include(gst-plugin-base.m4) include(gst-plugin-good.m4) include(gst-plugin-bad.m4) include(gst-plugin-ugly.m4) include(gst-plugin-libav.m4) -include(automake.m4) include(gst-plugin-vaapi.m4) include(cleanup.m4)dnl diff --git a/XeonE3/centos-7.5/nginx+rtmp/Dockerfile b/XeonE3/centos-7.5/nginx+rtmp/Dockerfile index fd33cdb0d..a94603c60 100644 --- a/XeonE3/centos-7.5/nginx+rtmp/Dockerfile +++ b/XeonE3/centos-7.5/nginx+rtmp/Dockerfile @@ -14,6 +14,15 @@ RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz make -j8 && \ make install +# Install automake, use version 1.14 on CentOS +ARG AUTOMAKE_VER=1.14 +ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz +RUN wget -O - ${AUTOMAKE_REPO} | tar xJ && \ + cd automake-${AUTOMAKE_VER} && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --disable-doc && \ + make -j8 && \ + make install + # Build nginx-rtmp ARG NGINX_RTMP_VER=v1.2.1 diff --git a/XeonE3/centos-7.6/dldt+gst/CMakeLists.txt b/XeonE3/centos-7.6/dldt+gst/CMakeLists.txt new file mode 100644 index 000000000..4297737df --- /dev/null +++ b/XeonE3/centos-7.6/dldt+gst/CMakeLists.txt @@ -0,0 +1,3 @@ +set(image "xeone3_dldt_gst_centos76") +include("${CMAKE_SOURCE_DIR}/script/image.cmake") +include("${CMAKE_SOURCE_DIR}/script/gst-tests.cmake") diff --git a/XeonE3/centos-7.6/dldt+gst/Dockerfile b/XeonE3/centos-7.6/dldt+gst/Dockerfile new file mode 100644 index 000000000..fbdeef493 --- /dev/null +++ b/XeonE3/centos-7.6/dldt+gst/Dockerfile @@ -0,0 +1,587 @@ + +FROM centos:7.6.1810 AS build +WORKDIR /home + +# COMMON BUILD TOOLS +RUN yum install -y -q bzip2 make autoconf libtool git wget ca-certificates pkg-config gcc gcc-c++ bison flex patch epel-release; + +# Install cmake +ARG CMAKE_VER=3.13.1 +ARG CMAKE_REPO=https://cmake.org/files +RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz && \ + cd cmake-${CMAKE_VER} && \ + ./bootstrap --prefix="/usr" && \ + make -j8 && \ + make install + +# Install automake, use version 1.14 on CentOS +ARG AUTOMAKE_VER=1.14 +ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz +RUN wget -O - ${AUTOMAKE_REPO} | tar xJ && \ + cd automake-${AUTOMAKE_VER} && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --disable-doc && \ + make -j8 && \ + make install + +# Build NASM +ARG NASM_VER=2.13.03 +ARG NASM_REPO=https://www.nasm.us/pub/nasm/releasebuilds/${NASM_VER}/nasm-${NASM_VER}.tar.bz2 +RUN wget ${NASM_REPO} && \ + tar -xaf nasm* && \ + cd nasm-${NASM_VER} && \ + ./autogen.sh && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 && \ + make -j8 && \ + make install + +# Build YASM +ARG YASM_VER=1.3.0 +ARG YASM_REPO=https://www.tortall.net/projects/yasm/releases/yasm-${YASM_VER}.tar.gz +RUN wget -O - ${YASM_REPO} | tar xz && \ + cd yasm-${YASM_VER} && \ + sed -i "s/) ytasm.*/)/" Makefile.in && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 && \ + make -j8 && \ + make install + +# Build ogg +ARG OGG_VER=1.3.3 +ARG OGG_REPO=https://downloads.xiph.org/releases/ogg/libogg-${OGG_VER}.tar.xz + +RUN wget -O - ${OGG_REPO} | tar xJ && \ + cd libogg-${OGG_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ + make install + +# Build vorbis +ARG VORBIS_VER=1.3.6 +ARG VORBIS_REPO=https://downloads.xiph.org/releases/vorbis/libvorbis-${VORBIS_VER}.tar.xz + +RUN wget -O - ${VORBIS_REPO} | tar xJ && \ + cd libvorbis-${VORBIS_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ + make install + +# Build mp3lame +ARG MP3LAME_VER=3.100 +ARG MP3LAME_REPO=https://sourceforge.net/projects/lame/files/lame/${MP3LAME_VER}/lame-${MP3LAME_VER}.tar.gz + +RUN wget -O - ${MP3LAME_REPO} | tar xz && \ + cd lame-${MP3LAME_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --enable-nasm && \ + make -j8 && \ + make install DESTDIR=/home/build && \ + make install + +# Build fdk-aac +ARG FDK_AAC_VER=v0.1.6 +ARG FDK_AAC_REPO=https://github.com/mstorsjo/fdk-aac/archive/${FDK_AAC_VER}.tar.gz + +RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac && \ + cd fdk-aac && \ + autoreconf -fiv && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ + make install + + +# Build opus +ARG OPUS_VER=1.2.1 +ARG OPUS_REPO=https://archive.mozilla.org/pub/opus/opus-${OPUS_VER}.tar.gz + +RUN wget -O - ${OPUS_REPO} | tar xz && \ + cd opus-${OPUS_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ + make install + +# Build vpx +ARG VPX_VER=tags/v1.7.0 +ARG VPX_REPO=https://chromium.googlesource.com/webm/libvpx.git + +RUN git clone ${VPX_REPO} && \ + cd libvpx && \ + git checkout ${VPX_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm && \ + make -j8 && \ + make install DESTDIR=/home/build && \ + make install + + +# Build AOM +ARG AOM_VER=b6f1767eedbaddeb1ff5aa409a710ef61078640e +ARG AOM_REPO=https://aomedia.googlesource.com/aom + +RUN git clone ${AOM_REPO} && \ + mkdir aom/aom_build && \ + cd aom/aom_build && \ + git checkout ${AOM_VER} && \ + cmake -DBUILD_SHARED_LIBS=ON -DENABLE_NASM=ON -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF -DCMAKE_INSTALL_PREFIX="/usr" -DLIB_INSTALL_DIR=/usr/lib64 .. && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ + make install + +# Build x264 +ARG X264_VER=stable +ARG X264_REPO=https://github.com/mirror/x264 + +RUN git clone ${X264_REPO} && \ + cd x264 && \ + git checkout ${X264_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ + make install + + +# Build x265 +ARG X265_VER=2.9 +ARG X265_REPO=https://github.com/videolan/x265/archive/${X265_VER}.tar.gz + +RUN yum install -y -q numactl-devel libpciaccess-devel + +RUN wget -O - ${X265_REPO} | tar xz && mv x265-${X265_VER} x265 && \ + cd x265/build/linux && \ + cmake -DBUILD_SHARED_LIBS=ON -DENABLE_TESTS=OFF -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_DIR=/usr/lib64 ../../source && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ + make install + +# Fetch SVT-HEVC +ARG SVT_HEVC_VER=252ff3d18bc1997a5af989ad4e67e025c93dbf68 +ARG SVT_HEVC_REPO=https://github.com/intel/SVT-HEVC + +RUN yum install -y -q patch centos-release-scl && \ + yum install -y -q devtoolset-7 + +RUN git clone ${SVT_HEVC_REPO} && \ + cd SVT-HEVC/Build/linux && \ + git checkout ${SVT_HEVC_VER} && \ + mkdir -p ../../Bin/Release && \ + ( source /opt/rh/devtoolset-7/enable && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ + make install ) + + +# Fetch SVT-AV1 +ARG SVT_AV1_VER=39aad81274a04053e2678ec7ec39cf6584bced66 +ARG SVT_AV1_REPO=https://github.com/OpenVisualCloud/SVT-AV1 + +RUN git clone ${SVT_AV1_REPO} && \ + cd SVT-AV1/Build/linux && \ + git checkout ${SVT_AV1_VER} && \ + mkdir -p ../../Bin/Release && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ + make install + + +# Fetch SVT-VP9 +ARG SVT_VP9_VER=e92a57c +ARG SVT_VP9_REPO=https://github.com/OpenVisualCloud/SVT-VP9 + +RUN git clone ${SVT_VP9_REPO} && \ + cd SVT-VP9/Build/linux && \ + git checkout ${SVT_VP9_VER} && \ + mkdir -p ../../Bin/Release && \ + ( source /opt/rh/devtoolset-7/enable && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib64 -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ + make install ) + +#include(libdrm.m4) +# Build libva +ARG LIBVA_VER=2.4.0 +ARG LIBVA_REPO=https://github.com/intel/libva/archive/${LIBVA_VER}.tar.gz + +RUN yum install -y -q libX11-devel mesa-libGL-devel which libdrm-devel + +RUN wget -O - ${LIBVA_REPO} | tar xz && \ + cd libva-${LIBVA_VER} && \ + ./autogen.sh --prefix=/usr --libdir=/usr/lib64 && \ + make -j8 && \ + make install DESTDIR=/home/build && \ + make install; + + +# Build libva-utils +ARG LIBVA_UTILS_VER=2.4.0 +ARG LIBVA_UTILS_REPO=https://github.com/intel/libva-utils/archive/${LIBVA_UTILS_VER}.tar.gz + +RUN wget -O - ${LIBVA_UTILS_REPO} | tar xz; \ + cd libva-utils-${LIBVA_UTILS_VER}; \ + ./autogen.sh --prefix=/usr --libdir=/usr/lib64; \ + make -j8; \ + make install DESTDIR=/home/build; \ + make install; + + +# Fetch gmmlib +ARG GMMLIB_VER=intel-gmmlib-18.3.0 +ARG GMMLIB_REPO=https://github.com/intel/gmmlib/archive/${GMMLIB_VER}.tar.gz + +RUN wget -O - ${GMMLIB_REPO} | tar xz && mv gmmlib-${GMMLIB_VER} gmmlib; + + +# Build media driver +ARG MEDIA_DRIVER_VER=intel-media-kbl-19.1.0 +ARG MEDIA_DRIVER_REPO=https://github.com/VCDP/media-driver/archive/${MEDIA_DRIVER_VER}.tar.gz + +RUN yum install -y -q libX11-devel mesa-libGL-devel libpciaccess-devel libXext-devel + +RUN wget -O - ${MEDIA_DRIVER_REPO} | tar xz && mv media-driver-${MEDIA_DRIVER_VER} media-driver && \ + mkdir -p media-driver/build && \ + cd media-driver/build && \ + cmake -DBUILD_TYPE=release -DBUILD_ALONG_WITH_CMRTLIB=1 -DMEDIA_VERSION="2.0.0" -DBS_DIR_GMMLIB=/home/gmmlib/Source/GmmLib -DBS_DIR_COMMON=/home/gmmlib/Source/Common -DBS_DIR_INC=/home/gmmlib/Source/inc -DBS_DIR_MEDIA=/home/media-driver -Wno-dev -DCMAKE_INSTALL_PREFIX=/usr .. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ + make install + + + +# Build Intel(R) Media SDK +ARG MSDK_VER=MSS-KBL-2019-R1 +ARG MSDK_REPO=https://github.com/Intel-Media-SDK/MediaSDK/archive/${MSDK_VER}.tar.gz + +RUN wget -O - ${MSDK_REPO} | tar xz && mv MediaSDK-${MSDK_VER} MediaSDK && \ + mkdir -p MediaSDK/build && \ + cd MediaSDK/build && \ + cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_INCLUDEDIR=include/mfx -DBUILD_SAMPLES=OFF -DENABLE_OPENCL=OFF -Wno-dev .. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ + rm -rf /home/build/usr/samples && \ + rm -rf /home/build/usr/plugins && \ + make install; + +#install OpenCL + + +RUN yum install -y -q dnf dnf-plugins-core + +RUN yum install -y yum-plugin-copr +RUN yum copr enable -y arturh/intel-opencl +RUN yum install -y -q intel-opencl +RUN yum install -y epel-release +RUN yum install -y ocl-icd libgomp + + +#clinfo needs to be installed after build directory is copied over + +# Build DLDT-Inference Engine +ARG DLDT_VER=2018_R5 +ARG DLDT_REPO=https://github.com/opencv/dldt.git +ARG DLDT_C_API_REPO=https://raw.githubusercontent.com/VCDP/FFmpeg-patch/master/thirdparty/0001-Add-inference-engine-C-API.patch + +RUN yum install -y -q boost-devel glibc-static glibc-devel libstdc++-static libstdc++-devel libstdc++ libgcc libusbx-devel openblas-devel; + +RUN git clone -b ${DLDT_VER} ${DLDT_REPO} && \ + cd dldt && \ + git submodule init && \ + git submodule update --recursive && \ + cd inference-engine && \ + wget -O - ${DLDT_C_API_REPO} | patch -p2 && \ + mkdir build && \ + cd build && \ + cmake -DCMAKE_INSTALL_PREFIX=/opt/intel/dldt -DLIB_INSTALL_PATH=/opt/intel/dldt -DENABLE_MKL_DNN=ON -DENABLE_CLDNN=ON -DENABLE_SAMPLE_CORE=OFF .. && \ + make -j $(nproc) && \ + rm -rf ../bin/intel64/Release/lib/libgtest* && \ + rm -rf ../bin/intel64/Release/lib/libgmock* && \ + rm -rf ../bin/intel64/Release/lib/libmock* && \ + rm -rf ../bin/intel64/Release/lib/libtest* + +ARG libdir=/opt/intel/dldt/inference-engine/lib/centos_7.4/intel64 + +RUN mkdir -p /opt/intel/dldt/inference-engine/include && \ + cp -r dldt/inference-engine/include/* /opt/intel/dldt/inference-engine/include && \ + mkdir -p ${libdir} && \ + cp -r dldt/inference-engine/bin/intel64/Release/lib/* ${libdir} && \ + mkdir -p /opt/intel/dldt/inference-engine/src && \ + cp -r dldt/inference-engine/src/* /opt/intel/dldt/inference-engine/src/ && \ + mkdir -p /opt/intel/dldt/inference-engine/share && \ + cp -r dldt/inference-engine/build/share/* /opt/intel/dldt/inference-engine/share/ && \ + mkdir -p /opt/intel/dldt/inference-engine/external/omp/lib && \ + cp -r dldt/inference-engine/temp/omp/lib/* /opt/intel/dldt/inference-engine/external/omp/lib/ + +RUN mkdir -p build/opt/intel/dldt/inference-engine/include && \ + cp -r dldt/inference-engine/include/* build/opt/intel/dldt/inference-engine/include && \ + mkdir -p build${libdir} && \ + cp -r dldt/inference-engine/bin/intel64/Release/lib/* build${libdir} && \ + mkdir -p build/opt/intel/dldt/inference-engine/src && \ + cp -r dldt/inference-engine/src/* build/opt/intel/dldt/inference-engine/src/ && \ + mkdir -p build/opt/intel/dldt/inference-engine/share && \ + cp -r dldt/inference-engine/build/share/* build/opt/intel/dldt/inference-engine/share/ && \ + mkdir -p build/opt/intel/dldt/inference-engine/external/omp/lib && \ + cp -r dldt/inference-engine/temp/omp/lib/* build/opt/intel/dldt/inference-engine/external/omp/lib/ + +RUN for p in /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inference-engine; do \ + mkdir -p "${libdir}/pkgconfig" && \ + pc="${libdir}/pkgconfig/dldt.pc" && \ + echo "prefix=/opt" > "$pc" && \ + echo "libdir=${libdir}" >> "$pc" && \ + echo "includedir=/opt/intel/dldt/inference-engine/include" >> "$pc" && \ + echo "" >> "$pc" && \ + echo "Name: DLDT" >> "$pc" && \ + echo "Description: Intel Deep Learning Deployment Toolkit" >> "$pc" && \ + echo "Version: 5.0" >> "$pc" && \ + echo "" >> "$pc" && \ + echo "Libs: -L\${libdir} -linference_engine -linference_engine_c_wrapper" >> "$pc" && \ + echo "Cflags: -I\${includedir}" >> "$pc"; \ + done; + +ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share +ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} + +#install Model Optimizer in the DLDT for Dev + + + + +# Build the gstremaer core +ARG GST_VER=1.14.4 +ARG GST_REPO=https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${GST_VER}.tar.xz + +RUN yum install -y -q glib2-devel-2.56.1 gettext-devel gobject-introspection python-gobject-base +RUN wget -O - ${GST_REPO} | tar xJ && \ + cd gstreamer-${GST_VER} && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples --disable-gst-debug \ + --disable-debug \ + --disable-benchmarks \ + --disable-gtk-doc && \ + make -j $(nproc) && \ + make install DESTDIR=/home/build && \ + make install; + +# Build the gstremaer plugin bad set +ARG GST_ORC_VER=0.4.28 +ARG GST_ORC_REPO=https://gstreamer.freedesktop.org/src/orc/orc-${GST_ORC_VER}.tar.xz + +RUN wget -O - ${GST_ORC_REPO} | tar xJ && \ + cd orc-${GST_ORC_VER} && \ + ./autogen.sh --prefix=/usr --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples --disable-debug \ + --disable-gtk-doc && \ + make -j $(nproc) && \ + make install DESTDIR=/home/build && \ + make install + +# Build the gstremaer plugin base +ARG GST_PLUGIN_BASE_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-${GST_VER}.tar.xz + +RUN yum install -y -q libXv-devel libvisual-devel libtheora-devel glib2-devel alsa-lib-devel cdparanoia-devel mesa-libGL-devel pango-devel + +RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ && \ + cd gst-plugins-base-${GST_VER} && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples --disable-debug \ + --disable-gtk-doc && \ + make -j $(nproc) && \ + make install DESTDIR=/home/build && \ + make install + + +# Build the gstremaer plugin good set +ARG GST_PLUGIN_GOOD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-${GST_VER}.tar.xz + +RUN yum install -y -q libsoup-devel libjpeg-devel + +RUN wget -O - ${GST_PLUGIN_GOOD_REPO} | tar xJ && \ + cd gst-plugins-good-${GST_VER} && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples --disable-debug \ + --disable-gtk-doc && \ + make -j $(nproc) && \ + make install DESTDIR=/home/build && \ + make install + + +# Build the gstremaer plugin bad set +ARG GST_PLUGIN_BAD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-${GST_VER}.tar.xz + +RUN yum install -y -q openssl-devel + +RUN wget -O - ${GST_PLUGIN_BAD_REPO} | tar xJ && \ + cd gst-plugins-bad-${GST_VER} && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples --disable-debug \ + --disable-gtk-doc && \ + make -j $(nproc) && \ + make install DESTDIR=/home/build && \ + make install + +# Build the gstremaer plugin ugly set +ARG GST_PLUGIN_UGLY_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-${GST_VER}.tar.xz + +RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ; \ + cd gst-plugins-ugly-${GST_VER}; \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples --disable-debug \ + --disable-gtk-doc && \ + make -j $(nproc) && \ + make install DESTDIR=/home/build && \ + make install + +# Build gst-libav +ARG GST_PLUGIN_LIBAV_REPO=https://gstreamer.freedesktop.org/src/gst-libav/gst-libav-${GST_VER}.tar.xz + +RUN yum install -y -q zlib-devel openssl-devel + +RUN wget -O - ${GST_PLUGIN_LIBAV_REPO} | tar xJ && \ + cd gst-libav-${GST_VER} && \ + ./autogen.sh \ + --prefix="/usr" \ + --libdir=/usr/lib64 \ + --enable-shared \ + --enable-gpl \ + --disable-gtk-doc && \ + make -j $(nproc) && \ + make install DESTDIR=/home/build && \ + make install + + +# Build gstremaer plugin vaapi +ARG GST_PLUGIN_VAAPI_REPO=https://gstreamer.freedesktop.org/src/gstreamer-vaapi/gstreamer-vaapi-${GST_VER}.tar.xz + +# https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/merge_requests/45 +ARG GST_PLUGIN_VAAPI_REPO_DISPLAY_LOCK_PATCH_HASH=b219f6095f3014041896714dd88e7d90ee3d72dd +ARG GST_PLUGIN_VAAPI_REPO_GIT=https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi.git + +RUN yum install -y -q libXrandr-devel + +#RUN git clone https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi.git -b 1.14 --depth 10 && \ +# cd gstreamer-vaapi && git reset --hard ${GST_PLUGIN_VAAPI_REPO_DISPLAY_LOCK_PATCH_HASH} && \ +RUN wget -O - ${GST_PLUGIN_VAAPI_REPO} | tar xJ && \ + cd gstreamer-vaapi-${GST_VER} && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples \ + --disable-gtk-doc --disable-debug && \ + make -j $(nproc) && \ + make install DESTDIR=/home/build && \ + make install + + +ARG OPENCV_VER=4.0.0 +ARG OPENCV_REPO=https://github.com/opencv/opencv/archive/${OPENCV_VER}.tar.gz + + +RUN wget ${OPENCV_REPO} && \ + tar -zxvf ${OPENCV_VER}.tar.gz && \ + cd opencv-${OPENCV_VER} && \ + mkdir build && \ + cd build && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -D BUILD_EXAMPLES=OFF -D BUILD_PERF_TESTS=OFF -D BUILD_DOCS=OFF -D BUILD_TESTS=OFF .. && \ + make -j $(nproc) && \ + make install DESTDIR=/home/build && \ + make install + + +RUN yum install -y -q glib2-devel gtk-dock openblas + + + +ARG PAHO_VER=1.3.0 +ARG PAHO_REPO=https://github.com/eclipse/paho.mqtt.c/archive/v${PAHO_VER}.tar.gz +RUN wget -O - https://github.com/eclipse/paho.mqtt.c/archive/v${PAHO_VER}.tar.gz | tar -xz; \ + cd paho.mqtt.c-${PAHO_VER}; \ + make; \ + make install; + +#Install va gstreamer plugins +#Has a dependency on OpenCV, GStreamer +ARG VA_GSTREAMER_PLUGINS_VER=0.3 +ARG VA_GSTREAMER_PLUGINS_REPO=https://github.com/opencv/gst-video-analytics/archive/v${VA_GSTREAMER_PLUGINS_VER}.tar.gz +RUN wget -O - ${VA_GSTREAMER_PLUGINS_REPO} | tar xz && \ + cd gst-video-analytics-${VA_GSTREAMER_PLUGINS_VER} && \ + mkdir build && \ + cd build && \ + export CFLAGS="-std=gnu99 -Wno-missing-field-initializers" && \ + export CXXFLAGS="-std=c++11 -Wno-missing-field-initializers" && \ + cmake \ + -DVERSION_PATCH=$(echo "$(git rev-list --count --first-parent HEAD)") \ + -DGIT_INFO=$(echo "git_$(git rev-parse --short HEAD)") \ + -DCMAKE_BUILD_TYPE=Release \ + -DDISABLE_SAMPLES=ON \ + -DDISABLE_VAAPI=ON \ + -DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX=/usr .. && \ + make -j4 +RUN mkdir -p build/usr/lib64/gstreamer-1.0 && \ + cp -r gst-video-analytics-${VA_GSTREAMER_PLUGINS_VER}/build/intel64/Release/lib/* build/usr/lib64/gstreamer-1.0 +RUN mkdir -p /usr/lib64/gstreamer-1.0 && \ + cp -r gst-video-analytics-${VA_GSTREAMER_PLUGINS_VER}/build/intel64/Release/lib/* /usr/lib64/gstreamer-1.0 + + + +# Clean up after build +RUN rm -rf /home/build/usr/include && \ + rm -rf /home/build/usr/share/doc && \ + rm -rf /home/build/usr/share/gtk-doc && \ + rm -rf /home/build/usr/share/man && \ + find /home/build -name "*.a" -exec rm -f {} \; + +FROM centos:7.6.1810 +LABEL Description="This is the image for DLDT & GStreamer & Video Analytic GST Plugin development on CentOS 7.5" +LABEL Vendor="Intel Corporation" +WORKDIR /home + +# Prerequisites +RUN yum install -y epel-release; \ + yum install -y -q numactl openssl glib2-2.56.1 pangolibxcb mesa-libGL libXrandr libpng12 libXv libvisual mesa-libGL pango glib2 libpciaccess libX11 openblas-serial \ +mesa-dri-drivers mesa-libGL libsoup libjpeg-turbo python36 ; \ + yum remove -y -q epel-release; \ + rm -rf /var/cache/yum/*; + +# Install +COPY --from=build /home/build / +ENV LIBVA_DRIVERS_PATH=/usr/lib64/dri +ENV LIBVA_DRIVER_NAME=iHD +RUN yum install -y -q dnf dnf-plugins-core yum-plugin-copr +RUN yum copr enable -y arturh/intel-opencl +RUN yum install -y -q intel-opencl +RUN yum install -y epel-release +RUN yum install -y ocl-icd libgomp +RUN ln -s /usr/lib64/libOpenCL.so.1 /usr/lib/libOpenCL.so +ENV GST_VAAPI_ALL_DRIVERS=1 +ENV DISPLAY=:0.0 +ARG libdir=/opt/intel/dldt/inference-engine/lib/centos_7.4/intel64 +ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share +ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib64/gstreamer-1.0 +ENV PKG_CONFIG_PATH=/usr/lib64/pkgconfig +ENV LIBRARY_PATH=${LIBRARY_PATH}:/usr/lib +ENV PATH=${PATH}:/usr/bin + diff --git a/XeonE3/centos-7.6/dldt+gst/Dockerfile.m4 b/XeonE3/centos-7.6/dldt+gst/Dockerfile.m4 new file mode 100644 index 000000000..4d7b1c861 --- /dev/null +++ b/XeonE3/centos-7.6/dldt+gst/Dockerfile.m4 @@ -0,0 +1,48 @@ + +FROM centos:7.6.1810 AS build +WORKDIR /home +define(`BUILD_LINKAGE',shared)dnl + +include(build-tools.m4) +include(libogg.m4) +include(libvorbis.m4) +include(libmp3lame.m4) +include(libfdk-aac.m4) +include(libopus.m4) +include(libvpx.m4) +include(libaom.m4) +include(libx264.m4) +include(libx265.m4) +include(svt-hevc.m4) +include(svt-av1.m4) +include(svt-vp9.m4) +#include(libdrm.m4) +include(libva.m4) +include(libva-utils.m4) +include(gmmlib.m4) +include(media-driver.m4) +include(media-sdk.m4) +include(opencl.m4) +include(dldt-ie.m4) +include(gst.m4) +include(gst-orc.m4) +include(gst-plugin-base.m4) +include(gst-plugin-good.m4) +include(gst-plugin-bad.m4) +include(gst-plugin-ugly.m4) +include(gst-plugin-libav.m4) +include(gst-plugin-vaapi.m4) +include(opencv.m4) +include(gstreamer-videoanalytics.m4) +include(cleanup.m4)dnl + +FROM centos:7.6.1810 +LABEL Description="This is the image for DLDT & GStreamer & Video Analytic GST Plugin development on CentOS 7.5" +LABEL Vendor="Intel Corporation" +WORKDIR /home + +# Prerequisites +include(install.pkgs.m4) + +# Install +include(install.m4) diff --git a/XeonE3/centos-7.6/dldt+gst/build.sh b/XeonE3/centos-7.6/dldt+gst/build.sh new file mode 100755 index 000000000..9fde6bc2a --- /dev/null +++ b/XeonE3/centos-7.6/dldt+gst/build.sh @@ -0,0 +1,7 @@ +#!/bin/bash -e + +IMAGE="xeone3-centos76-dldt-gst" +VERSION="1.0" +DIR=$(dirname $(readlink -f "$0")) + +. "${DIR}/../../../script/build.sh" diff --git a/XeonE3/centos-7.6/dldt+gst/shell.sh b/XeonE3/centos-7.6/dldt+gst/shell.sh new file mode 100755 index 000000000..d805afd60 --- /dev/null +++ b/XeonE3/centos-7.6/dldt+gst/shell.sh @@ -0,0 +1,6 @@ +#!/bin/bash -e + +IMAGE="xeone3-centos76-dldt-gst" +DIR=$(dirname $(readlink -f "$0")) + +. "${DIR}/../../../script/shell.sh" diff --git a/XeonE3/centos-7.6/ffmpeg+gst+dev/Dockerfile b/XeonE3/centos-7.6/ffmpeg+gst+dev/Dockerfile index 34ef203d9..d310996f8 100644 --- a/XeonE3/centos-7.6/ffmpeg+gst+dev/Dockerfile +++ b/XeonE3/centos-7.6/ffmpeg+gst+dev/Dockerfile @@ -14,6 +14,15 @@ RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz make -j8 && \ make install +# Install automake, use version 1.14 on CentOS +ARG AUTOMAKE_VER=1.14 +ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz +RUN wget -O - ${AUTOMAKE_REPO} | tar xJ && \ + cd automake-${AUTOMAKE_VER} && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --disable-doc && \ + make -j8 && \ + make install + # Build NASM ARG NASM_VER=2.13.03 ARG NASM_REPO=https://www.nasm.us/pub/nasm/releasebuilds/${NASM_VER}/nasm-${NASM_VER}.tar.bz2 @@ -200,7 +209,7 @@ RUN wget -O - ${GMMLIB_REPO} | tar xz && mv gmmlib-${GMMLIB_VER} gmmlib; #include(libdrm.m4) # Build libva -ARG LIBVA_VER=2.3.0 +ARG LIBVA_VER=2.4.0 ARG LIBVA_REPO=https://github.com/intel/libva/archive/${LIBVA_VER}.tar.gz RUN yum install -y -q libX11-devel mesa-libGL-devel which libdrm-devel @@ -213,6 +222,18 @@ RUN wget -O - ${LIBVA_REPO} | tar xz && \ make install; +# Build libva-utils +ARG LIBVA_UTILS_VER=2.4.0 +ARG LIBVA_UTILS_REPO=https://github.com/intel/libva-utils/archive/${LIBVA_UTILS_VER}.tar.gz + +RUN wget -O - ${LIBVA_UTILS_REPO} | tar xz; \ + cd libva-utils-${LIBVA_UTILS_VER}; \ + ./autogen.sh --prefix=/usr --libdir=/usr/lib64; \ + make -j8; \ + make install DESTDIR=/home/build; \ + make install; + + # Build media driver ARG MEDIA_DRIVER_VER=intel-media-kbl-19.1.0 ARG MEDIA_DRIVER_REPO=https://github.com/VCDP/media-driver/archive/${MEDIA_DRIVER_VER}.tar.gz @@ -241,6 +262,20 @@ RUN wget -O - ${MSDK_REPO} | tar xz && mv MediaSDK-${MSDK_VER} MediaSDK && \ make install DESTDIR=/home/build && \ make install; +#install OpenCL + + +RUN yum install -y -q dnf dnf-plugins-core + +RUN yum install -y yum-plugin-copr +RUN yum copr enable -y arturh/intel-opencl +RUN yum install -y -q intel-opencl +RUN yum install -y epel-release +RUN yum install -y ocl-icd libgomp + + +#clinfo needs to be installed after build directory is copied over + # Build DLDT-Inference Engine ARG DLDT_VER=2018_R5 ARG DLDT_REPO=https://github.com/opencv/dldt.git @@ -256,64 +291,137 @@ RUN git clone -b ${DLDT_VER} ${DLDT_REPO} && \ wget -O - ${DLDT_C_API_REPO} | patch -p2 && \ mkdir build && \ cd build && \ - cmake -DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_PATH=/usr/lib64 -DENABLE_MKL_DNN=ON -DENABLE_CLDNN=ON -DENABLE_SAMPLES_CORE=OFF ..; \ - make -j16 && \ + cmake -DCMAKE_INSTALL_PREFIX=/opt/intel/dldt -DLIB_INSTALL_PATH=/opt/intel/dldt -DENABLE_MKL_DNN=ON -DENABLE_CLDNN=ON -DENABLE_SAMPLE_CORE=OFF .. && \ + make -j $(nproc) && \ rm -rf ../bin/intel64/Release/lib/libgtest* && \ rm -rf ../bin/intel64/Release/lib/libgmock* && \ rm -rf ../bin/intel64/Release/lib/libmock* && \ - rm -rf ../bin/intel64/Release/lib/libtest* && \ - for p in /usr /home/build/usr; do \ - mkdir -p $p/include/dldt; \ - cp -r ../include/* $p/include/dldt; \ - libdir="$p/lib64"; \ - cp -r ../bin/intel64/Release/lib/* "$libdir"; \ - cp -r ../temp/omp/lib/* "$libdir"; \ - mkdir -p "$libdir/pkgconfig"; \ - pc="$libdir/pkgconfig/dldt.pc"; \ - echo "prefix=/usr" > "$pc"; \ - echo "libdir=/usr/lib64" >> "$pc"; \ - echo "includedir=/usr/include/dldt" >> "$pc"; \ - echo "" >> "$pc"; \ - echo "Name: DLDT" >> "$pc"; \ - echo "Description: Intel Deep Learning Deployment Toolkit" >> "$pc"; \ - echo "Version: 5.0" >> "$pc"; \ - echo "" >> "$pc"; \ - echo "Libs: -L\${libdir} -linference_engine -linference_engine_c_wrapper" >> "$pc"; \ + rm -rf ../bin/intel64/Release/lib/libtest* + +ARG libdir=/opt/intel/dldt/inference-engine/lib/centos_7.4/intel64 + +RUN mkdir -p /opt/intel/dldt/inference-engine/include && \ + cp -r dldt/inference-engine/include/* /opt/intel/dldt/inference-engine/include && \ + mkdir -p ${libdir} && \ + cp -r dldt/inference-engine/bin/intel64/Release/lib/* ${libdir} && \ + mkdir -p /opt/intel/dldt/inference-engine/src && \ + cp -r dldt/inference-engine/src/* /opt/intel/dldt/inference-engine/src/ && \ + mkdir -p /opt/intel/dldt/inference-engine/share && \ + cp -r dldt/inference-engine/build/share/* /opt/intel/dldt/inference-engine/share/ && \ + mkdir -p /opt/intel/dldt/inference-engine/external/omp/lib && \ + cp -r dldt/inference-engine/temp/omp/lib/* /opt/intel/dldt/inference-engine/external/omp/lib/ + +RUN mkdir -p build/opt/intel/dldt/inference-engine/include && \ + cp -r dldt/inference-engine/include/* build/opt/intel/dldt/inference-engine/include && \ + mkdir -p build${libdir} && \ + cp -r dldt/inference-engine/bin/intel64/Release/lib/* build${libdir} && \ + mkdir -p build/opt/intel/dldt/inference-engine/src && \ + cp -r dldt/inference-engine/src/* build/opt/intel/dldt/inference-engine/src/ && \ + mkdir -p build/opt/intel/dldt/inference-engine/share && \ + cp -r dldt/inference-engine/build/share/* build/opt/intel/dldt/inference-engine/share/ && \ + mkdir -p build/opt/intel/dldt/inference-engine/external/omp/lib && \ + cp -r dldt/inference-engine/temp/omp/lib/* build/opt/intel/dldt/inference-engine/external/omp/lib/ + +RUN for p in /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inference-engine; do \ + mkdir -p "${libdir}/pkgconfig" && \ + pc="${libdir}/pkgconfig/dldt.pc" && \ + echo "prefix=/opt" > "$pc" && \ + echo "libdir=${libdir}" >> "$pc" && \ + echo "includedir=/opt/intel/dldt/inference-engine/include" >> "$pc" && \ + echo "" >> "$pc" && \ + echo "Name: DLDT" >> "$pc" && \ + echo "Description: Intel Deep Learning Deployment Toolkit" >> "$pc" && \ + echo "Version: 5.0" >> "$pc" && \ + echo "" >> "$pc" && \ + echo "Libs: -L\${libdir} -linference_engine -linference_engine_c_wrapper" >> "$pc" && \ echo "Cflags: -I\${includedir}" >> "$pc"; \ done; -# Install automake -ARG AUTOMAKE_VER=1.14 -ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz +ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share +ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} + +#install Model Optimizer in the DLDT for Dev +ARG PYTHON_TRUSTED_HOST +ARG PYTHON_TRUSTED_INDEX_URL +#install MO dependencies +RUN yum install -y python36 +RUN yum install -y python36-devel +RUN yum install -y python36-setuptools +RUN easy_install-3.6 pip +#RUN pip3 install numpy scipy +RUN git clone https://github.com/google/protobuf.git && \ + cd protobuf && \ + git submodule update --init --recursive && \ + ./autogen.sh && \ + ./configure && \ + make && \ + make install && \ + make install DESTDIR=/home/build +#RUN apt-get update && apt-get install -y sudo +#installing dependency libs to mo_libs directory to avoid issues with updates to Python version +RUN cd dldt/model-optimizer && \ +if [ "x$PYTHON_TRUSTED_HOST" = "x" ] ; \ +then pip3 install --target=/home/build/mo_libs -r requirements.txt && \ +pip3 install -r requirements.txt; \ +else pip3 install --target=/home/build/mo_libs -r requirements.txt -i $PYTHON_TRUSTED_INDEX_URL --trusted-host $PYTHON_TRUSTED_HOST && \ +pip3 install -r requirements.txt -i $PYTHON_TRUSTED_INDEX_URL --trusted-host $PYTHON_TRUSTED_HOST; \ +fi + +#Copy over Model Optimizer to same directory as Inference Engine +RUN cp -r dldt/model-optimizer /opt/intel/dldt/model-optimizer +RUN cp -r dldt/model-optimizer /home/build/opt/intel/dldt/model-optimizer + -RUN wget -O - ${AUTOMAKE_REPO} | tar xJ && \ - cd automake-${AUTOMAKE_VER} && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --disable-doc && \ - make -j8 && \ - make install # Build the gstremaer core ARG GST_VER=1.14.4 ARG GST_REPO=https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${GST_VER}.tar.xz -RUN yum install -y -q glib2-devel-2.56.1 gettext-devel gtk-doc +RUN yum install -y -q glib2-devel-2.56.1 gettext-devel gobject-introspection python-gobject-base RUN wget -O - ${GST_REPO} | tar xJ && \ cd gstreamer-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples \ + --disable-gtk-doc && \ + make -j $(nproc) && \ + make install DESTDIR=/home/build && \ + make install; + +# Build the gstremaer plugin bad set +ARG GST_ORC_VER=0.4.28 +ARG GST_ORC_REPO=https://gstreamer.freedesktop.org/src/orc/orc-${GST_ORC_VER}.tar.xz + +RUN wget -O - ${GST_ORC_REPO} | tar xJ && \ + cd orc-${GST_ORC_VER} && \ + ./autogen.sh --prefix=/usr --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin base ARG GST_PLUGIN_BASE_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-${GST_VER}.tar.xz +RUN yum install -y -q libXv-devel libvisual-devel libtheora-devel glib2-devel alsa-lib-devel cdparanoia-devel mesa-libGL-devel pango-devel + RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ && \ cd gst-plugins-base-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install @@ -321,33 +429,53 @@ RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ && \ # Build the gstremaer plugin good set ARG GST_PLUGIN_GOOD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-${GST_VER}.tar.xz +RUN yum install -y -q libsoup-devel libjpeg-devel + RUN wget -O - ${GST_PLUGIN_GOOD_REPO} | tar xJ && \ cd gst-plugins-good-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install + # Build the gstremaer plugin bad set ARG GST_PLUGIN_BAD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-${GST_VER}.tar.xz +RUN yum install -y -q openssl-devel + RUN wget -O - ${GST_PLUGIN_BAD_REPO} | tar xJ && \ cd gst-plugins-bad-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin ugly set ARG GST_PLUGIN_UGLY_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ && \ - cd gst-plugins-ugly-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples && \ - make -j8 && \ +RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ; \ + cd gst-plugins-ugly-${GST_VER}; \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install @@ -358,37 +486,93 @@ RUN yum install -y -q zlib-devel openssl-devel RUN wget -O - ${GST_PLUGIN_LIBAV_REPO} | tar xJ && \ cd gst-libav-${GST_VER} && \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --enable-gpl && \ - make -j8 && \ - make install DESTDIR="/home/build" - - - -# Install automake -ARG AUTOMAKE_VER=1.14 -ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz - -RUN wget -O - ${AUTOMAKE_REPO} | tar xJ && \ - cd automake-${AUTOMAKE_VER} && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --disable-doc && \ - make -j8 && \ + ./autogen.sh \ + --prefix="/usr" \ + --libdir=/usr/lib64 \ + --enable-shared \ + --enable-gpl \ + --disable-gtk-doc && \ + make -j $(nproc) && \ + make install DESTDIR=/home/build && \ make install # Build gstremaer plugin vaapi -ARG GST_PLUGIN_VAAPI_REPO=https://gstreamer.freedesktop.org/src/gstreamer-vaapi//gstreamer-vaapi-${GST_VER}.tar.xz +ARG GST_PLUGIN_VAAPI_REPO=https://gstreamer.freedesktop.org/src/gstreamer-vaapi/gstreamer-vaapi-${GST_VER}.tar.xz + +# https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/merge_requests/45 +ARG GST_PLUGIN_VAAPI_REPO_DISPLAY_LOCK_PATCH_HASH=b219f6095f3014041896714dd88e7d90ee3d72dd +ARG GST_PLUGIN_VAAPI_REPO_GIT=https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi.git RUN yum install -y -q libXrandr-devel +#RUN git clone https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi.git -b 1.14 --depth 10 && \ +# cd gstreamer-vaapi && git reset --hard ${GST_PLUGIN_VAAPI_REPO_DISPLAY_LOCK_PATCH_HASH} && \ RUN wget -O - ${GST_PLUGIN_VAAPI_REPO} | tar xJ && \ cd gstreamer-vaapi-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install +ARG OPENCV_VER=4.0.0 +ARG OPENCV_REPO=https://github.com/opencv/opencv/archive/${OPENCV_VER}.tar.gz + + +RUN wget ${OPENCV_REPO} && \ + tar -zxvf ${OPENCV_VER}.tar.gz && \ + cd opencv-${OPENCV_VER} && \ + mkdir build && \ + cd build && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -D BUILD_EXAMPLES=OFF -D BUILD_PERF_TESTS=OFF -D BUILD_DOCS=OFF -D BUILD_TESTS=OFF .. && \ + make -j $(nproc) && \ + make install DESTDIR=/home/build && \ + make install + + +RUN yum install -y -q glib2-devel gtk-dock openblas + + + +ARG PAHO_VER=1.3.0 +ARG PAHO_REPO=https://github.com/eclipse/paho.mqtt.c/archive/v${PAHO_VER}.tar.gz +RUN wget -O - https://github.com/eclipse/paho.mqtt.c/archive/v${PAHO_VER}.tar.gz | tar -xz; \ + cd paho.mqtt.c-${PAHO_VER}; \ + make; \ + make install; + +#Install va gstreamer plugins +#Has a dependency on OpenCV, GStreamer +ARG VA_GSTREAMER_PLUGINS_VER=0.3 +ARG VA_GSTREAMER_PLUGINS_REPO=https://github.com/opencv/gst-video-analytics/archive/v${VA_GSTREAMER_PLUGINS_VER}.tar.gz +RUN wget -O - ${VA_GSTREAMER_PLUGINS_REPO} | tar xz && \ + cd gst-video-analytics-${VA_GSTREAMER_PLUGINS_VER} && \ + mkdir build && \ + cd build && \ + export CFLAGS="-std=gnu99 -Wno-missing-field-initializers" && \ + export CXXFLAGS="-std=c++11 -Wno-missing-field-initializers" && \ + cmake \ + -DVERSION_PATCH=$(echo "$(git rev-list --count --first-parent HEAD)") \ + -DGIT_INFO=$(echo "git_$(git rev-parse --short HEAD)") \ + -DCMAKE_BUILD_TYPE=Release \ + -DDISABLE_SAMPLES=ON \ + -DDISABLE_VAAPI=ON \ + -DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX=/usr .. && \ + make -j4 +RUN mkdir -p build/usr/lib64/gstreamer-1.0 && \ + cp -r gst-video-analytics-${VA_GSTREAMER_PLUGINS_VER}/build/intel64/Release/lib/* build/usr/lib64/gstreamer-1.0 +RUN mkdir -p /usr/lib64/gstreamer-1.0 && \ + cp -r gst-video-analytics-${VA_GSTREAMER_PLUGINS_VER}/build/intel64/Release/lib/* /usr/lib64/gstreamer-1.0 + + + # Fetch FFmpeg source ARG FFMPEG_VER=n4.1 ARG FFMPEG_REPO=https://github.com/FFmpeg/FFmpeg/archive/${FFMPEG_VER}.tar.gz @@ -445,7 +629,8 @@ WORKDIR /home # Prerequisites RUN yum install -y epel-release; \ - yum install -y -q libxcb SDL2 libass numactl libvdpau glib2-2.56.1 libxcb libXrandr libdrm libpng12 libXv libpciaccess libX11 mesa-dri-drivers mesa-libGL ; \ + yum install -y -q libxcb SDL2 libass numactl libvdpau glib2-2.56.1 pangolibxcb mesa-libGL libXrandr libpng12 libXv libvisual mesa-libGL pango glib2 libpciaccess libX11 openblas-serial \ +mesa-dri-drivers mesa-libGL libsoup libjpeg-turbo python36 ; \ yum remove -y -q epel-release; \ rm -rf /var/cache/yum/*; @@ -453,6 +638,19 @@ RUN yum install -y epel-release; \ COPY --from=build /home/build / ENV LIBVA_DRIVERS_PATH=/usr/lib64/dri ENV LIBVA_DRIVER_NAME=iHD +RUN yum install -y -q dnf dnf-plugins-core yum-plugin-copr +RUN yum copr enable -y arturh/intel-opencl +RUN yum install -y -q intel-opencl +RUN yum install -y epel-release +RUN yum install -y ocl-icd libgomp +RUN ln -s /usr/lib64/libOpenCL.so.1 /usr/lib/libOpenCL.so ENV GST_VAAPI_ALL_DRIVERS=1 ENV DISPLAY=:0.0 +ARG libdir=/opt/intel/dldt/inference-engine/lib/centos_7.4/intel64 +ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share +ENV PYTHONPATH=${PYTHONPATH}:/mo_libs +ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib64/gstreamer-1.0 +ENV PKG_CONFIG_PATH=/usr/lib64/pkgconfig +ENV LIBRARY_PATH=${LIBRARY_PATH}:/usr/lib +ENV PATH=${PATH}:/usr/bin diff --git a/XeonE3/centos-7.6/ffmpeg+gst+dev/Dockerfile.m4 b/XeonE3/centos-7.6/ffmpeg+gst+dev/Dockerfile.m4 index f6980e999..91715fb1d 100644 --- a/XeonE3/centos-7.6/ffmpeg+gst+dev/Dockerfile.m4 +++ b/XeonE3/centos-7.6/ffmpeg+gst+dev/Dockerfile.m4 @@ -20,18 +20,21 @@ include(svt-vp9.m4) include(gmmlib.m4) #include(libdrm.m4) include(libva.m4) +include(libva-utils.m4) include(media-driver.m4) include(media-sdk.m4) +include(opencl.m4) include(dldt-ie.m4) -include(automake.m4) include(gst.m4) +include(gst-orc.m4) include(gst-plugin-base.m4) include(gst-plugin-good.m4) include(gst-plugin-bad.m4) include(gst-plugin-ugly.m4) include(gst-plugin-libav.m4) -include(automake.m4) include(gst-plugin-vaapi.m4) +include(opencv.m4) +include(gstreamer-videoanalytics.m4) include(ffmpeg.m4) include(cleanup.m4)dnl diff --git a/XeonE3/centos-7.6/ffmpeg/Dockerfile b/XeonE3/centos-7.6/ffmpeg/Dockerfile index 57bc69f72..71cd1dcbb 100644 --- a/XeonE3/centos-7.6/ffmpeg/Dockerfile +++ b/XeonE3/centos-7.6/ffmpeg/Dockerfile @@ -14,6 +14,15 @@ RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz make -j8 && \ make install +# Install automake, use version 1.14 on CentOS +ARG AUTOMAKE_VER=1.14 +ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz +RUN wget -O - ${AUTOMAKE_REPO} | tar xJ && \ + cd automake-${AUTOMAKE_VER} && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --disable-doc && \ + make -j8 && \ + make install + # Build NASM ARG NASM_VER=2.13.03 ARG NASM_REPO=https://www.nasm.us/pub/nasm/releasebuilds/${NASM_VER}/nasm-${NASM_VER}.tar.bz2 @@ -200,7 +209,7 @@ RUN wget -O - ${GMMLIB_REPO} | tar xz && mv gmmlib-${GMMLIB_VER} gmmlib; #include(libdrm.m4) # Build libva -ARG LIBVA_VER=2.3.0 +ARG LIBVA_VER=2.4.0 ARG LIBVA_REPO=https://github.com/intel/libva/archive/${LIBVA_VER}.tar.gz RUN yum install -y -q libX11-devel mesa-libGL-devel which libdrm-devel diff --git a/XeonE3/centos-7.6/gst/Dockerfile b/XeonE3/centos-7.6/gst/Dockerfile index 8656f9c55..02374ea3c 100644 --- a/XeonE3/centos-7.6/gst/Dockerfile +++ b/XeonE3/centos-7.6/gst/Dockerfile @@ -14,6 +14,15 @@ RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz make -j8 && \ make install +# Install automake, use version 1.14 on CentOS +ARG AUTOMAKE_VER=1.14 +ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz +RUN wget -O - ${AUTOMAKE_REPO} | tar xJ && \ + cd automake-${AUTOMAKE_VER} && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --disable-doc && \ + make -j8 && \ + make install + # Build NASM ARG NASM_VER=2.13.03 ARG NASM_REPO=https://www.nasm.us/pub/nasm/releasebuilds/${NASM_VER}/nasm-${NASM_VER}.tar.bz2 @@ -199,7 +208,7 @@ RUN wget -O - ${GMMLIB_REPO} | tar xz && mv gmmlib-${GMMLIB_VER} gmmlib; #include(libdrm.m4) # Build libva -ARG LIBVA_VER=2.3.0 +ARG LIBVA_VER=2.4.0 ARG LIBVA_REPO=https://github.com/intel/libva/archive/${LIBVA_VER}.tar.gz RUN yum install -y -q libX11-devel mesa-libGL-devel which libdrm-devel @@ -228,38 +237,41 @@ RUN wget -O - ${MEDIA_DRIVER_REPO} | tar xz && mv media-driver-${MEDIA_DRIVER_VE -# Install automake -ARG AUTOMAKE_VER=1.14 -ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz - -RUN wget -O - ${AUTOMAKE_REPO} | tar xJ && \ - cd automake-${AUTOMAKE_VER} && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --disable-doc && \ - make -j8 && \ - make install - - # Build the gstremaer core ARG GST_VER=1.14.4 ARG GST_REPO=https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${GST_VER}.tar.xz -RUN yum install -y -q glib2-devel-2.56.1 gettext-devel gtk-doc +RUN yum install -y -q glib2-devel-2.56.1 gettext-devel gobject-introspection python-gobject-base RUN wget -O - ${GST_REPO} | tar xJ && \ cd gstreamer-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-gst-debug --disable-debug --disable-benchmarks --disable-check && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples --disable-gst-debug \ + --disable-debug \ + --disable-benchmarks \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ - make install + make install; # Build the gstremaer plugin base ARG GST_PLUGIN_BASE_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-${GST_VER}.tar.xz +RUN yum install -y -q libXv-devel libvisual-devel libtheora-devel glib2-devel alsa-lib-devel cdparanoia-devel mesa-libGL-devel pango-devel + RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ && \ cd gst-plugins-base-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples --disable-debug \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install @@ -267,33 +279,53 @@ RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ && \ # Build the gstremaer plugin good set ARG GST_PLUGIN_GOOD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-${GST_VER}.tar.xz +RUN yum install -y -q libsoup-devel libjpeg-devel + RUN wget -O - ${GST_PLUGIN_GOOD_REPO} | tar xJ && \ cd gst-plugins-good-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples --disable-debug \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install + # Build the gstremaer plugin bad set ARG GST_PLUGIN_BAD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-${GST_VER}.tar.xz +RUN yum install -y -q openssl-devel + RUN wget -O - ${GST_PLUGIN_BAD_REPO} | tar xJ && \ cd gst-plugins-bad-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples --disable-debug \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin ugly set ARG GST_PLUGIN_UGLY_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ && \ - cd gst-plugins-ugly-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug && \ - make -j8 && \ +RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ; \ + cd gst-plugins-ugly-${GST_VER}; \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples --disable-debug \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install @@ -304,33 +336,38 @@ RUN yum install -y -q zlib-devel openssl-devel RUN wget -O - ${GST_PLUGIN_LIBAV_REPO} | tar xJ && \ cd gst-libav-${GST_VER} && \ - ./configure --prefix="/usr" --libdir=/usr/lib64 --enable-shared --enable-gpl && \ - make -j8 && \ - make install DESTDIR="/home/build" - - - -# Install automake -ARG AUTOMAKE_VER=1.14 -ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz - -RUN wget -O - ${AUTOMAKE_REPO} | tar xJ && \ - cd automake-${AUTOMAKE_VER} && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --disable-doc && \ - make -j8 && \ + ./autogen.sh \ + --prefix="/usr" \ + --libdir=/usr/lib64 \ + --enable-shared \ + --enable-gpl \ + --disable-gtk-doc && \ + make -j $(nproc) && \ + make install DESTDIR=/home/build && \ make install # Build gstremaer plugin vaapi -ARG GST_PLUGIN_VAAPI_REPO=https://gstreamer.freedesktop.org/src/gstreamer-vaapi//gstreamer-vaapi-${GST_VER}.tar.xz +ARG GST_PLUGIN_VAAPI_REPO=https://gstreamer.freedesktop.org/src/gstreamer-vaapi/gstreamer-vaapi-${GST_VER}.tar.xz + +# https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/merge_requests/45 +ARG GST_PLUGIN_VAAPI_REPO_DISPLAY_LOCK_PATCH_HASH=b219f6095f3014041896714dd88e7d90ee3d72dd +ARG GST_PLUGIN_VAAPI_REPO_GIT=https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi.git RUN yum install -y -q libXrandr-devel +#RUN git clone https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi.git -b 1.14 --depth 10 && \ +# cd gstreamer-vaapi && git reset --hard ${GST_PLUGIN_VAAPI_REPO_DISPLAY_LOCK_PATCH_HASH} && \ RUN wget -O - ${GST_PLUGIN_VAAPI_REPO} | tar xJ && \ cd gstreamer-vaapi-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-shared --disable-examples --disable-debug && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib64 \ + --libexecdir=/usr/lib64 \ + --enable-shared \ + --disable-examples \ + --disable-gtk-doc --disable-debug && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install @@ -349,7 +386,7 @@ WORKDIR /home # Prerequisites RUN yum install -y epel-release; \ - yum install -y -q numactl openssl glib2-2.56.1 libxcb libXrandr libdrm libpng12 libXv libpciaccess libX11 mesa-dri-drivers mesa-libGL ; \ + yum install -y -q numactl openssl glib2-2.56.1 pangolibxcb mesa-libGL libXrandr libpng12 libXv libvisual mesa-libGL pango glib2 libpciaccess libX11 mesa-dri-drivers mesa-libGL libsoup libjpeg-turbo ; \ yum remove -y -q epel-release; \ rm -rf /var/cache/yum/*; diff --git a/XeonE3/centos-7.6/gst/Dockerfile.m4 b/XeonE3/centos-7.6/gst/Dockerfile.m4 index cbdfbd3b6..8bba441aa 100644 --- a/XeonE3/centos-7.6/gst/Dockerfile.m4 +++ b/XeonE3/centos-7.6/gst/Dockerfile.m4 @@ -20,14 +20,12 @@ include(gmmlib.m4) #include(libdrm.m4) include(libva.m4) include(media-driver.m4) -include(automake.m4) include(gst.m4) include(gst-plugin-base.m4) include(gst-plugin-good.m4) include(gst-plugin-bad.m4) include(gst-plugin-ugly.m4) include(gst-plugin-libav.m4) -include(automake.m4) include(gst-plugin-vaapi.m4) include(cleanup.m4)dnl diff --git a/XeonE3/centos-7.6/nginx+rtmp/Dockerfile b/XeonE3/centos-7.6/nginx+rtmp/Dockerfile index fb64dbc88..c8478ba38 100644 --- a/XeonE3/centos-7.6/nginx+rtmp/Dockerfile +++ b/XeonE3/centos-7.6/nginx+rtmp/Dockerfile @@ -14,6 +14,15 @@ RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz make -j8 && \ make install +# Install automake, use version 1.14 on CentOS +ARG AUTOMAKE_VER=1.14 +ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz +RUN wget -O - ${AUTOMAKE_REPO} | tar xJ && \ + cd automake-${AUTOMAKE_VER} && \ + ./configure --prefix=/usr --libdir=/usr/lib64 --disable-doc && \ + make -j8 && \ + make install + # Build nginx-rtmp ARG NGINX_RTMP_VER=v1.2.1 diff --git a/XeonE3/ubuntu-16.04/dldt+gst/CMakeLists.txt b/XeonE3/ubuntu-16.04/dldt+gst/CMakeLists.txt new file mode 100644 index 000000000..9f72a4170 --- /dev/null +++ b/XeonE3/ubuntu-16.04/dldt+gst/CMakeLists.txt @@ -0,0 +1,3 @@ +set(image "xeonE3_dldt_gst_ubuntu1604") +include("${CMAKE_SOURCE_DIR}/script/image.cmake") +include("${CMAKE_SOURCE_DIR}/script/gst-tests.cmake") diff --git a/XeonE3/ubuntu-16.04/dldt+gst/Dockerfile b/XeonE3/ubuntu-16.04/dldt+gst/Dockerfile new file mode 100644 index 000000000..a7c7ab7c0 --- /dev/null +++ b/XeonE3/ubuntu-16.04/dldt+gst/Dockerfile @@ -0,0 +1,592 @@ + +FROM ubuntu:16.04 AS build +WORKDIR /home + +# COMMON BUILD TOOLS +RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends build-essential autoconf make git wget pciutils cpio libtool lsb-release ca-certificates pkg-config bison flex + +# Install cmake +ARG CMAKE_VER=3.13.1 +ARG CMAKE_REPO=https://cmake.org/files +RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz && \ + cd cmake-${CMAKE_VER} && \ + ./bootstrap --prefix="/usr" && \ + make -j8 && \ + make install + +# Install automake, use version 1.14 on CentOS +ARG AUTOMAKE_VER=1.14 +ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz + RUN apt-get install -y -q automake + +# Build NASM +ARG NASM_VER=2.13.03 +ARG NASM_REPO=https://www.nasm.us/pub/nasm/releasebuilds/${NASM_VER}/nasm-${NASM_VER}.tar.bz2 +RUN wget ${NASM_REPO} && \ + tar -xaf nasm* && \ + cd nasm-${NASM_VER} && \ + ./autogen.sh && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu && \ + make -j8 && \ + make install + +# Build YASM +ARG YASM_VER=1.3.0 +ARG YASM_REPO=https://www.tortall.net/projects/yasm/releases/yasm-${YASM_VER}.tar.gz +RUN wget -O - ${YASM_REPO} | tar xz && \ + cd yasm-${YASM_VER} && \ + sed -i "s/) ytasm.*/)/" Makefile.in && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu && \ + make -j8 && \ + make install + +# Build ogg +ARG OGG_VER=1.3.3 +ARG OGG_REPO=https://downloads.xiph.org/releases/ogg/libogg-${OGG_VER}.tar.xz + +RUN wget -O - ${OGG_REPO} | tar xJ && \ + cd libogg-${OGG_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ + make install + +# Build vorbis +ARG VORBIS_VER=1.3.6 +ARG VORBIS_REPO=https://downloads.xiph.org/releases/vorbis/libvorbis-${VORBIS_VER}.tar.xz + +RUN wget -O - ${VORBIS_REPO} | tar xJ && \ + cd libvorbis-${VORBIS_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ + make install + +# Build mp3lame +ARG MP3LAME_VER=3.100 +ARG MP3LAME_REPO=https://sourceforge.net/projects/lame/files/lame/${MP3LAME_VER}/lame-${MP3LAME_VER}.tar.gz + +RUN wget -O - ${MP3LAME_REPO} | tar xz && \ + cd lame-${MP3LAME_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared --enable-nasm && \ + make -j8 && \ + make install DESTDIR=/home/build && \ + make install + +# Build fdk-aac +ARG FDK_AAC_VER=v0.1.6 +ARG FDK_AAC_REPO=https://github.com/mstorsjo/fdk-aac/archive/${FDK_AAC_VER}.tar.gz + +RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac && \ + cd fdk-aac && \ + autoreconf -fiv && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ + make install + + +# Build opus +ARG OPUS_VER=1.2.1 +ARG OPUS_REPO=https://archive.mozilla.org/pub/opus/opus-${OPUS_VER}.tar.gz + +RUN wget -O - ${OPUS_REPO} | tar xz && \ + cd opus-${OPUS_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ + make install + +# Build vpx +ARG VPX_VER=tags/v1.7.0 +ARG VPX_REPO=https://chromium.googlesource.com/webm/libvpx.git + +RUN git clone ${VPX_REPO} && \ + cd libvpx && \ + git checkout ${VPX_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm && \ + make -j8 && \ + make install DESTDIR=/home/build && \ + make install + + +# Build AOM +ARG AOM_VER=b6f1767eedbaddeb1ff5aa409a710ef61078640e +ARG AOM_REPO=https://aomedia.googlesource.com/aom + +RUN git clone ${AOM_REPO} && \ + mkdir aom/aom_build && \ + cd aom/aom_build && \ + git checkout ${AOM_VER} && \ + cmake -DBUILD_SHARED_LIBS=ON -DENABLE_NASM=ON -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF -DCMAKE_INSTALL_PREFIX="/usr" -DLIB_INSTALL_DIR=/usr/lib/x86_64-linux-gnu .. && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ + make install + +# Build x264 +ARG X264_VER=stable +ARG X264_REPO=https://github.com/mirror/x264 + +RUN git clone ${X264_REPO} && \ + cd x264 && \ + git checkout ${X264_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ + make install + + +# Build x265 +ARG X265_VER=2.9 +ARG X265_REPO=https://github.com/videolan/x265/archive/${X265_VER}.tar.gz + +RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libnuma-dev + +RUN wget -O - ${X265_REPO} | tar xz && mv x265-${X265_VER} x265 && \ + cd x265/build/linux && \ + cmake -DBUILD_SHARED_LIBS=ON -DENABLE_TESTS=OFF -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_DIR=/usr/lib/x86_64-linux-gnu ../../source && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ + make install + +# Fetch SVT-HEVC +ARG SVT_HEVC_VER=252ff3d18bc1997a5af989ad4e67e025c93dbf68 +ARG SVT_HEVC_REPO=https://github.com/intel/SVT-HEVC + +RUN git clone ${SVT_HEVC_REPO} && \ + cd SVT-HEVC/Build/linux && \ + git checkout ${SVT_HEVC_VER} && \ + mkdir -p ../../Bin/Release && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ + make install + + +# Fetch SVT-AV1 +ARG SVT_AV1_VER=39aad81274a04053e2678ec7ec39cf6584bced66 +ARG SVT_AV1_REPO=https://github.com/OpenVisualCloud/SVT-AV1 + +RUN git clone ${SVT_AV1_REPO} && \ + cd SVT-AV1/Build/linux && \ + git checkout ${SVT_AV1_VER} && \ + mkdir -p ../../Bin/Release && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ + make install + + +# Fetch SVT-VP9 +ARG SVT_VP9_VER=e92a57c +ARG SVT_VP9_REPO=https://github.com/OpenVisualCloud/SVT-VP9 + +RUN git clone ${SVT_VP9_REPO} && \ + cd SVT-VP9/Build/linux && \ + git checkout ${SVT_VP9_VER} && \ + mkdir -p ../../Bin/Release && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ + make install + +# Fetch gmmlib +ARG GMMLIB_VER=intel-gmmlib-18.3.0 +ARG GMMLIB_REPO=https://github.com/intel/gmmlib/archive/${GMMLIB_VER}.tar.gz + +RUN wget -O - ${GMMLIB_REPO} | tar xz && mv gmmlib-${GMMLIB_VER} gmmlib; + + +# Build libdrm +ARG LIBDRM_VER=2.4.96 +ARG LIBDRM_REPO=https://dri.freedesktop.org/libdrm/libdrm-${LIBDRM_VER}.tar.gz + +RUN apt-get update && apt-get install -y -q --no-install-recommends libpciaccess-dev + +RUN wget -O - ${LIBDRM_REPO} | tar xz && \ + cd libdrm-${LIBDRM_VER} && \ + ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu && \ + make -j8 && \ + make install DESTDIR=/home/build && \ + make install ; + + +# Build libva +ARG LIBVA_VER=2.4.0 +ARG LIBVA_REPO=https://github.com/intel/libva/archive/${LIBVA_VER}.tar.gz + +RUN apt-get remove libva* + +RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libdrm-dev libx11-dev xorg-dev libgl1-mesa-dev openbox + +RUN wget -O - ${LIBVA_REPO} | tar xz && \ + cd libva-${LIBVA_VER} && \ + ./autogen.sh --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu && \ + make -j8 && \ + make install DESTDIR=/home/build && \ + make install; + + +# Build libva-utils +ARG LIBVA_UTILS_VER=2.4.0 +ARG LIBVA_UTILS_REPO=https://github.com/intel/libva-utils/archive/${LIBVA_UTILS_VER}.tar.gz + +RUN wget -O - ${LIBVA_UTILS_REPO} | tar xz; \ + cd libva-utils-${LIBVA_UTILS_VER}; \ + ./autogen.sh --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu; \ + make -j8; \ + make install DESTDIR=/home/build; \ + make install; + + +# Build media driver +ARG MEDIA_DRIVER_VER=intel-media-kbl-19.1.0 +ARG MEDIA_DRIVER_REPO=https://github.com/VCDP/media-driver/archive/${MEDIA_DRIVER_VER}.tar.gz + +RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libdrm-dev libpciaccess-dev libx11-dev xorg-dev libgl1-mesa-dev + +RUN wget -O - ${MEDIA_DRIVER_REPO} | tar xz && mv media-driver-${MEDIA_DRIVER_VER} media-driver && \ + mkdir -p media-driver/build && \ + cd media-driver/build && \ + cmake -DBUILD_TYPE=release -DBUILD_ALONG_WITH_CMRTLIB=1 -DMEDIA_VERSION="2.0.0" -DBS_DIR_GMMLIB=/home/gmmlib/Source/GmmLib -DBS_DIR_COMMON=/home/gmmlib/Source/Common -DBS_DIR_INC=/home/gmmlib/Source/inc -DBS_DIR_MEDIA=/home/media-driver -Wno-dev -DCMAKE_INSTALL_PREFIX=/usr .. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ + make install + + + +# Build Intel(R) Media SDK +ARG MSDK_VER=MSS-KBL-2019-R1 +ARG MSDK_REPO=https://github.com/Intel-Media-SDK/MediaSDK/archive/${MSDK_VER}.tar.gz + +RUN wget -O - ${MSDK_REPO} | tar xz && mv MediaSDK-${MSDK_VER} MediaSDK && \ + mkdir -p MediaSDK/build && \ + cd MediaSDK/build && \ + cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_INCLUDEDIR=include/mfx -DBUILD_SAMPLES=OFF -DENABLE_OPENCL=OFF -Wno-dev .. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ + rm -rf /home/build/usr/samples && \ + rm -rf /home/build/usr/plugins && \ + make install; + +#install OpenCL + +RUN mkdir neo + +RUN cd neo && wget https://github.com/intel/compute-runtime/releases/download/19.01.12103/intel-gmmlib_18.4.0.348_amd64.deb +RUN cd neo && wget https://github.com/intel/compute-runtime/releases/download/19.01.12103/intel-igc-core_18.50.1270_amd64.deb +RUN cd neo && wget https://github.com/intel/compute-runtime/releases/download/19.01.12103/intel-igc-opencl_18.50.1270_amd64.deb +RUN cd neo && wget https://github.com/intel/compute-runtime/releases/download/19.01.12103/intel-opencl_19.01.12103_amd64.deb + +RUN cd neo && \ + dpkg -i *.deb && \ + dpkg-deb -x intel-gmmlib_18.4.0.348_amd64.deb /home/build/ && \ + dpkg-deb -x intel-igc-core_18.50.1270_amd64.deb /home/build/ && \ + dpkg-deb -x intel-igc-opencl_18.50.1270_amd64.deb /home/build/ && \ + dpkg-deb -x intel-opencl_19.01.12103_amd64.deb /home/build/ + + + +#clinfo needs to be installed after build directory is copied over + +# Build DLDT-Inference Engine +ARG DLDT_VER=2018_R5 +ARG DLDT_REPO=https://github.com/opencv/dldt.git +ARG DLDT_C_API_REPO=https://raw.githubusercontent.com/VCDP/FFmpeg-patch/master/thirdparty/0001-Add-inference-engine-C-API.patch + + +RUN git clone -b ${DLDT_VER} ${DLDT_REPO} && \ + cd dldt && \ + git submodule init && \ + git submodule update --recursive && \ + cd inference-engine && \ + wget -O - ${DLDT_C_API_REPO} | patch -p2 && \ + mkdir build && \ + cd build && \ + cmake -DCMAKE_INSTALL_PREFIX=/opt/intel/dldt -DLIB_INSTALL_PATH=/opt/intel/dldt -DENABLE_MKL_DNN=ON -DENABLE_CLDNN=ON -DENABLE_SAMPLE_CORE=OFF .. && \ + make -j $(nproc) && \ + rm -rf ../bin/intel64/Release/lib/libgtest* && \ + rm -rf ../bin/intel64/Release/lib/libgmock* && \ + rm -rf ../bin/intel64/Release/lib/libmock* && \ + rm -rf ../bin/intel64/Release/lib/libtest* + +ARG libdir=/opt/intel/dldt/inference-engine/lib/ubuntu_16.04/intel64 + +RUN mkdir -p /opt/intel/dldt/inference-engine/include && \ + cp -r dldt/inference-engine/include/* /opt/intel/dldt/inference-engine/include && \ + mkdir -p ${libdir} && \ + cp -r dldt/inference-engine/bin/intel64/Release/lib/* ${libdir} && \ + mkdir -p /opt/intel/dldt/inference-engine/src && \ + cp -r dldt/inference-engine/src/* /opt/intel/dldt/inference-engine/src/ && \ + mkdir -p /opt/intel/dldt/inference-engine/share && \ + cp -r dldt/inference-engine/build/share/* /opt/intel/dldt/inference-engine/share/ && \ + mkdir -p /opt/intel/dldt/inference-engine/external/omp/lib && \ + cp -r dldt/inference-engine/temp/omp/lib/* /opt/intel/dldt/inference-engine/external/omp/lib/ + +RUN mkdir -p build/opt/intel/dldt/inference-engine/include && \ + cp -r dldt/inference-engine/include/* build/opt/intel/dldt/inference-engine/include && \ + mkdir -p build${libdir} && \ + cp -r dldt/inference-engine/bin/intel64/Release/lib/* build${libdir} && \ + mkdir -p build/opt/intel/dldt/inference-engine/src && \ + cp -r dldt/inference-engine/src/* build/opt/intel/dldt/inference-engine/src/ && \ + mkdir -p build/opt/intel/dldt/inference-engine/share && \ + cp -r dldt/inference-engine/build/share/* build/opt/intel/dldt/inference-engine/share/ && \ + mkdir -p build/opt/intel/dldt/inference-engine/external/omp/lib && \ + cp -r dldt/inference-engine/temp/omp/lib/* build/opt/intel/dldt/inference-engine/external/omp/lib/ + +RUN for p in /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inference-engine; do \ + mkdir -p "${libdir}/pkgconfig" && \ + pc="${libdir}/pkgconfig/dldt.pc" && \ + echo "prefix=/opt" > "$pc" && \ + echo "libdir=${libdir}" >> "$pc" && \ + echo "includedir=/opt/intel/dldt/inference-engine/include" >> "$pc" && \ + echo "" >> "$pc" && \ + echo "Name: DLDT" >> "$pc" && \ + echo "Description: Intel Deep Learning Deployment Toolkit" >> "$pc" && \ + echo "Version: 5.0" >> "$pc" && \ + echo "" >> "$pc" && \ + echo "Libs: -L\${libdir} -linference_engine -linference_engine_c_wrapper" >> "$pc" && \ + echo "Cflags: -I\${includedir}" >> "$pc"; \ + done; + +ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share +ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} + +#install Model Optimizer in the DLDT for Dev + + + + +# Build the gstremaer core +ARG GST_VER=1.14.4 +ARG GST_REPO=https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${GST_VER}.tar.xz + +RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libglib2.0-dev gobject-introspection libgirepository1.0-dev libpango-1.0-0 libpangocairo-1.0-0 autopoint +RUN wget -O - ${GST_REPO} | tar xJ && \ + cd gstreamer-${GST_VER} && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib/x86_64-linux-gnu \ + --libexecdir=/usr/lib/x86_64-linux-gnu \ + --enable-shared \ + --disable-examples --disable-gst-debug \ + --disable-debug \ + --disable-benchmarks \ + --disable-gtk-doc && \ + make -j $(nproc) && \ + make install DESTDIR=/home/build && \ + make install; + +# Build the gstremaer plugin bad set +ARG GST_ORC_VER=0.4.28 +ARG GST_ORC_REPO=https://gstreamer.freedesktop.org/src/orc/orc-${GST_ORC_VER}.tar.xz + +RUN wget -O - ${GST_ORC_REPO} | tar xJ && \ + cd orc-${GST_ORC_VER} && \ + ./autogen.sh --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu \ + --libexecdir=/usr/lib/x86_64-linux-gnu \ + --enable-shared \ + --disable-examples --disable-debug \ + --disable-gtk-doc && \ + make -j $(nproc) && \ + make install DESTDIR=/home/build && \ + make install + +# Build the gstremaer plugin base +ARG GST_PLUGIN_BASE_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-${GST_VER}.tar.xz + +RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libxv-dev libvisual-0.4-dev libtheora-dev libglib2.0-dev libasound2-dev libcdparanoia-dev libgl1-mesa-dev libpango1.0-dev + +RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ && \ + cd gst-plugins-base-${GST_VER} && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib/x86_64-linux-gnu \ + --libexecdir=/usr/lib/x86_64-linux-gnu \ + --enable-shared \ + --disable-examples --disable-debug \ + --disable-gtk-doc && \ + make -j $(nproc) && \ + make install DESTDIR=/home/build && \ + make install + + +# Build the gstremaer plugin good set +ARG GST_PLUGIN_GOOD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-${GST_VER}.tar.xz + +RUN apt-get update && apt-get install -y -q --no-install-recommends libsoup2.4-dev libjpeg-dev + +RUN wget -O - ${GST_PLUGIN_GOOD_REPO} | tar xJ && \ + cd gst-plugins-good-${GST_VER} && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib/x86_64-linux-gnu \ + --libexecdir=/usr/lib/x86_64-linux-gnu \ + --enable-shared \ + --disable-examples --disable-debug \ + --disable-gtk-doc && \ + make -j $(nproc) && \ + make install DESTDIR=/home/build && \ + make install + + +# Build the gstremaer plugin bad set +ARG GST_PLUGIN_BAD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-${GST_VER}.tar.xz + +RUN apt-get update && apt-get install -y -q --no-install-recommends libssl-dev + +RUN wget -O - ${GST_PLUGIN_BAD_REPO} | tar xJ && \ + cd gst-plugins-bad-${GST_VER} && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib/x86_64-linux-gnu \ + --libexecdir=/usr/lib/x86_64-linux-gnu \ + --enable-shared \ + --disable-examples --disable-debug \ + --disable-gtk-doc && \ + make -j $(nproc) && \ + make install DESTDIR=/home/build && \ + make install + +# Build the gstremaer plugin ugly set +ARG GST_PLUGIN_UGLY_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-${GST_VER}.tar.xz + +RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ; \ + cd gst-plugins-ugly-${GST_VER}; \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib/x86_64-linux-gnu \ + --libexecdir=/usr/lib/x86_64-linux-gnu \ + --enable-shared \ + --disable-examples --disable-debug \ + --disable-gtk-doc && \ + make -j $(nproc) && \ + make install DESTDIR=/home/build && \ + make install + +# Build gst-libav +ARG GST_PLUGIN_LIBAV_REPO=https://gstreamer.freedesktop.org/src/gst-libav/gst-libav-${GST_VER}.tar.xz + +RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends zlib1g-dev libssl-dev + +RUN wget -O - ${GST_PLUGIN_LIBAV_REPO} | tar xJ && \ + cd gst-libav-${GST_VER} && \ + ./autogen.sh \ + --prefix="/usr" \ + --libdir=/usr/lib/x86_64-linux-gnu \ + --enable-shared \ + --enable-gpl \ + --disable-gtk-doc && \ + make -j $(nproc) && \ + make install DESTDIR=/home/build && \ + make install + + +# Build gstremaer plugin vaapi +ARG GST_PLUGIN_VAAPI_REPO=https://gstreamer.freedesktop.org/src/gstreamer-vaapi/gstreamer-vaapi-${GST_VER}.tar.xz + +# https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/merge_requests/45 +ARG GST_PLUGIN_VAAPI_REPO_DISPLAY_LOCK_PATCH_HASH=b219f6095f3014041896714dd88e7d90ee3d72dd +ARG GST_PLUGIN_VAAPI_REPO_GIT=https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi.git + +RUN apt-get update && apt-get install -y -q --no-install-recommends libxrandr-dev libegl1-mesa-dev autopoint bison flex libudev-dev + +#RUN git clone https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi.git -b 1.14 --depth 10 && \ +# cd gstreamer-vaapi && git reset --hard ${GST_PLUGIN_VAAPI_REPO_DISPLAY_LOCK_PATCH_HASH} && \ +RUN wget -O - ${GST_PLUGIN_VAAPI_REPO} | tar xJ && \ + cd gstreamer-vaapi-${GST_VER} && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib/x86_64-linux-gnu \ + --libexecdir=/usr/lib/x86_64-linux-gnu \ + --enable-shared \ + --disable-examples \ + --disable-gtk-doc --disable-debug && \ + make -j $(nproc) && \ + make install DESTDIR=/home/build && \ + make install + + +ARG OPENCV_VER=4.0.0 +ARG OPENCV_REPO=https://github.com/opencv/opencv/archive/${OPENCV_VER}.tar.gz + +RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev python-dev python-numpy + +RUN wget ${OPENCV_REPO} && \ + tar -zxvf ${OPENCV_VER}.tar.gz && \ + cd opencv-${OPENCV_VER} && \ + mkdir build && \ + cd build && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -D BUILD_EXAMPLES=OFF -D BUILD_PERF_TESTS=OFF -D BUILD_DOCS=OFF -D BUILD_TESTS=OFF .. && \ + make -j $(nproc) && \ + make install DESTDIR=/home/build && \ + make install + +RUN apt-get install -y -q --no-install-recommends gtk-doc-tools + + + + +ARG PAHO_VER=1.3.0 +ARG PAHO_REPO=https://github.com/eclipse/paho.mqtt.c/archive/v${PAHO_VER}.tar.gz +RUN wget -O - https://github.com/eclipse/paho.mqtt.c/archive/v${PAHO_VER}.tar.gz | tar -xz; \ + cd paho.mqtt.c-${PAHO_VER}; \ + make; \ + make install; + +#Install va gstreamer plugins +#Has a dependency on OpenCV, GStreamer +ARG VA_GSTREAMER_PLUGINS_VER=0.3 +ARG VA_GSTREAMER_PLUGINS_REPO=https://github.com/opencv/gst-video-analytics/archive/v${VA_GSTREAMER_PLUGINS_VER}.tar.gz +RUN wget -O - ${VA_GSTREAMER_PLUGINS_REPO} | tar xz && \ + cd gst-video-analytics-${VA_GSTREAMER_PLUGINS_VER} && \ + mkdir build && \ + cd build && \ + export CFLAGS="-std=gnu99 -Wno-missing-field-initializers" && \ + export CXXFLAGS="-std=c++11 -Wno-missing-field-initializers" && \ + cmake \ + -DVERSION_PATCH=$(echo "$(git rev-list --count --first-parent HEAD)") \ + -DGIT_INFO=$(echo "git_$(git rev-parse --short HEAD)") \ + -DCMAKE_BUILD_TYPE=Release \ + -DDISABLE_SAMPLES=ON \ + -DDISABLE_VAAPI=ON \ + -DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX=/usr .. && \ + make -j4 +RUN mkdir -p build/usr/lib/x86_64-linux-gnu/gstreamer-1.0 && \ + cp -r gst-video-analytics-${VA_GSTREAMER_PLUGINS_VER}/build/intel64/Release/lib/* build/usr/lib/x86_64-linux-gnu/gstreamer-1.0 +RUN mkdir -p /usr/lib/x86_64-linux-gnu/gstreamer-1.0 && \ + cp -r gst-video-analytics-${VA_GSTREAMER_PLUGINS_VER}/build/intel64/Release/lib/* /usr/lib/x86_64-linux-gnu/gstreamer-1.0 + + + +# Clean up after build +RUN rm -rf /home/build/usr/include && \ + rm -rf /home/build/usr/share/doc && \ + rm -rf /home/build/usr/share/gtk-doc && \ + rm -rf /home/build/usr/share/man && \ + find /home/build -name "*.a" -exec rm -f {} \; + +FROM ubuntu:16.04 +LABEL Description="This is the base image for GSTREAMER & DLDT Ubuntu 16.04 LTS" +LABEL Vendor="Intel Corporation" +WORKDIR /home + +# Prerequisites +RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libnuma1 libssl1.0.0 libglib2.0 libpango-1.0-0 libpangocairo-1.0-0 libdrm-intel1 libudev1 libx11-xcb1 libgl1-mesa-glx libxrandr2 libegl1-mesa libglib2.0-0 libpng12-0 libxv1 libvisual-0.4-0 libgl1-mesa-glx libpango-1.0-0 libtheora0 libcdparanoia0 libasound2 libsoup2.4-1 libjpeg8 libjpeg-turbo8 python3 libgtk2.0 libdrm2 libxv1 \ +; \ + rm -rf /var/lib/apt/lists/*; + +# Install +COPY --from=build /home/build / +ENV LIBVA_DRIVERS_PATH=/usr/lib/x86_64-linux-gnu/dri +ENV LIBVA_DRIVER_NAME=iHD +RUN apt-get update && apt-get install -y clinfo +ENV GST_VAAPI_ALL_DRIVERS=1 +ENV DISPLAY=:0.0 +ARG libdir=/opt/intel/dldt/inference-engine/lib/ubuntu_16.04/intel64 +ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share +ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/x86_64-linux-gnu/gstreamer-1.0 +ENV PKG_CONFIG_PATH=/usr/lib/x86_64-linux-gnu/pkgconfig +ENV LIBRARY_PATH=${LIBRARY_PATH}:/usr/lib +ENV PATH=${PATH}:/usr/bin + diff --git a/XeonE3/ubuntu-16.04/dldt+gst/Dockerfile.m4 b/XeonE3/ubuntu-16.04/dldt+gst/Dockerfile.m4 new file mode 100644 index 000000000..29452f491 --- /dev/null +++ b/XeonE3/ubuntu-16.04/dldt+gst/Dockerfile.m4 @@ -0,0 +1,48 @@ + +FROM ubuntu:16.04 AS build +WORKDIR /home +define(`BUILD_LINKAGE',shared)dnl + +include(build-tools.m4) +include(libogg.m4) +include(libvorbis.m4) +include(libmp3lame.m4) +include(libfdk-aac.m4) +include(libopus.m4) +include(libvpx.m4) +include(libaom.m4) +include(libx264.m4) +include(libx265.m4) +include(svt-hevc.m4) +include(svt-av1.m4) +include(svt-vp9.m4) +include(gmmlib.m4) +include(libdrm.m4) +include(libva.m4) +include(libva-utils.m4) +include(media-driver.m4) +include(media-sdk.m4) +include(opencl.m4) +include(dldt-ie.m4) +include(gst.m4) +include(gst-orc.m4) +include(gst-plugin-base.m4) +include(gst-plugin-good.m4) +include(gst-plugin-bad.m4) +include(gst-plugin-ugly.m4) +include(gst-plugin-libav.m4) +include(gst-plugin-vaapi.m4) +include(opencv.m4) +include(gstreamer-videoanalytics.m4) +include(cleanup.m4)dnl + +FROM ubuntu:16.04 +LABEL Description="This is the base image for GSTREAMER & DLDT Ubuntu 16.04 LTS" +LABEL Vendor="Intel Corporation" +WORKDIR /home + +# Prerequisites +include(install.pkgs.m4) + +# Install +include(install.m4) diff --git a/XeonE3/ubuntu-16.04/dldt+gst/build.sh b/XeonE3/ubuntu-16.04/dldt+gst/build.sh new file mode 100755 index 000000000..c5e7d3855 --- /dev/null +++ b/XeonE3/ubuntu-16.04/dldt+gst/build.sh @@ -0,0 +1,7 @@ +#!/bin/bash -e + +IMAGE="xeone3-ubuntu1604-dldt-gst" +VERSION="1.0" +DIR=$(dirname $(readlink -f "$0")) + +. "${DIR}/../../../script/build.sh" diff --git a/XeonE3/ubuntu-16.04/dldt+gst/shell.sh b/XeonE3/ubuntu-16.04/dldt+gst/shell.sh new file mode 100755 index 000000000..75262e6fb --- /dev/null +++ b/XeonE3/ubuntu-16.04/dldt+gst/shell.sh @@ -0,0 +1,6 @@ +#!/bin/bash -e + +IMAGE="xeone3-ubuntu1604-dldt-gst" +DIR=$(dirname $(readlink -f "$0")) + +. "${DIR}/../../../script/shell.sh" diff --git a/XeonE3/ubuntu-16.04/ffmpeg+gst+dev/Dockerfile b/XeonE3/ubuntu-16.04/ffmpeg+gst+dev/Dockerfile index 52b58a94a..e02c394da 100644 --- a/XeonE3/ubuntu-16.04/ffmpeg+gst+dev/Dockerfile +++ b/XeonE3/ubuntu-16.04/ffmpeg+gst+dev/Dockerfile @@ -3,7 +3,7 @@ FROM ubuntu:16.04 AS build WORKDIR /home # COMMON BUILD TOOLS -RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends build-essential autoconf automake make git wget pciutils cpio libtool lsb-release ca-certificates pkg-config bison flex +RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends build-essential autoconf make git wget pciutils cpio libtool lsb-release ca-certificates pkg-config bison flex # Install cmake ARG CMAKE_VER=3.13.1 @@ -14,6 +14,11 @@ RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz make -j8 && \ make install +# Install automake, use version 1.14 on CentOS +ARG AUTOMAKE_VER=1.14 +ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz + RUN apt-get install -y -q automake + # Build NASM ARG NASM_VER=2.13.03 ARG NASM_REPO=https://www.nasm.us/pub/nasm/releasebuilds/${NASM_VER}/nasm-${NASM_VER}.tar.bz2 @@ -193,11 +198,27 @@ ARG GMMLIB_REPO=https://github.com/intel/gmmlib/archive/${GMMLIB_VER}.tar.gz RUN wget -O - ${GMMLIB_REPO} | tar xz && mv gmmlib-${GMMLIB_VER} gmmlib; +# Build libdrm +ARG LIBDRM_VER=2.4.96 +ARG LIBDRM_REPO=https://dri.freedesktop.org/libdrm/libdrm-${LIBDRM_VER}.tar.gz + +RUN apt-get update && apt-get install -y -q --no-install-recommends libpciaccess-dev + +RUN wget -O - ${LIBDRM_REPO} | tar xz && \ + cd libdrm-${LIBDRM_VER} && \ + ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu && \ + make -j8 && \ + make install DESTDIR=/home/build && \ + make install ; + + # Build libva -ARG LIBVA_VER=2.3.0 +ARG LIBVA_VER=2.4.0 ARG LIBVA_REPO=https://github.com/intel/libva/archive/${LIBVA_VER}.tar.gz -RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libdrm-dev libx11-dev xorg-dev libgl1-mesa-dev +RUN apt-get remove libva* + +RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libdrm-dev libx11-dev xorg-dev libgl1-mesa-dev openbox RUN wget -O - ${LIBVA_REPO} | tar xz && \ cd libva-${LIBVA_VER} && \ @@ -207,6 +228,18 @@ RUN wget -O - ${LIBVA_REPO} | tar xz && \ make install; +# Build libva-utils +ARG LIBVA_UTILS_VER=2.4.0 +ARG LIBVA_UTILS_REPO=https://github.com/intel/libva-utils/archive/${LIBVA_UTILS_VER}.tar.gz + +RUN wget -O - ${LIBVA_UTILS_REPO} | tar xz; \ + cd libva-utils-${LIBVA_UTILS_VER}; \ + ./autogen.sh --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu; \ + make -j8; \ + make install DESTDIR=/home/build; \ + make install; + + # Build media driver ARG MEDIA_DRIVER_VER=intel-media-kbl-19.1.0 ARG MEDIA_DRIVER_REPO=https://github.com/VCDP/media-driver/archive/${MEDIA_DRIVER_VER}.tar.gz @@ -235,6 +268,26 @@ RUN wget -O - ${MSDK_REPO} | tar xz && mv MediaSDK-${MSDK_VER} MediaSDK && \ make install DESTDIR=/home/build && \ make install; +#install OpenCL + +RUN mkdir neo + +RUN cd neo && wget https://github.com/intel/compute-runtime/releases/download/19.01.12103/intel-gmmlib_18.4.0.348_amd64.deb +RUN cd neo && wget https://github.com/intel/compute-runtime/releases/download/19.01.12103/intel-igc-core_18.50.1270_amd64.deb +RUN cd neo && wget https://github.com/intel/compute-runtime/releases/download/19.01.12103/intel-igc-opencl_18.50.1270_amd64.deb +RUN cd neo && wget https://github.com/intel/compute-runtime/releases/download/19.01.12103/intel-opencl_19.01.12103_amd64.deb + +RUN cd neo && \ + dpkg -i *.deb && \ + dpkg-deb -x intel-gmmlib_18.4.0.348_amd64.deb /home/build/ && \ + dpkg-deb -x intel-igc-core_18.50.1270_amd64.deb /home/build/ && \ + dpkg-deb -x intel-igc-opencl_18.50.1270_amd64.deb /home/build/ && \ + dpkg-deb -x intel-opencl_19.01.12103_amd64.deb /home/build/ + + + +#clinfo needs to be installed after build directory is copied over + # Build DLDT-Inference Engine ARG DLDT_VER=2018_R5 ARG DLDT_REPO=https://github.com/opencv/dldt.git @@ -249,53 +302,134 @@ RUN git clone -b ${DLDT_VER} ${DLDT_REPO} && \ wget -O - ${DLDT_C_API_REPO} | patch -p2 && \ mkdir build && \ cd build && \ - cmake -DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_PATH=/usr/lib/x86_64-linux-gnu -DENABLE_MKL_DNN=ON -DENABLE_CLDNN=ON -DENABLE_SAMPLES_CORE=OFF ..; \ - make -j16 && \ + cmake -DCMAKE_INSTALL_PREFIX=/opt/intel/dldt -DLIB_INSTALL_PATH=/opt/intel/dldt -DENABLE_MKL_DNN=ON -DENABLE_CLDNN=ON -DENABLE_SAMPLE_CORE=OFF .. && \ + make -j $(nproc) && \ rm -rf ../bin/intel64/Release/lib/libgtest* && \ rm -rf ../bin/intel64/Release/lib/libgmock* && \ rm -rf ../bin/intel64/Release/lib/libmock* && \ - rm -rf ../bin/intel64/Release/lib/libtest* && \ - for p in /usr /home/build/usr; do \ - mkdir -p $p/include/dldt; \ - cp -r ../include/* $p/include/dldt; \ - libdir="$p/lib/x86_64-linux-gnu"; \ - cp -r ../bin/intel64/Release/lib/* "$libdir"; \ - cp -r ../temp/omp/lib/* "$libdir"; \ - mkdir -p "$libdir/pkgconfig"; \ - pc="$libdir/pkgconfig/dldt.pc"; \ - echo "prefix=/usr" > "$pc"; \ - echo "libdir=/usr/lib/x86_64-linux-gnu" >> "$pc"; \ - echo "includedir=/usr/include/dldt" >> "$pc"; \ - echo "" >> "$pc"; \ - echo "Name: DLDT" >> "$pc"; \ - echo "Description: Intel Deep Learning Deployment Toolkit" >> "$pc"; \ - echo "Version: 5.0" >> "$pc"; \ - echo "" >> "$pc"; \ - echo "Libs: -L\${libdir} -linference_engine -linference_engine_c_wrapper" >> "$pc"; \ + rm -rf ../bin/intel64/Release/lib/libtest* + +ARG libdir=/opt/intel/dldt/inference-engine/lib/ubuntu_16.04/intel64 + +RUN mkdir -p /opt/intel/dldt/inference-engine/include && \ + cp -r dldt/inference-engine/include/* /opt/intel/dldt/inference-engine/include && \ + mkdir -p ${libdir} && \ + cp -r dldt/inference-engine/bin/intel64/Release/lib/* ${libdir} && \ + mkdir -p /opt/intel/dldt/inference-engine/src && \ + cp -r dldt/inference-engine/src/* /opt/intel/dldt/inference-engine/src/ && \ + mkdir -p /opt/intel/dldt/inference-engine/share && \ + cp -r dldt/inference-engine/build/share/* /opt/intel/dldt/inference-engine/share/ && \ + mkdir -p /opt/intel/dldt/inference-engine/external/omp/lib && \ + cp -r dldt/inference-engine/temp/omp/lib/* /opt/intel/dldt/inference-engine/external/omp/lib/ + +RUN mkdir -p build/opt/intel/dldt/inference-engine/include && \ + cp -r dldt/inference-engine/include/* build/opt/intel/dldt/inference-engine/include && \ + mkdir -p build${libdir} && \ + cp -r dldt/inference-engine/bin/intel64/Release/lib/* build${libdir} && \ + mkdir -p build/opt/intel/dldt/inference-engine/src && \ + cp -r dldt/inference-engine/src/* build/opt/intel/dldt/inference-engine/src/ && \ + mkdir -p build/opt/intel/dldt/inference-engine/share && \ + cp -r dldt/inference-engine/build/share/* build/opt/intel/dldt/inference-engine/share/ && \ + mkdir -p build/opt/intel/dldt/inference-engine/external/omp/lib && \ + cp -r dldt/inference-engine/temp/omp/lib/* build/opt/intel/dldt/inference-engine/external/omp/lib/ + +RUN for p in /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inference-engine; do \ + mkdir -p "${libdir}/pkgconfig" && \ + pc="${libdir}/pkgconfig/dldt.pc" && \ + echo "prefix=/opt" > "$pc" && \ + echo "libdir=${libdir}" >> "$pc" && \ + echo "includedir=/opt/intel/dldt/inference-engine/include" >> "$pc" && \ + echo "" >> "$pc" && \ + echo "Name: DLDT" >> "$pc" && \ + echo "Description: Intel Deep Learning Deployment Toolkit" >> "$pc" && \ + echo "Version: 5.0" >> "$pc" && \ + echo "" >> "$pc" && \ + echo "Libs: -L\${libdir} -linference_engine -linference_engine_c_wrapper" >> "$pc" && \ echo "Cflags: -I\${includedir}" >> "$pc"; \ done; +ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share +ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} + +#install Model Optimizer in the DLDT for Dev +ARG PYTHON_TRUSTED_HOST +ARG PYTHON_TRUSTED_INDEX_URL +#install MO dependencies +RUN DEBIAN_FRONTEND=noninteractive apt-get install -y -q --no-install-recommends python3-dev python3-pip python3-setuptools python3-wheel +#RUN pip3 install numpy scipy +RUN git clone https://github.com/google/protobuf.git && \ + cd protobuf && \ + git submodule update --init --recursive && \ + ./autogen.sh && \ + ./configure && \ + make && \ + make install && \ + make install DESTDIR=/home/build +#RUN apt-get update && apt-get install -y sudo +#installing dependency libs to mo_libs directory to avoid issues with updates to Python version +RUN cd dldt/model-optimizer && \ +if [ "x$PYTHON_TRUSTED_HOST" = "x" ] ; \ +then pip3 install --target=/home/build/mo_libs -r requirements.txt && \ +pip3 install -r requirements.txt; \ +else pip3 install --target=/home/build/mo_libs -r requirements.txt -i $PYTHON_TRUSTED_INDEX_URL --trusted-host $PYTHON_TRUSTED_HOST && \ +pip3 install -r requirements.txt -i $PYTHON_TRUSTED_INDEX_URL --trusted-host $PYTHON_TRUSTED_HOST; \ +fi + +#Copy over Model Optimizer to same directory as Inference Engine +RUN cp -r dldt/model-optimizer /opt/intel/dldt/model-optimizer +RUN cp -r dldt/model-optimizer /home/build/opt/intel/dldt/model-optimizer + + + + # Build the gstremaer core ARG GST_VER=1.14.4 ARG GST_REPO=https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${GST_VER}.tar.xz -RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libglib2.0-dev autopoint gtk-doc-tools +RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libglib2.0-dev gobject-introspection libgirepository1.0-dev libpango-1.0-0 libpangocairo-1.0-0 autopoint RUN wget -O - ${GST_REPO} | tar xJ && \ cd gstreamer-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib/x86_64-linux-gnu \ + --libexecdir=/usr/lib/x86_64-linux-gnu \ + --enable-shared \ + --disable-examples \ + --disable-gtk-doc && \ + make -j $(nproc) && \ + make install DESTDIR=/home/build && \ + make install; + +# Build the gstremaer plugin bad set +ARG GST_ORC_VER=0.4.28 +ARG GST_ORC_REPO=https://gstreamer.freedesktop.org/src/orc/orc-${GST_ORC_VER}.tar.xz + +RUN wget -O - ${GST_ORC_REPO} | tar xJ && \ + cd orc-${GST_ORC_VER} && \ + ./autogen.sh --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu \ + --libexecdir=/usr/lib/x86_64-linux-gnu \ + --enable-shared \ + --disable-examples \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin base ARG GST_PLUGIN_BASE_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-${GST_VER}.tar.xz +RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libxv-dev libvisual-0.4-dev libtheora-dev libglib2.0-dev libasound2-dev libcdparanoia-dev libgl1-mesa-dev libpango1.0-dev + RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ && \ cd gst-plugins-base-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib/x86_64-linux-gnu \ + --libexecdir=/usr/lib/x86_64-linux-gnu \ + --enable-shared \ + --disable-examples \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install @@ -303,33 +437,53 @@ RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ && \ # Build the gstremaer plugin good set ARG GST_PLUGIN_GOOD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-${GST_VER}.tar.xz +RUN apt-get update && apt-get install -y -q --no-install-recommends libsoup2.4-dev libjpeg-dev + RUN wget -O - ${GST_PLUGIN_GOOD_REPO} | tar xJ && \ cd gst-plugins-good-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib/x86_64-linux-gnu \ + --libexecdir=/usr/lib/x86_64-linux-gnu \ + --enable-shared \ + --disable-examples \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install + # Build the gstremaer plugin bad set ARG GST_PLUGIN_BAD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-${GST_VER}.tar.xz +RUN apt-get update && apt-get install -y -q --no-install-recommends libssl-dev + RUN wget -O - ${GST_PLUGIN_BAD_REPO} | tar xJ && \ cd gst-plugins-bad-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib/x86_64-linux-gnu \ + --libexecdir=/usr/lib/x86_64-linux-gnu \ + --enable-shared \ + --disable-examples \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin ugly set ARG GST_PLUGIN_UGLY_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ && \ - cd gst-plugins-ugly-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples && \ - make -j8 && \ +RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ; \ + cd gst-plugins-ugly-${GST_VER}; \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib/x86_64-linux-gnu \ + --libexecdir=/usr/lib/x86_64-linux-gnu \ + --enable-shared \ + --disable-examples \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install @@ -340,26 +494,94 @@ RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no- RUN wget -O - ${GST_PLUGIN_LIBAV_REPO} | tar xJ && \ cd gst-libav-${GST_VER} && \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared --enable-gpl && \ - make -j8 && \ - make install DESTDIR="/home/build" - + ./autogen.sh \ + --prefix="/usr" \ + --libdir=/usr/lib/x86_64-linux-gnu \ + --enable-shared \ + --enable-gpl \ + --disable-gtk-doc && \ + make -j $(nproc) && \ + make install DESTDIR=/home/build && \ + make install # Build gstremaer plugin vaapi -ARG GST_PLUGIN_VAAPI_REPO=https://gstreamer.freedesktop.org/src/gstreamer-vaapi//gstreamer-vaapi-${GST_VER}.tar.xz +ARG GST_PLUGIN_VAAPI_REPO=https://gstreamer.freedesktop.org/src/gstreamer-vaapi/gstreamer-vaapi-${GST_VER}.tar.xz + +# https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/merge_requests/45 +ARG GST_PLUGIN_VAAPI_REPO_DISPLAY_LOCK_PATCH_HASH=b219f6095f3014041896714dd88e7d90ee3d72dd +ARG GST_PLUGIN_VAAPI_REPO_GIT=https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi.git -RUN apt-get update && apt-get install -y -q --no-install-recommends libxrandr-dev +RUN apt-get update && apt-get install -y -q --no-install-recommends libxrandr-dev libegl1-mesa-dev autopoint bison flex libudev-dev +#RUN git clone https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi.git -b 1.14 --depth 10 && \ +# cd gstreamer-vaapi && git reset --hard ${GST_PLUGIN_VAAPI_REPO_DISPLAY_LOCK_PATCH_HASH} && \ RUN wget -O - ${GST_PLUGIN_VAAPI_REPO} | tar xJ && \ cd gstreamer-vaapi-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib/x86_64-linux-gnu \ + --libexecdir=/usr/lib/x86_64-linux-gnu \ + --enable-shared \ + --disable-examples \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install +ARG OPENCV_VER=4.0.0 +ARG OPENCV_REPO=https://github.com/opencv/opencv/archive/${OPENCV_VER}.tar.gz + +RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev python-dev python-numpy + +RUN wget ${OPENCV_REPO} && \ + tar -zxvf ${OPENCV_VER}.tar.gz && \ + cd opencv-${OPENCV_VER} && \ + mkdir build && \ + cd build && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -D BUILD_EXAMPLES=OFF -D BUILD_PERF_TESTS=OFF -D BUILD_DOCS=OFF -D BUILD_TESTS=OFF .. && \ + make -j $(nproc) && \ + make install DESTDIR=/home/build && \ + make install + +RUN apt-get install -y -q --no-install-recommends gtk-doc-tools + + + + +ARG PAHO_VER=1.3.0 +ARG PAHO_REPO=https://github.com/eclipse/paho.mqtt.c/archive/v${PAHO_VER}.tar.gz +RUN wget -O - https://github.com/eclipse/paho.mqtt.c/archive/v${PAHO_VER}.tar.gz | tar -xz; \ + cd paho.mqtt.c-${PAHO_VER}; \ + make; \ + make install; + +#Install va gstreamer plugins +#Has a dependency on OpenCV, GStreamer +ARG VA_GSTREAMER_PLUGINS_VER=0.3 +ARG VA_GSTREAMER_PLUGINS_REPO=https://github.com/opencv/gst-video-analytics/archive/v${VA_GSTREAMER_PLUGINS_VER}.tar.gz +RUN wget -O - ${VA_GSTREAMER_PLUGINS_REPO} | tar xz && \ + cd gst-video-analytics-${VA_GSTREAMER_PLUGINS_VER} && \ + mkdir build && \ + cd build && \ + export CFLAGS="-std=gnu99 -Wno-missing-field-initializers" && \ + export CXXFLAGS="-std=c++11 -Wno-missing-field-initializers" && \ + cmake \ + -DVERSION_PATCH=$(echo "$(git rev-list --count --first-parent HEAD)") \ + -DGIT_INFO=$(echo "git_$(git rev-parse --short HEAD)") \ + -DCMAKE_BUILD_TYPE=Release \ + -DDISABLE_SAMPLES=ON \ + -DDISABLE_VAAPI=ON \ + -DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX=/usr .. && \ + make -j4 +RUN mkdir -p build/usr/lib/x86_64-linux-gnu/gstreamer-1.0 && \ + cp -r gst-video-analytics-${VA_GSTREAMER_PLUGINS_VER}/build/intel64/Release/lib/* build/usr/lib/x86_64-linux-gnu/gstreamer-1.0 +RUN mkdir -p /usr/lib/x86_64-linux-gnu/gstreamer-1.0 && \ + cp -r gst-video-analytics-${VA_GSTREAMER_PLUGINS_VER}/build/intel64/Release/lib/* /usr/lib/x86_64-linux-gnu/gstreamer-1.0 + + + # Fetch FFmpeg source ARG FFMPEG_VER=n4.1 ARG FFMPEG_REPO=https://github.com/FFmpeg/FFmpeg/archive/${FFMPEG_VER}.tar.gz @@ -415,13 +637,22 @@ LABEL Vendor="Intel Corporation" WORKDIR /home # Prerequisites -RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libxv1 libxcb-shm0 libxcb-shape0 libxcb-xfixes0 libsdl2-2.0-0 libasound2 libvdpau1 libnuma1 libass5 libssl1.0.0 libglib2.0 libdrm-intel1 libx11-xcb1 libgl1-mesa-glx libxrandr2 libpng12-0 libxv1 ; \ +RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libxv1 libxcb-shm0 libxcb-shape0 libxcb-xfixes0 libsdl2-2.0-0 libasound2 libvdpau1 libnuma1 libass5 libssl1.0.0 libglib2.0 libpango-1.0-0 libpangocairo-1.0-0 libdrm-intel1 libudev1 libx11-xcb1 libgl1-mesa-glx libxrandr2 libegl1-mesa libglib2.0-0 libpng12-0 libxv1 libvisual-0.4-0 libgl1-mesa-glx libpango-1.0-0 libtheora0 libcdparanoia0 libasound2 libsoup2.4-1 libjpeg8 libjpeg-turbo8 python3 libgtk2.0 libdrm2 libxv1 \ +; \ rm -rf /var/lib/apt/lists/*; # Install COPY --from=build /home/build / ENV LIBVA_DRIVERS_PATH=/usr/lib/x86_64-linux-gnu/dri ENV LIBVA_DRIVER_NAME=iHD +RUN apt-get update && apt-get install -y clinfo ENV GST_VAAPI_ALL_DRIVERS=1 ENV DISPLAY=:0.0 +ARG libdir=/opt/intel/dldt/inference-engine/lib/ubuntu_16.04/intel64 +ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share +ENV PYTHONPATH=${PYTHONPATH}:/mo_libs +ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/x86_64-linux-gnu/gstreamer-1.0 +ENV PKG_CONFIG_PATH=/usr/lib/x86_64-linux-gnu/pkgconfig +ENV LIBRARY_PATH=${LIBRARY_PATH}:/usr/lib +ENV PATH=${PATH}:/usr/bin diff --git a/XeonE3/ubuntu-16.04/ffmpeg+gst+dev/Dockerfile.m4 b/XeonE3/ubuntu-16.04/ffmpeg+gst+dev/Dockerfile.m4 index c1ca3ff94..9a30030ef 100644 --- a/XeonE3/ubuntu-16.04/ffmpeg+gst+dev/Dockerfile.m4 +++ b/XeonE3/ubuntu-16.04/ffmpeg+gst+dev/Dockerfile.m4 @@ -18,17 +18,23 @@ include(svt-av1.m4) include(svt-vp9.m4) #include(transform360.m4) include(gmmlib.m4) +include(libdrm.m4) include(libva.m4) +include(libva-utils.m4) include(media-driver.m4) include(media-sdk.m4) +include(opencl.m4) include(dldt-ie.m4) include(gst.m4) +include(gst-orc.m4) include(gst-plugin-base.m4) include(gst-plugin-good.m4) include(gst-plugin-bad.m4) include(gst-plugin-ugly.m4) include(gst-plugin-libav.m4) include(gst-plugin-vaapi.m4) +include(opencv.m4) +include(gstreamer-videoanalytics.m4) include(ffmpeg.m4) include(cleanup.m4)dnl diff --git a/XeonE3/ubuntu-16.04/ffmpeg/Dockerfile b/XeonE3/ubuntu-16.04/ffmpeg/Dockerfile index d584a7184..607bc986d 100644 --- a/XeonE3/ubuntu-16.04/ffmpeg/Dockerfile +++ b/XeonE3/ubuntu-16.04/ffmpeg/Dockerfile @@ -3,7 +3,7 @@ FROM ubuntu:16.04 AS build WORKDIR /home # COMMON BUILD TOOLS -RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends build-essential autoconf automake make git wget pciutils cpio libtool lsb-release ca-certificates pkg-config bison flex +RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends build-essential autoconf make git wget pciutils cpio libtool lsb-release ca-certificates pkg-config bison flex # Install cmake ARG CMAKE_VER=3.13.1 @@ -14,6 +14,11 @@ RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz make -j8 && \ make install +# Install automake, use version 1.14 on CentOS +ARG AUTOMAKE_VER=1.14 +ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz + RUN apt-get install -y -q automake + # Build NASM ARG NASM_VER=2.13.03 ARG NASM_REPO=https://www.nasm.us/pub/nasm/releasebuilds/${NASM_VER}/nasm-${NASM_VER}.tar.bz2 @@ -194,10 +199,12 @@ RUN wget -O - ${GMMLIB_REPO} | tar xz && mv gmmlib-${GMMLIB_VER} gmmlib; # Build libva -ARG LIBVA_VER=2.3.0 +ARG LIBVA_VER=2.4.0 ARG LIBVA_REPO=https://github.com/intel/libva/archive/${LIBVA_VER}.tar.gz -RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libdrm-dev libx11-dev xorg-dev libgl1-mesa-dev +RUN apt-get remove libva* + +RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libdrm-dev libx11-dev xorg-dev libgl1-mesa-dev openbox RUN wget -O - ${LIBVA_REPO} | tar xz && \ cd libva-${LIBVA_VER} && \ diff --git a/XeonE3/ubuntu-16.04/gst/Dockerfile b/XeonE3/ubuntu-16.04/gst/Dockerfile index 2e11ddac2..3ed79d98a 100644 --- a/XeonE3/ubuntu-16.04/gst/Dockerfile +++ b/XeonE3/ubuntu-16.04/gst/Dockerfile @@ -3,7 +3,7 @@ FROM ubuntu:16.04 AS build WORKDIR /home # COMMON BUILD TOOLS -RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends build-essential autoconf automake make git wget pciutils cpio libtool lsb-release ca-certificates pkg-config bison flex +RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends build-essential autoconf make git wget pciutils cpio libtool lsb-release ca-certificates pkg-config bison flex # Install cmake ARG CMAKE_VER=3.13.1 @@ -14,6 +14,11 @@ RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz make -j8 && \ make install +# Install automake, use version 1.14 on CentOS +ARG AUTOMAKE_VER=1.14 +ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz + RUN apt-get install -y -q automake + # Build NASM ARG NASM_VER=2.13.03 ARG NASM_REPO=https://www.nasm.us/pub/nasm/releasebuilds/${NASM_VER}/nasm-${NASM_VER}.tar.bz2 @@ -193,10 +198,12 @@ RUN wget -O - ${GMMLIB_REPO} | tar xz && mv gmmlib-${GMMLIB_VER} gmmlib; # Build libva -ARG LIBVA_VER=2.3.0 +ARG LIBVA_VER=2.4.0 ARG LIBVA_REPO=https://github.com/intel/libva/archive/${LIBVA_VER}.tar.gz -RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libdrm-dev libx11-dev xorg-dev libgl1-mesa-dev +RUN apt-get remove libva* + +RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libdrm-dev libx11-dev xorg-dev libgl1-mesa-dev openbox RUN wget -O - ${LIBVA_REPO} | tar xz && \ cd libva-${LIBVA_VER} && \ @@ -226,23 +233,37 @@ RUN wget -O - ${MEDIA_DRIVER_REPO} | tar xz && mv media-driver-${MEDIA_DRIVER_VE ARG GST_VER=1.14.4 ARG GST_REPO=https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${GST_VER}.tar.xz -RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libglib2.0-dev autopoint gtk-doc-tools +RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libglib2.0-dev gobject-introspection libgirepository1.0-dev libpango-1.0-0 libpangocairo-1.0-0 autopoint RUN wget -O - ${GST_REPO} | tar xJ && \ cd gstreamer-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-gst-debug --disable-debug --disable-benchmarks --disable-check && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib/x86_64-linux-gnu \ + --libexecdir=/usr/lib/x86_64-linux-gnu \ + --enable-shared \ + --disable-examples --disable-gst-debug \ + --disable-debug \ + --disable-benchmarks \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ - make install + make install; # Build the gstremaer plugin base ARG GST_PLUGIN_BASE_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-${GST_VER}.tar.xz +RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libxv-dev libvisual-0.4-dev libtheora-dev libglib2.0-dev libasound2-dev libcdparanoia-dev libgl1-mesa-dev libpango1.0-dev + RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ && \ cd gst-plugins-base-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-debug && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib/x86_64-linux-gnu \ + --libexecdir=/usr/lib/x86_64-linux-gnu \ + --enable-shared \ + --disable-examples --disable-debug \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install @@ -250,33 +271,53 @@ RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ && \ # Build the gstremaer plugin good set ARG GST_PLUGIN_GOOD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-${GST_VER}.tar.xz +RUN apt-get update && apt-get install -y -q --no-install-recommends libsoup2.4-dev libjpeg-dev + RUN wget -O - ${GST_PLUGIN_GOOD_REPO} | tar xJ && \ cd gst-plugins-good-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-debug && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib/x86_64-linux-gnu \ + --libexecdir=/usr/lib/x86_64-linux-gnu \ + --enable-shared \ + --disable-examples --disable-debug \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install + # Build the gstremaer plugin bad set ARG GST_PLUGIN_BAD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-${GST_VER}.tar.xz +RUN apt-get update && apt-get install -y -q --no-install-recommends libssl-dev + RUN wget -O - ${GST_PLUGIN_BAD_REPO} | tar xJ && \ cd gst-plugins-bad-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-debug && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib/x86_64-linux-gnu \ + --libexecdir=/usr/lib/x86_64-linux-gnu \ + --enable-shared \ + --disable-examples --disable-debug \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin ugly set ARG GST_PLUGIN_UGLY_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ && \ - cd gst-plugins-ugly-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-debug && \ - make -j8 && \ +RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ; \ + cd gst-plugins-ugly-${GST_VER}; \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib/x86_64-linux-gnu \ + --libexecdir=/usr/lib/x86_64-linux-gnu \ + --enable-shared \ + --disable-examples --disable-debug \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install @@ -287,22 +328,38 @@ RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no- RUN wget -O - ${GST_PLUGIN_LIBAV_REPO} | tar xJ && \ cd gst-libav-${GST_VER} && \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared --enable-gpl && \ - make -j8 && \ - make install DESTDIR="/home/build" - + ./autogen.sh \ + --prefix="/usr" \ + --libdir=/usr/lib/x86_64-linux-gnu \ + --enable-shared \ + --enable-gpl \ + --disable-gtk-doc && \ + make -j $(nproc) && \ + make install DESTDIR=/home/build && \ + make install # Build gstremaer plugin vaapi -ARG GST_PLUGIN_VAAPI_REPO=https://gstreamer.freedesktop.org/src/gstreamer-vaapi//gstreamer-vaapi-${GST_VER}.tar.xz +ARG GST_PLUGIN_VAAPI_REPO=https://gstreamer.freedesktop.org/src/gstreamer-vaapi/gstreamer-vaapi-${GST_VER}.tar.xz -RUN apt-get update && apt-get install -y -q --no-install-recommends libxrandr-dev +# https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/merge_requests/45 +ARG GST_PLUGIN_VAAPI_REPO_DISPLAY_LOCK_PATCH_HASH=b219f6095f3014041896714dd88e7d90ee3d72dd +ARG GST_PLUGIN_VAAPI_REPO_GIT=https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi.git +RUN apt-get update && apt-get install -y -q --no-install-recommends libxrandr-dev libegl1-mesa-dev autopoint bison flex libudev-dev + +#RUN git clone https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi.git -b 1.14 --depth 10 && \ +# cd gstreamer-vaapi && git reset --hard ${GST_PLUGIN_VAAPI_REPO_DISPLAY_LOCK_PATCH_HASH} && \ RUN wget -O - ${GST_PLUGIN_VAAPI_REPO} | tar xJ && \ cd gstreamer-vaapi-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-debug && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib/x86_64-linux-gnu \ + --libexecdir=/usr/lib/x86_64-linux-gnu \ + --enable-shared \ + --disable-examples \ + --disable-gtk-doc --disable-debug && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install @@ -320,7 +377,7 @@ LABEL Vendor="Intel Corporation" WORKDIR /home # Prerequisites -RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libnuma1 libssl1.0.0 libglib2.0 libdrm-intel1 libx11-xcb1 libgl1-mesa-glx libxrandr2 libpng12-0 libxv1 ; \ +RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libnuma1 libssl1.0.0 libglib2.0 libpango-1.0-0 libpangocairo-1.0-0 libdrm-intel1 libudev1 libx11-xcb1 libgl1-mesa-glx libxrandr2 libegl1-mesa libglib2.0-0 libpng12-0 libxv1 libvisual-0.4-0 libgl1-mesa-glx libpango-1.0-0 libtheora0 libcdparanoia0 libasound2 libsoup2.4-1 libjpeg8 libjpeg-turbo8 ; \ rm -rf /var/lib/apt/lists/*; # Install diff --git a/XeonE3/ubuntu-16.04/nginx+rtmp/Dockerfile b/XeonE3/ubuntu-16.04/nginx+rtmp/Dockerfile index cca7b6c1b..fbd46f079 100644 --- a/XeonE3/ubuntu-16.04/nginx+rtmp/Dockerfile +++ b/XeonE3/ubuntu-16.04/nginx+rtmp/Dockerfile @@ -3,7 +3,7 @@ FROM ubuntu:16.04 AS build WORKDIR /home # COMMON BUILD TOOLS -RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends build-essential autoconf automake make git wget pciutils cpio libtool lsb-release ca-certificates pkg-config bison flex +RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends build-essential autoconf make git wget pciutils cpio libtool lsb-release ca-certificates pkg-config bison flex # Install cmake ARG CMAKE_VER=3.13.1 @@ -14,6 +14,11 @@ RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz make -j8 && \ make install +# Install automake, use version 1.14 on CentOS +ARG AUTOMAKE_VER=1.14 +ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz + RUN apt-get install -y -q automake + # Build nginx-rtmp ARG NGINX_RTMP_VER=v1.2.1 diff --git a/XeonE3/ubuntu-18.04/dldt+gst/CMakeLists.txt b/XeonE3/ubuntu-18.04/dldt+gst/CMakeLists.txt new file mode 100644 index 000000000..f4e4b40cc --- /dev/null +++ b/XeonE3/ubuntu-18.04/dldt+gst/CMakeLists.txt @@ -0,0 +1,3 @@ +set(image "xeonE3_dldt_gst_ubuntu1804") +include("${CMAKE_SOURCE_DIR}/script/image.cmake") +include("${CMAKE_SOURCE_DIR}/script/gst-tests.cmake") diff --git a/XeonE3/ubuntu-18.04/dldt+gst/Dockerfile b/XeonE3/ubuntu-18.04/dldt+gst/Dockerfile new file mode 100644 index 000000000..e3393bcf5 --- /dev/null +++ b/XeonE3/ubuntu-18.04/dldt+gst/Dockerfile @@ -0,0 +1,595 @@ + +FROM ubuntu:18.04 AS build +WORKDIR /home + +# COMMON BUILD TOOLS +RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends build-essential autoconf make git wget pciutils cpio libtool lsb-release ca-certificates pkg-config bison flex + +# Install cmake +ARG CMAKE_VER=3.13.1 +ARG CMAKE_REPO=https://cmake.org/files +RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz && \ + cd cmake-${CMAKE_VER} && \ + ./bootstrap --prefix="/usr" && \ + make -j8 && \ + make install + +# Install automake, use version 1.14 on CentOS +ARG AUTOMAKE_VER=1.14 +ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz + RUN apt-get install -y -q automake + +# Build NASM +ARG NASM_VER=2.13.03 +ARG NASM_REPO=https://www.nasm.us/pub/nasm/releasebuilds/${NASM_VER}/nasm-${NASM_VER}.tar.bz2 +RUN wget ${NASM_REPO} && \ + tar -xaf nasm* && \ + cd nasm-${NASM_VER} && \ + ./autogen.sh && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu && \ + make -j8 && \ + make install + +# Build YASM +ARG YASM_VER=1.3.0 +ARG YASM_REPO=https://www.tortall.net/projects/yasm/releases/yasm-${YASM_VER}.tar.gz +RUN wget -O - ${YASM_REPO} | tar xz && \ + cd yasm-${YASM_VER} && \ + sed -i "s/) ytasm.*/)/" Makefile.in && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu && \ + make -j8 && \ + make install + +# Build ogg +ARG OGG_VER=1.3.3 +ARG OGG_REPO=https://downloads.xiph.org/releases/ogg/libogg-${OGG_VER}.tar.xz + +RUN wget -O - ${OGG_REPO} | tar xJ && \ + cd libogg-${OGG_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ + make install + +# Build vorbis +ARG VORBIS_VER=1.3.6 +ARG VORBIS_REPO=https://downloads.xiph.org/releases/vorbis/libvorbis-${VORBIS_VER}.tar.xz + +RUN wget -O - ${VORBIS_REPO} | tar xJ && \ + cd libvorbis-${VORBIS_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ + make install + +# Build mp3lame +ARG MP3LAME_VER=3.100 +ARG MP3LAME_REPO=https://sourceforge.net/projects/lame/files/lame/${MP3LAME_VER}/lame-${MP3LAME_VER}.tar.gz + +RUN wget -O - ${MP3LAME_REPO} | tar xz && \ + cd lame-${MP3LAME_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared --enable-nasm && \ + make -j8 && \ + make install DESTDIR=/home/build && \ + make install + +# Build fdk-aac +ARG FDK_AAC_VER=v0.1.6 +ARG FDK_AAC_REPO=https://github.com/mstorsjo/fdk-aac/archive/${FDK_AAC_VER}.tar.gz + +RUN wget -O - ${FDK_AAC_REPO} | tar xz && mv fdk-aac-${FDK_AAC_VER#v} fdk-aac && \ + cd fdk-aac && \ + autoreconf -fiv && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ + make install + + +# Build opus +ARG OPUS_VER=1.2.1 +ARG OPUS_REPO=https://archive.mozilla.org/pub/opus/opus-${OPUS_VER}.tar.gz + +RUN wget -O - ${OPUS_REPO} | tar xz && \ + cd opus-${OPUS_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared && \ + make -j8 && \ + make install DESTDIR=/home/build && \ + make install + +# Build vpx +ARG VPX_VER=tags/v1.7.0 +ARG VPX_REPO=https://chromium.googlesource.com/webm/libvpx.git + +RUN git clone ${VPX_REPO} && \ + cd libvpx && \ + git checkout ${VPX_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=nasm && \ + make -j8 && \ + make install DESTDIR=/home/build && \ + make install + + +# Build AOM +ARG AOM_VER=b6f1767eedbaddeb1ff5aa409a710ef61078640e +ARG AOM_REPO=https://aomedia.googlesource.com/aom + +RUN git clone ${AOM_REPO} && \ + mkdir aom/aom_build && \ + cd aom/aom_build && \ + git checkout ${AOM_VER} && \ + cmake -DBUILD_SHARED_LIBS=ON -DENABLE_NASM=ON -DENABLE_TESTS=OFF -DENABLE_DOCS=OFF -DCMAKE_INSTALL_PREFIX="/usr" -DLIB_INSTALL_DIR=/usr/lib/x86_64-linux-gnu .. && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ + make install + +# Build x264 +ARG X264_VER=stable +ARG X264_REPO=https://github.com/mirror/x264 + +RUN git clone ${X264_REPO} && \ + cd x264 && \ + git checkout ${X264_VER} && \ + ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ + make install + + +# Build x265 +ARG X265_VER=2.9 +ARG X265_REPO=https://github.com/videolan/x265/archive/${X265_VER}.tar.gz + +RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libnuma-dev + +RUN wget -O - ${X265_REPO} | tar xz && mv x265-${X265_VER} x265 && \ + cd x265/build/linux && \ + cmake -DBUILD_SHARED_LIBS=ON -DENABLE_TESTS=OFF -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_DIR=/usr/lib/x86_64-linux-gnu ../../source && \ + make -j8 && \ + make install DESTDIR="/home/build" && \ + make install + +# Fetch SVT-HEVC +ARG SVT_HEVC_VER=252ff3d18bc1997a5af989ad4e67e025c93dbf68 +ARG SVT_HEVC_REPO=https://github.com/intel/SVT-HEVC + +RUN git clone ${SVT_HEVC_REPO} && \ + cd SVT-HEVC/Build/linux && \ + git checkout ${SVT_HEVC_VER} && \ + mkdir -p ../../Bin/Release && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ + make install + + +# Fetch SVT-AV1 +ARG SVT_AV1_VER=39aad81274a04053e2678ec7ec39cf6584bced66 +ARG SVT_AV1_REPO=https://github.com/OpenVisualCloud/SVT-AV1 + +RUN git clone ${SVT_AV1_REPO} && \ + cd SVT-AV1/Build/linux && \ + git checkout ${SVT_AV1_VER} && \ + mkdir -p ../../Bin/Release && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ + make install + + +# Fetch SVT-VP9 +ARG SVT_VP9_VER=e92a57c +ARG SVT_VP9_REPO=https://github.com/OpenVisualCloud/SVT-VP9 + +RUN git clone ${SVT_VP9_REPO} && \ + cd SVT-VP9/Build/linux && \ + git checkout ${SVT_VP9_VER} && \ + mkdir -p ../../Bin/Release && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu -DCMAKE_ASM_NASM_COMPILER=yasm ../.. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ + make install + +# Fetch gmmlib +ARG GMMLIB_VER=intel-gmmlib-18.3.0 +ARG GMMLIB_REPO=https://github.com/intel/gmmlib/archive/${GMMLIB_VER}.tar.gz + +RUN wget -O - ${GMMLIB_REPO} | tar xz && mv gmmlib-${GMMLIB_VER} gmmlib; + + +# Build libdrm +ARG LIBDRM_VER=2.4.96 +ARG LIBDRM_REPO=https://dri.freedesktop.org/libdrm/libdrm-${LIBDRM_VER}.tar.gz + +RUN apt-get update && apt-get install -y -q --no-install-recommends libpciaccess-dev + +RUN wget -O - ${LIBDRM_REPO} | tar xz && \ + cd libdrm-${LIBDRM_VER} && \ + ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu && \ + make -j8 && \ + make install DESTDIR=/home/build && \ + make install ; + + +# Build libva +ARG LIBVA_VER=2.4.0 +ARG LIBVA_REPO=https://github.com/intel/libva/archive/${LIBVA_VER}.tar.gz + +RUN apt-get remove libva* + +RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libdrm-dev libx11-dev xorg-dev libgl1-mesa-dev openbox + +RUN wget -O - ${LIBVA_REPO} | tar xz && \ + cd libva-${LIBVA_VER} && \ + ./autogen.sh --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu && \ + make -j8 && \ + make install DESTDIR=/home/build && \ + make install; + + +# Build libva-utils +ARG LIBVA_UTILS_VER=2.4.0 +ARG LIBVA_UTILS_REPO=https://github.com/intel/libva-utils/archive/${LIBVA_UTILS_VER}.tar.gz + +RUN wget -O - ${LIBVA_UTILS_REPO} | tar xz; \ + cd libva-utils-${LIBVA_UTILS_VER}; \ + ./autogen.sh --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu; \ + make -j8; \ + make install DESTDIR=/home/build; \ + make install; + + +# Build media driver +ARG MEDIA_DRIVER_VER=intel-media-kbl-19.1.0 +ARG MEDIA_DRIVER_REPO=https://github.com/VCDP/media-driver/archive/${MEDIA_DRIVER_VER}.tar.gz + +RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libdrm-dev libpciaccess-dev libx11-dev xorg-dev libgl1-mesa-dev + +RUN wget -O - ${MEDIA_DRIVER_REPO} | tar xz && mv media-driver-${MEDIA_DRIVER_VER} media-driver && \ + mkdir -p media-driver/build && \ + cd media-driver/build && \ + cmake -DBUILD_TYPE=release -DBUILD_ALONG_WITH_CMRTLIB=1 -DMEDIA_VERSION="2.0.0" -DBS_DIR_GMMLIB=/home/gmmlib/Source/GmmLib -DBS_DIR_COMMON=/home/gmmlib/Source/Common -DBS_DIR_INC=/home/gmmlib/Source/inc -DBS_DIR_MEDIA=/home/media-driver -Wno-dev -DCMAKE_INSTALL_PREFIX=/usr .. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ + make install + + + +# Build Intel(R) Media SDK +ARG MSDK_VER=MSS-KBL-2019-R1 +ARG MSDK_REPO=https://github.com/Intel-Media-SDK/MediaSDK/archive/${MSDK_VER}.tar.gz + +RUN wget -O - ${MSDK_REPO} | tar xz && mv MediaSDK-${MSDK_VER} MediaSDK && \ + mkdir -p MediaSDK/build && \ + cd MediaSDK/build && \ + cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_INCLUDEDIR=include/mfx -DBUILD_SAMPLES=OFF -DENABLE_OPENCL=OFF -Wno-dev .. && \ + make -j8 && \ + make install DESTDIR=/home/build && \ + rm -rf /home/build/usr/samples && \ + rm -rf /home/build/usr/plugins && \ + make install; + +#install OpenCL + +RUN mkdir neo + +RUN cd neo && wget https://github.com/intel/compute-runtime/releases/download/19.01.12103/intel-gmmlib_18.4.0.348_amd64.deb +RUN cd neo && wget https://github.com/intel/compute-runtime/releases/download/19.01.12103/intel-igc-core_18.50.1270_amd64.deb +RUN cd neo && wget https://github.com/intel/compute-runtime/releases/download/19.01.12103/intel-igc-opencl_18.50.1270_amd64.deb +RUN cd neo && wget https://github.com/intel/compute-runtime/releases/download/19.01.12103/intel-opencl_19.01.12103_amd64.deb + +RUN cd neo && \ + dpkg -i *.deb && \ + dpkg-deb -x intel-gmmlib_18.4.0.348_amd64.deb /home/build/ && \ + dpkg-deb -x intel-igc-core_18.50.1270_amd64.deb /home/build/ && \ + dpkg-deb -x intel-igc-opencl_18.50.1270_amd64.deb /home/build/ && \ + dpkg-deb -x intel-opencl_19.01.12103_amd64.deb /home/build/ + + + +#clinfo needs to be installed after build directory is copied over + +# Build DLDT-Inference Engine +ARG DLDT_VER=2018_R5 +ARG DLDT_REPO=https://github.com/opencv/dldt.git +ARG DLDT_C_API_REPO=https://raw.githubusercontent.com/VCDP/FFmpeg-patch/master/thirdparty/0001-Add-inference-engine-C-API.patch + + +RUN git clone -b ${DLDT_VER} ${DLDT_REPO} && \ + cd dldt && \ + git submodule init && \ + git submodule update --recursive && \ + cd inference-engine && \ + wget -O - ${DLDT_C_API_REPO} | patch -p2 && \ + mkdir build && \ + cd build && \ + cmake -DCMAKE_INSTALL_PREFIX=/opt/intel/dldt -DLIB_INSTALL_PATH=/opt/intel/dldt -DENABLE_MKL_DNN=ON -DENABLE_CLDNN=ON -DENABLE_SAMPLE_CORE=OFF .. && \ + make -j $(nproc) && \ + rm -rf ../bin/intel64/Release/lib/libgtest* && \ + rm -rf ../bin/intel64/Release/lib/libgmock* && \ + rm -rf ../bin/intel64/Release/lib/libmock* && \ + rm -rf ../bin/intel64/Release/lib/libtest* + +ARG libdir=/opt/intel/dldt/inference-engine/lib/ubuntu_18.04/intel64 + #RUN find dldt/inference-engine/cmake/share/ -type f | xargs sed -i 's/16.04/18.04/g' + +RUN mkdir -p /opt/intel/dldt/inference-engine/include && \ + cp -r dldt/inference-engine/include/* /opt/intel/dldt/inference-engine/include && \ + mkdir -p ${libdir} && \ + cp -r dldt/inference-engine/bin/intel64/Release/lib/* ${libdir} && \ + mkdir -p /opt/intel/dldt/inference-engine/src && \ + cp -r dldt/inference-engine/src/* /opt/intel/dldt/inference-engine/src/ && \ + mkdir -p /opt/intel/dldt/inference-engine/share && \ + cp -r dldt/inference-engine/build/share/* /opt/intel/dldt/inference-engine/share/ && \ + mkdir -p /opt/intel/dldt/inference-engine/external/omp/lib && \ + cp -r dldt/inference-engine/temp/omp/lib/* /opt/intel/dldt/inference-engine/external/omp/lib/ + +RUN mkdir -p build/opt/intel/dldt/inference-engine/include && \ + cp -r dldt/inference-engine/include/* build/opt/intel/dldt/inference-engine/include && \ + mkdir -p build${libdir} && \ + cp -r dldt/inference-engine/bin/intel64/Release/lib/* build${libdir} && \ + mkdir -p build/opt/intel/dldt/inference-engine/src && \ + cp -r dldt/inference-engine/src/* build/opt/intel/dldt/inference-engine/src/ && \ + mkdir -p build/opt/intel/dldt/inference-engine/share && \ + cp -r dldt/inference-engine/build/share/* build/opt/intel/dldt/inference-engine/share/ && \ + mkdir -p build/opt/intel/dldt/inference-engine/external/omp/lib && \ + cp -r dldt/inference-engine/temp/omp/lib/* build/opt/intel/dldt/inference-engine/external/omp/lib/ + +RUN for p in /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inference-engine; do \ + mkdir -p "${libdir}/pkgconfig" && \ + pc="${libdir}/pkgconfig/dldt.pc" && \ + echo "prefix=/opt" > "$pc" && \ + echo "libdir=${libdir}" >> "$pc" && \ + echo "includedir=/opt/intel/dldt/inference-engine/include" >> "$pc" && \ + echo "" >> "$pc" && \ + echo "Name: DLDT" >> "$pc" && \ + echo "Description: Intel Deep Learning Deployment Toolkit" >> "$pc" && \ + echo "Version: 5.0" >> "$pc" && \ + echo "" >> "$pc" && \ + echo "Libs: -L\${libdir} -linference_engine -linference_engine_c_wrapper" >> "$pc" && \ + echo "Cflags: -I\${includedir}" >> "$pc"; \ + done; + +ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share +ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} + +#install Model Optimizer in the DLDT for Dev + + + + +# Build the gstremaer core +ARG GST_VER=1.14.4 +ARG GST_REPO=https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${GST_VER}.tar.xz + +RUN ln -sf /usr/share/zoneinfo/UTC /etc/localtime; \ + DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libglib2.0-dev gobject-introspection libgirepository1.0-dev libpango-1.0-0 libpangocairo-1.0-0 autopoint +RUN wget -O - ${GST_REPO} | tar xJ && \ + cd gstreamer-${GST_VER} && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib/x86_64-linux-gnu \ + --libexecdir=/usr/lib/x86_64-linux-gnu \ + --enable-shared \ + --disable-examples --disable-gst-debug \ + --disable-debug \ + --disable-benchmarks \ + --disable-gtk-doc && \ + make -j $(nproc) && \ + make install DESTDIR=/home/build && \ + make install; + +# Build the gstremaer plugin bad set +ARG GST_ORC_VER=0.4.28 +ARG GST_ORC_REPO=https://gstreamer.freedesktop.org/src/orc/orc-${GST_ORC_VER}.tar.xz + +RUN wget -O - ${GST_ORC_REPO} | tar xJ && \ + cd orc-${GST_ORC_VER} && \ + ./autogen.sh --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu \ + --libexecdir=/usr/lib/x86_64-linux-gnu \ + --enable-shared \ + --disable-examples --disable-debug \ + --disable-gtk-doc && \ + make -j $(nproc) && \ + make install DESTDIR=/home/build && \ + make install + +# Build the gstremaer plugin base +ARG GST_PLUGIN_BASE_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-${GST_VER}.tar.xz + +RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libxv-dev libvisual-0.4-dev libtheora-dev libglib2.0-dev libasound2-dev libcdparanoia-dev libgl1-mesa-dev libpango1.0-dev + +RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ && \ + cd gst-plugins-base-${GST_VER} && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib/x86_64-linux-gnu \ + --libexecdir=/usr/lib/x86_64-linux-gnu \ + --enable-shared \ + --disable-examples --disable-debug \ + --disable-gtk-doc && \ + make -j $(nproc) && \ + make install DESTDIR=/home/build && \ + make install + + +# Build the gstremaer plugin good set +ARG GST_PLUGIN_GOOD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-${GST_VER}.tar.xz + +RUN apt-get update && apt-get install -y -q --no-install-recommends libsoup2.4-dev libjpeg-dev + +RUN wget -O - ${GST_PLUGIN_GOOD_REPO} | tar xJ && \ + cd gst-plugins-good-${GST_VER} && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib/x86_64-linux-gnu \ + --libexecdir=/usr/lib/x86_64-linux-gnu \ + --enable-shared \ + --disable-examples --disable-debug \ + --disable-gtk-doc && \ + make -j $(nproc) && \ + make install DESTDIR=/home/build && \ + make install + + +# Build the gstremaer plugin bad set +ARG GST_PLUGIN_BAD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-${GST_VER}.tar.xz + +RUN apt-get update && apt-get install -y -q --no-install-recommends libssl-dev + +RUN wget -O - ${GST_PLUGIN_BAD_REPO} | tar xJ && \ + cd gst-plugins-bad-${GST_VER} && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib/x86_64-linux-gnu \ + --libexecdir=/usr/lib/x86_64-linux-gnu \ + --enable-shared \ + --disable-examples --disable-debug \ + --disable-gtk-doc && \ + make -j $(nproc) && \ + make install DESTDIR=/home/build && \ + make install + +# Build the gstremaer plugin ugly set +ARG GST_PLUGIN_UGLY_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-${GST_VER}.tar.xz + +RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ; \ + cd gst-plugins-ugly-${GST_VER}; \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib/x86_64-linux-gnu \ + --libexecdir=/usr/lib/x86_64-linux-gnu \ + --enable-shared \ + --disable-examples --disable-debug \ + --disable-gtk-doc && \ + make -j $(nproc) && \ + make install DESTDIR=/home/build && \ + make install + +# Build gst-libav +ARG GST_PLUGIN_LIBAV_REPO=https://gstreamer.freedesktop.org/src/gst-libav/gst-libav-${GST_VER}.tar.xz + +RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends zlib1g-dev libssl-dev + +RUN wget -O - ${GST_PLUGIN_LIBAV_REPO} | tar xJ && \ + cd gst-libav-${GST_VER} && \ + ./autogen.sh \ + --prefix="/usr" \ + --libdir=/usr/lib/x86_64-linux-gnu \ + --enable-shared \ + --enable-gpl \ + --disable-gtk-doc && \ + make -j $(nproc) && \ + make install DESTDIR=/home/build && \ + make install + + +# Build gstremaer plugin vaapi +ARG GST_PLUGIN_VAAPI_REPO=https://gstreamer.freedesktop.org/src/gstreamer-vaapi/gstreamer-vaapi-${GST_VER}.tar.xz + +# https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/merge_requests/45 +ARG GST_PLUGIN_VAAPI_REPO_DISPLAY_LOCK_PATCH_HASH=b219f6095f3014041896714dd88e7d90ee3d72dd +ARG GST_PLUGIN_VAAPI_REPO_GIT=https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi.git + +RUN apt-get update && apt-get install -y -q --no-install-recommends libxrandr-dev libegl1-mesa-dev autopoint bison flex libudev-dev + +#RUN git clone https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi.git -b 1.14 --depth 10 && \ +# cd gstreamer-vaapi && git reset --hard ${GST_PLUGIN_VAAPI_REPO_DISPLAY_LOCK_PATCH_HASH} && \ +RUN wget -O - ${GST_PLUGIN_VAAPI_REPO} | tar xJ && \ + cd gstreamer-vaapi-${GST_VER} && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib/x86_64-linux-gnu \ + --libexecdir=/usr/lib/x86_64-linux-gnu \ + --enable-shared \ + --disable-examples \ + --disable-gtk-doc --disable-debug && \ + make -j $(nproc) && \ + make install DESTDIR=/home/build && \ + make install + + +ARG OPENCV_VER=4.0.0 +ARG OPENCV_REPO=https://github.com/opencv/opencv/archive/${OPENCV_VER}.tar.gz + +RUN ln -sf /usr/share/zoneinfo/UTC /etc/localtime; + +RUN wget ${OPENCV_REPO} && \ + tar -zxvf ${OPENCV_VER}.tar.gz && \ + cd opencv-${OPENCV_VER} && \ + mkdir build && \ + cd build && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -D BUILD_EXAMPLES=OFF -D BUILD_PERF_TESTS=OFF -D BUILD_DOCS=OFF -D BUILD_TESTS=OFF .. && \ + make -j $(nproc) && \ + make install DESTDIR=/home/build && \ + make install + +RUN apt-get install -y -q --no-install-recommends gtk-doc-tools + + + + +ARG PAHO_VER=1.3.0 +ARG PAHO_REPO=https://github.com/eclipse/paho.mqtt.c/archive/v${PAHO_VER}.tar.gz +RUN wget -O - https://github.com/eclipse/paho.mqtt.c/archive/v${PAHO_VER}.tar.gz | tar -xz; \ + cd paho.mqtt.c-${PAHO_VER}; \ + make; \ + make install; + +#Install va gstreamer plugins +#Has a dependency on OpenCV, GStreamer +ARG VA_GSTREAMER_PLUGINS_VER=0.3 +ARG VA_GSTREAMER_PLUGINS_REPO=https://github.com/opencv/gst-video-analytics/archive/v${VA_GSTREAMER_PLUGINS_VER}.tar.gz +RUN wget -O - ${VA_GSTREAMER_PLUGINS_REPO} | tar xz && \ + cd gst-video-analytics-${VA_GSTREAMER_PLUGINS_VER} && \ + mkdir build && \ + cd build && \ + export CFLAGS="-std=gnu99 -Wno-missing-field-initializers" && \ + export CXXFLAGS="-std=c++11 -Wno-missing-field-initializers" && \ + cmake \ + -DVERSION_PATCH=$(echo "$(git rev-list --count --first-parent HEAD)") \ + -DGIT_INFO=$(echo "git_$(git rev-parse --short HEAD)") \ + -DCMAKE_BUILD_TYPE=Release \ + -DDISABLE_SAMPLES=ON \ + -DDISABLE_VAAPI=ON \ + -DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX=/usr .. && \ + make -j4 +RUN mkdir -p build/usr/lib/x86_64-linux-gnu/gstreamer-1.0 && \ + cp -r gst-video-analytics-${VA_GSTREAMER_PLUGINS_VER}/build/intel64/Release/lib/* build/usr/lib/x86_64-linux-gnu/gstreamer-1.0 +RUN mkdir -p /usr/lib/x86_64-linux-gnu/gstreamer-1.0 && \ + cp -r gst-video-analytics-${VA_GSTREAMER_PLUGINS_VER}/build/intel64/Release/lib/* /usr/lib/x86_64-linux-gnu/gstreamer-1.0 + + + +# Clean up after build +RUN rm -rf /home/build/usr/include && \ + rm -rf /home/build/usr/share/doc && \ + rm -rf /home/build/usr/share/gtk-doc && \ + rm -rf /home/build/usr/share/man && \ + find /home/build -name "*.a" -exec rm -f {} \; + +FROM ubuntu:18.04 +LABEL Description="This is the base image for GSTREAMER & DLDT Ubuntu 16.04 LTS" +LABEL Vendor="Intel Corporation" +WORKDIR /home + +# Prerequisites +RUN ln -sf /usr/share/zoneinfo/UTC /etc/localtime; \ + DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libnuma1 libssl1.1 libglib2.0 libpango-1.0-0 libpangocairo-1.0-0 libdrm-intel1 libudev1 libx11-xcb1 libgl1-mesa-glx libxrandr2 libegl1-mesa libglib2.0-0 libpng16-16 libxv1 libvisual-0.4-0 libgl1-mesa-glx libpango-1.0-0 libtheora0 libcdparanoia0 libasound2 libsoup2.4-1 libjpeg8 libjpeg-turbo8 python3 libgtk2.0 libdrm2 libxv1 libpugixml1v5 \ +; \ + rm -rf /var/lib/apt/lists/*; + +# Install +COPY --from=build /home/build / +ENV LIBVA_DRIVERS_PATH=/usr/lib/x86_64-linux-gnu/dri +ENV LIBVA_DRIVER_NAME=iHD +RUN apt-get update && apt-get install -y clinfo +ENV GST_VAAPI_ALL_DRIVERS=1 +ENV DISPLAY=:0.0 +ARG libdir=/opt/intel/dldt/inference-engine/lib/ubuntu_18.04/intel64 +ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share +ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/x86_64-linux-gnu/gstreamer-1.0 +ENV PKG_CONFIG_PATH=/usr/lib/x86_64-linux-gnu/pkgconfig +ENV LIBRARY_PATH=${LIBRARY_PATH}:/usr/lib +ENV PATH=${PATH}:/usr/bin + diff --git a/XeonE3/ubuntu-18.04/dldt+gst/Dockerfile.m4 b/XeonE3/ubuntu-18.04/dldt+gst/Dockerfile.m4 new file mode 100644 index 000000000..7c8fb0875 --- /dev/null +++ b/XeonE3/ubuntu-18.04/dldt+gst/Dockerfile.m4 @@ -0,0 +1,48 @@ + +FROM ubuntu:18.04 AS build +WORKDIR /home +define(`BUILD_LINKAGE',shared)dnl + +include(build-tools.m4) +include(libogg.m4) +include(libvorbis.m4) +include(libmp3lame.m4) +include(libfdk-aac.m4) +include(libopus.m4) +include(libvpx.m4) +include(libaom.m4) +include(libx264.m4) +include(libx265.m4) +include(svt-hevc.m4) +include(svt-av1.m4) +include(svt-vp9.m4) +include(gmmlib.m4) +include(libdrm.m4) +include(libva.m4) +include(libva-utils.m4) +include(media-driver.m4) +include(media-sdk.m4) +include(opencl.m4) +include(dldt-ie.m4) +include(gst.m4) +include(gst-orc.m4) +include(gst-plugin-base.m4) +include(gst-plugin-good.m4) +include(gst-plugin-bad.m4) +include(gst-plugin-ugly.m4) +include(gst-plugin-libav.m4) +include(gst-plugin-vaapi.m4) +include(opencv.m4) +include(gstreamer-videoanalytics.m4) +include(cleanup.m4)dnl + +FROM ubuntu:18.04 +LABEL Description="This is the base image for GSTREAMER & DLDT Ubuntu 16.04 LTS" +LABEL Vendor="Intel Corporation" +WORKDIR /home + +# Prerequisites +include(install.pkgs.m4) + +# Install +include(install.m4) diff --git a/XeonE3/ubuntu-18.04/dldt+gst/build.sh b/XeonE3/ubuntu-18.04/dldt+gst/build.sh new file mode 100755 index 000000000..917271bc1 --- /dev/null +++ b/XeonE3/ubuntu-18.04/dldt+gst/build.sh @@ -0,0 +1,7 @@ +#!/bin/bash -e + +IMAGE="xeone3-ubuntu1804-dldt-gst" +VERSION="1.0" +DIR=$(dirname $(readlink -f "$0")) + +. "${DIR}/../../../script/build.sh" diff --git a/XeonE3/ubuntu-18.04/dldt+gst/shell.sh b/XeonE3/ubuntu-18.04/dldt+gst/shell.sh new file mode 100755 index 000000000..3119a8563 --- /dev/null +++ b/XeonE3/ubuntu-18.04/dldt+gst/shell.sh @@ -0,0 +1,6 @@ +#!/bin/bash -e + +IMAGE="xeone3-ubuntu1804-dldt-gst" +DIR=$(dirname $(readlink -f "$0")) + +. "${DIR}/../../../script/shell.sh" diff --git a/XeonE3/ubuntu-18.04/ffmpeg+gst+dev/Dockerfile b/XeonE3/ubuntu-18.04/ffmpeg+gst+dev/Dockerfile index 50f53d81e..8a0818557 100644 --- a/XeonE3/ubuntu-18.04/ffmpeg+gst+dev/Dockerfile +++ b/XeonE3/ubuntu-18.04/ffmpeg+gst+dev/Dockerfile @@ -3,7 +3,7 @@ FROM ubuntu:18.04 AS build WORKDIR /home # COMMON BUILD TOOLS -RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends build-essential autoconf automake make git wget pciutils cpio libtool lsb-release ca-certificates pkg-config bison flex +RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends build-essential autoconf make git wget pciutils cpio libtool lsb-release ca-certificates pkg-config bison flex # Install cmake ARG CMAKE_VER=3.13.1 @@ -14,6 +14,11 @@ RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz make -j8 && \ make install +# Install automake, use version 1.14 on CentOS +ARG AUTOMAKE_VER=1.14 +ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz + RUN apt-get install -y -q automake + # Build NASM ARG NASM_VER=2.13.03 ARG NASM_REPO=https://www.nasm.us/pub/nasm/releasebuilds/${NASM_VER}/nasm-${NASM_VER}.tar.bz2 @@ -193,11 +198,27 @@ ARG GMMLIB_REPO=https://github.com/intel/gmmlib/archive/${GMMLIB_VER}.tar.gz RUN wget -O - ${GMMLIB_REPO} | tar xz && mv gmmlib-${GMMLIB_VER} gmmlib; +# Build libdrm +ARG LIBDRM_VER=2.4.96 +ARG LIBDRM_REPO=https://dri.freedesktop.org/libdrm/libdrm-${LIBDRM_VER}.tar.gz + +RUN apt-get update && apt-get install -y -q --no-install-recommends libpciaccess-dev + +RUN wget -O - ${LIBDRM_REPO} | tar xz && \ + cd libdrm-${LIBDRM_VER} && \ + ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu && \ + make -j8 && \ + make install DESTDIR=/home/build && \ + make install ; + + # Build libva -ARG LIBVA_VER=2.3.0 +ARG LIBVA_VER=2.4.0 ARG LIBVA_REPO=https://github.com/intel/libva/archive/${LIBVA_VER}.tar.gz -RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libdrm-dev libx11-dev xorg-dev libgl1-mesa-dev +RUN apt-get remove libva* + +RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libdrm-dev libx11-dev xorg-dev libgl1-mesa-dev openbox RUN wget -O - ${LIBVA_REPO} | tar xz && \ cd libva-${LIBVA_VER} && \ @@ -207,6 +228,18 @@ RUN wget -O - ${LIBVA_REPO} | tar xz && \ make install; +# Build libva-utils +ARG LIBVA_UTILS_VER=2.4.0 +ARG LIBVA_UTILS_REPO=https://github.com/intel/libva-utils/archive/${LIBVA_UTILS_VER}.tar.gz + +RUN wget -O - ${LIBVA_UTILS_REPO} | tar xz; \ + cd libva-utils-${LIBVA_UTILS_VER}; \ + ./autogen.sh --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu; \ + make -j8; \ + make install DESTDIR=/home/build; \ + make install; + + # Build media driver ARG MEDIA_DRIVER_VER=intel-media-kbl-19.1.0 ARG MEDIA_DRIVER_REPO=https://github.com/VCDP/media-driver/archive/${MEDIA_DRIVER_VER}.tar.gz @@ -235,6 +268,26 @@ RUN wget -O - ${MSDK_REPO} | tar xz && mv MediaSDK-${MSDK_VER} MediaSDK && \ make install DESTDIR=/home/build && \ make install; +#install OpenCL + +RUN mkdir neo + +RUN cd neo && wget https://github.com/intel/compute-runtime/releases/download/19.01.12103/intel-gmmlib_18.4.0.348_amd64.deb +RUN cd neo && wget https://github.com/intel/compute-runtime/releases/download/19.01.12103/intel-igc-core_18.50.1270_amd64.deb +RUN cd neo && wget https://github.com/intel/compute-runtime/releases/download/19.01.12103/intel-igc-opencl_18.50.1270_amd64.deb +RUN cd neo && wget https://github.com/intel/compute-runtime/releases/download/19.01.12103/intel-opencl_19.01.12103_amd64.deb + +RUN cd neo && \ + dpkg -i *.deb && \ + dpkg-deb -x intel-gmmlib_18.4.0.348_amd64.deb /home/build/ && \ + dpkg-deb -x intel-igc-core_18.50.1270_amd64.deb /home/build/ && \ + dpkg-deb -x intel-igc-opencl_18.50.1270_amd64.deb /home/build/ && \ + dpkg-deb -x intel-opencl_19.01.12103_amd64.deb /home/build/ + + + +#clinfo needs to be installed after build directory is copied over + # Build DLDT-Inference Engine ARG DLDT_VER=2018_R5 ARG DLDT_REPO=https://github.com/opencv/dldt.git @@ -249,54 +302,136 @@ RUN git clone -b ${DLDT_VER} ${DLDT_REPO} && \ wget -O - ${DLDT_C_API_REPO} | patch -p2 && \ mkdir build && \ cd build && \ - cmake -DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_PATH=/usr/lib/x86_64-linux-gnu -DENABLE_MKL_DNN=ON -DENABLE_CLDNN=ON -DENABLE_SAMPLES_CORE=OFF ..; \ - make -j16 && \ + cmake -DCMAKE_INSTALL_PREFIX=/opt/intel/dldt -DLIB_INSTALL_PATH=/opt/intel/dldt -DENABLE_MKL_DNN=ON -DENABLE_CLDNN=ON -DENABLE_SAMPLE_CORE=OFF .. && \ + make -j $(nproc) && \ rm -rf ../bin/intel64/Release/lib/libgtest* && \ rm -rf ../bin/intel64/Release/lib/libgmock* && \ rm -rf ../bin/intel64/Release/lib/libmock* && \ - rm -rf ../bin/intel64/Release/lib/libtest* && \ - for p in /usr /home/build/usr; do \ - mkdir -p $p/include/dldt; \ - cp -r ../include/* $p/include/dldt; \ - libdir="$p/lib/x86_64-linux-gnu"; \ - cp -r ../bin/intel64/Release/lib/* "$libdir"; \ - cp -r ../temp/omp/lib/* "$libdir"; \ - mkdir -p "$libdir/pkgconfig"; \ - pc="$libdir/pkgconfig/dldt.pc"; \ - echo "prefix=/usr" > "$pc"; \ - echo "libdir=/usr/lib/x86_64-linux-gnu" >> "$pc"; \ - echo "includedir=/usr/include/dldt" >> "$pc"; \ - echo "" >> "$pc"; \ - echo "Name: DLDT" >> "$pc"; \ - echo "Description: Intel Deep Learning Deployment Toolkit" >> "$pc"; \ - echo "Version: 5.0" >> "$pc"; \ - echo "" >> "$pc"; \ - echo "Libs: -L\${libdir} -linference_engine -linference_engine_c_wrapper" >> "$pc"; \ + rm -rf ../bin/intel64/Release/lib/libtest* + +ARG libdir=/opt/intel/dldt/inference-engine/lib/ubuntu_18.04/intel64 + #RUN find dldt/inference-engine/cmake/share/ -type f | xargs sed -i 's/16.04/18.04/g' + +RUN mkdir -p /opt/intel/dldt/inference-engine/include && \ + cp -r dldt/inference-engine/include/* /opt/intel/dldt/inference-engine/include && \ + mkdir -p ${libdir} && \ + cp -r dldt/inference-engine/bin/intel64/Release/lib/* ${libdir} && \ + mkdir -p /opt/intel/dldt/inference-engine/src && \ + cp -r dldt/inference-engine/src/* /opt/intel/dldt/inference-engine/src/ && \ + mkdir -p /opt/intel/dldt/inference-engine/share && \ + cp -r dldt/inference-engine/build/share/* /opt/intel/dldt/inference-engine/share/ && \ + mkdir -p /opt/intel/dldt/inference-engine/external/omp/lib && \ + cp -r dldt/inference-engine/temp/omp/lib/* /opt/intel/dldt/inference-engine/external/omp/lib/ + +RUN mkdir -p build/opt/intel/dldt/inference-engine/include && \ + cp -r dldt/inference-engine/include/* build/opt/intel/dldt/inference-engine/include && \ + mkdir -p build${libdir} && \ + cp -r dldt/inference-engine/bin/intel64/Release/lib/* build${libdir} && \ + mkdir -p build/opt/intel/dldt/inference-engine/src && \ + cp -r dldt/inference-engine/src/* build/opt/intel/dldt/inference-engine/src/ && \ + mkdir -p build/opt/intel/dldt/inference-engine/share && \ + cp -r dldt/inference-engine/build/share/* build/opt/intel/dldt/inference-engine/share/ && \ + mkdir -p build/opt/intel/dldt/inference-engine/external/omp/lib && \ + cp -r dldt/inference-engine/temp/omp/lib/* build/opt/intel/dldt/inference-engine/external/omp/lib/ + +RUN for p in /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inference-engine; do \ + mkdir -p "${libdir}/pkgconfig" && \ + pc="${libdir}/pkgconfig/dldt.pc" && \ + echo "prefix=/opt" > "$pc" && \ + echo "libdir=${libdir}" >> "$pc" && \ + echo "includedir=/opt/intel/dldt/inference-engine/include" >> "$pc" && \ + echo "" >> "$pc" && \ + echo "Name: DLDT" >> "$pc" && \ + echo "Description: Intel Deep Learning Deployment Toolkit" >> "$pc" && \ + echo "Version: 5.0" >> "$pc" && \ + echo "" >> "$pc" && \ + echo "Libs: -L\${libdir} -linference_engine -linference_engine_c_wrapper" >> "$pc" && \ echo "Cflags: -I\${includedir}" >> "$pc"; \ done; +ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share +ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} + +#install Model Optimizer in the DLDT for Dev +ARG PYTHON_TRUSTED_HOST +ARG PYTHON_TRUSTED_INDEX_URL +#install MO dependencies +RUN DEBIAN_FRONTEND=noninteractive apt-get install -y -q --no-install-recommends python3-dev python3-pip python3-setuptools python3-wheel +#RUN pip3 install numpy scipy +RUN git clone https://github.com/google/protobuf.git && \ + cd protobuf && \ + git submodule update --init --recursive && \ + ./autogen.sh && \ + ./configure && \ + make && \ + make install && \ + make install DESTDIR=/home/build +#RUN apt-get update && apt-get install -y sudo +#installing dependency libs to mo_libs directory to avoid issues with updates to Python version +RUN cd dldt/model-optimizer && \ +if [ "x$PYTHON_TRUSTED_HOST" = "x" ] ; \ +then pip3 install --target=/home/build/mo_libs -r requirements.txt && \ +pip3 install -r requirements.txt; \ +else pip3 install --target=/home/build/mo_libs -r requirements.txt -i $PYTHON_TRUSTED_INDEX_URL --trusted-host $PYTHON_TRUSTED_HOST && \ +pip3 install -r requirements.txt -i $PYTHON_TRUSTED_INDEX_URL --trusted-host $PYTHON_TRUSTED_HOST; \ +fi + +#Copy over Model Optimizer to same directory as Inference Engine +RUN cp -r dldt/model-optimizer /opt/intel/dldt/model-optimizer +RUN cp -r dldt/model-optimizer /home/build/opt/intel/dldt/model-optimizer + + + + # Build the gstremaer core ARG GST_VER=1.14.4 ARG GST_REPO=https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${GST_VER}.tar.xz RUN ln -sf /usr/share/zoneinfo/UTC /etc/localtime; \ - DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libglib2.0-dev autopoint gtk-doc-tools + DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libglib2.0-dev gobject-introspection libgirepository1.0-dev libpango-1.0-0 libpangocairo-1.0-0 autopoint RUN wget -O - ${GST_REPO} | tar xJ && \ cd gstreamer-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib/x86_64-linux-gnu \ + --libexecdir=/usr/lib/x86_64-linux-gnu \ + --enable-shared \ + --disable-examples \ + --disable-gtk-doc && \ + make -j $(nproc) && \ + make install DESTDIR=/home/build && \ + make install; + +# Build the gstremaer plugin bad set +ARG GST_ORC_VER=0.4.28 +ARG GST_ORC_REPO=https://gstreamer.freedesktop.org/src/orc/orc-${GST_ORC_VER}.tar.xz + +RUN wget -O - ${GST_ORC_REPO} | tar xJ && \ + cd orc-${GST_ORC_VER} && \ + ./autogen.sh --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu \ + --libexecdir=/usr/lib/x86_64-linux-gnu \ + --enable-shared \ + --disable-examples \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin base ARG GST_PLUGIN_BASE_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-${GST_VER}.tar.xz +RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libxv-dev libvisual-0.4-dev libtheora-dev libglib2.0-dev libasound2-dev libcdparanoia-dev libgl1-mesa-dev libpango1.0-dev + RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ && \ cd gst-plugins-base-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib/x86_64-linux-gnu \ + --libexecdir=/usr/lib/x86_64-linux-gnu \ + --enable-shared \ + --disable-examples \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install @@ -304,33 +439,53 @@ RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ && \ # Build the gstremaer plugin good set ARG GST_PLUGIN_GOOD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-${GST_VER}.tar.xz +RUN apt-get update && apt-get install -y -q --no-install-recommends libsoup2.4-dev libjpeg-dev + RUN wget -O - ${GST_PLUGIN_GOOD_REPO} | tar xJ && \ cd gst-plugins-good-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib/x86_64-linux-gnu \ + --libexecdir=/usr/lib/x86_64-linux-gnu \ + --enable-shared \ + --disable-examples \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install + # Build the gstremaer plugin bad set ARG GST_PLUGIN_BAD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-${GST_VER}.tar.xz +RUN apt-get update && apt-get install -y -q --no-install-recommends libssl-dev + RUN wget -O - ${GST_PLUGIN_BAD_REPO} | tar xJ && \ cd gst-plugins-bad-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib/x86_64-linux-gnu \ + --libexecdir=/usr/lib/x86_64-linux-gnu \ + --enable-shared \ + --disable-examples \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin ugly set ARG GST_PLUGIN_UGLY_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ && \ - cd gst-plugins-ugly-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples && \ - make -j8 && \ +RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ; \ + cd gst-plugins-ugly-${GST_VER}; \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib/x86_64-linux-gnu \ + --libexecdir=/usr/lib/x86_64-linux-gnu \ + --enable-shared \ + --disable-examples \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install @@ -341,26 +496,94 @@ RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no- RUN wget -O - ${GST_PLUGIN_LIBAV_REPO} | tar xJ && \ cd gst-libav-${GST_VER} && \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared --enable-gpl && \ - make -j8 && \ - make install DESTDIR="/home/build" - + ./autogen.sh \ + --prefix="/usr" \ + --libdir=/usr/lib/x86_64-linux-gnu \ + --enable-shared \ + --enable-gpl \ + --disable-gtk-doc && \ + make -j $(nproc) && \ + make install DESTDIR=/home/build && \ + make install # Build gstremaer plugin vaapi -ARG GST_PLUGIN_VAAPI_REPO=https://gstreamer.freedesktop.org/src/gstreamer-vaapi//gstreamer-vaapi-${GST_VER}.tar.xz +ARG GST_PLUGIN_VAAPI_REPO=https://gstreamer.freedesktop.org/src/gstreamer-vaapi/gstreamer-vaapi-${GST_VER}.tar.xz + +# https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/merge_requests/45 +ARG GST_PLUGIN_VAAPI_REPO_DISPLAY_LOCK_PATCH_HASH=b219f6095f3014041896714dd88e7d90ee3d72dd +ARG GST_PLUGIN_VAAPI_REPO_GIT=https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi.git -RUN apt-get update && apt-get install -y -q --no-install-recommends libxrandr-dev +RUN apt-get update && apt-get install -y -q --no-install-recommends libxrandr-dev libegl1-mesa-dev autopoint bison flex libudev-dev +#RUN git clone https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi.git -b 1.14 --depth 10 && \ +# cd gstreamer-vaapi && git reset --hard ${GST_PLUGIN_VAAPI_REPO_DISPLAY_LOCK_PATCH_HASH} && \ RUN wget -O - ${GST_PLUGIN_VAAPI_REPO} | tar xJ && \ cd gstreamer-vaapi-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib/x86_64-linux-gnu \ + --libexecdir=/usr/lib/x86_64-linux-gnu \ + --enable-shared \ + --disable-examples \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install +ARG OPENCV_VER=4.0.0 +ARG OPENCV_REPO=https://github.com/opencv/opencv/archive/${OPENCV_VER}.tar.gz + +RUN ln -sf /usr/share/zoneinfo/UTC /etc/localtime; + +RUN wget ${OPENCV_REPO} && \ + tar -zxvf ${OPENCV_VER}.tar.gz && \ + cd opencv-${OPENCV_VER} && \ + mkdir build && \ + cd build && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -D BUILD_EXAMPLES=OFF -D BUILD_PERF_TESTS=OFF -D BUILD_DOCS=OFF -D BUILD_TESTS=OFF .. && \ + make -j $(nproc) && \ + make install DESTDIR=/home/build && \ + make install + +RUN apt-get install -y -q --no-install-recommends gtk-doc-tools + + + + +ARG PAHO_VER=1.3.0 +ARG PAHO_REPO=https://github.com/eclipse/paho.mqtt.c/archive/v${PAHO_VER}.tar.gz +RUN wget -O - https://github.com/eclipse/paho.mqtt.c/archive/v${PAHO_VER}.tar.gz | tar -xz; \ + cd paho.mqtt.c-${PAHO_VER}; \ + make; \ + make install; + +#Install va gstreamer plugins +#Has a dependency on OpenCV, GStreamer +ARG VA_GSTREAMER_PLUGINS_VER=0.3 +ARG VA_GSTREAMER_PLUGINS_REPO=https://github.com/opencv/gst-video-analytics/archive/v${VA_GSTREAMER_PLUGINS_VER}.tar.gz +RUN wget -O - ${VA_GSTREAMER_PLUGINS_REPO} | tar xz && \ + cd gst-video-analytics-${VA_GSTREAMER_PLUGINS_VER} && \ + mkdir build && \ + cd build && \ + export CFLAGS="-std=gnu99 -Wno-missing-field-initializers" && \ + export CXXFLAGS="-std=c++11 -Wno-missing-field-initializers" && \ + cmake \ + -DVERSION_PATCH=$(echo "$(git rev-list --count --first-parent HEAD)") \ + -DGIT_INFO=$(echo "git_$(git rev-parse --short HEAD)") \ + -DCMAKE_BUILD_TYPE=Release \ + -DDISABLE_SAMPLES=ON \ + -DDISABLE_VAAPI=ON \ + -DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX=/usr .. && \ + make -j4 +RUN mkdir -p build/usr/lib/x86_64-linux-gnu/gstreamer-1.0 && \ + cp -r gst-video-analytics-${VA_GSTREAMER_PLUGINS_VER}/build/intel64/Release/lib/* build/usr/lib/x86_64-linux-gnu/gstreamer-1.0 +RUN mkdir -p /usr/lib/x86_64-linux-gnu/gstreamer-1.0 && \ + cp -r gst-video-analytics-${VA_GSTREAMER_PLUGINS_VER}/build/intel64/Release/lib/* /usr/lib/x86_64-linux-gnu/gstreamer-1.0 + + + # Fetch FFmpeg source ARG FFMPEG_VER=n4.1 ARG FFMPEG_REPO=https://github.com/FFmpeg/FFmpeg/archive/${FFMPEG_VER}.tar.gz @@ -417,13 +640,22 @@ WORKDIR /home # Prerequisites RUN ln -sf /usr/share/zoneinfo/UTC /etc/localtime; \ - DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libxv1 libxcb-shm0 libxcb-shape0 libxcb-xfixes0 libsdl2-2.0-0 libasound2 libvdpau1 libnuma1 libass9 libssl1.1 libpciaccess0 libglib2.0 libdrm-intel1 libx11-xcb1 libgl1-mesa-glx libxrandr2 libpng16-16 libxv1 ; \ + DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libxv1 libxcb-shm0 libxcb-shape0 libxcb-xfixes0 libsdl2-2.0-0 libasound2 libvdpau1 libnuma1 libass9 libssl1.1 libpciaccess0 libglib2.0 libpango-1.0-0 libpangocairo-1.0-0 libdrm-intel1 libudev1 libx11-xcb1 libgl1-mesa-glx libxrandr2 libegl1-mesa libglib2.0-0 libpng16-16 libxv1 libvisual-0.4-0 libgl1-mesa-glx libpango-1.0-0 libtheora0 libcdparanoia0 libasound2 libsoup2.4-1 libjpeg8 libjpeg-turbo8 python3 libgtk2.0 libdrm2 libxv1 libpugixml1v5 \ +; \ rm -rf /var/lib/apt/lists/*; # Install COPY --from=build /home/build / ENV LIBVA_DRIVERS_PATH=/usr/lib/x86_64-linux-gnu/dri ENV LIBVA_DRIVER_NAME=iHD +RUN apt-get update && apt-get install -y clinfo ENV GST_VAAPI_ALL_DRIVERS=1 ENV DISPLAY=:0.0 +ARG libdir=/opt/intel/dldt/inference-engine/lib/ubuntu_18.04/intel64 +ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share +ENV PYTHONPATH=${PYTHONPATH}:/mo_libs +ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/x86_64-linux-gnu/gstreamer-1.0 +ENV PKG_CONFIG_PATH=/usr/lib/x86_64-linux-gnu/pkgconfig +ENV LIBRARY_PATH=${LIBRARY_PATH}:/usr/lib +ENV PATH=${PATH}:/usr/bin diff --git a/XeonE3/ubuntu-18.04/ffmpeg+gst+dev/Dockerfile.m4 b/XeonE3/ubuntu-18.04/ffmpeg+gst+dev/Dockerfile.m4 index 8157a0527..dbcc2ea5f 100644 --- a/XeonE3/ubuntu-18.04/ffmpeg+gst+dev/Dockerfile.m4 +++ b/XeonE3/ubuntu-18.04/ffmpeg+gst+dev/Dockerfile.m4 @@ -18,17 +18,23 @@ include(svt-av1.m4) include(svt-vp9.m4) #include(transform360.m4) include(gmmlib.m4) +include(libdrm.m4) include(libva.m4) +include(libva-utils.m4) include(media-driver.m4) include(media-sdk.m4) +include(opencl.m4) include(dldt-ie.m4) include(gst.m4) +include(gst-orc.m4) include(gst-plugin-base.m4) include(gst-plugin-good.m4) include(gst-plugin-bad.m4) include(gst-plugin-ugly.m4) include(gst-plugin-libav.m4) include(gst-plugin-vaapi.m4) +include(opencv.m4) +include(gstreamer-videoanalytics.m4) include(ffmpeg.m4) include(cleanup.m4)dnl diff --git a/XeonE3/ubuntu-18.04/ffmpeg/Dockerfile b/XeonE3/ubuntu-18.04/ffmpeg/Dockerfile index 7e633e3ad..7275d60e2 100644 --- a/XeonE3/ubuntu-18.04/ffmpeg/Dockerfile +++ b/XeonE3/ubuntu-18.04/ffmpeg/Dockerfile @@ -3,7 +3,7 @@ FROM ubuntu:18.04 AS build WORKDIR /home # COMMON BUILD TOOLS -RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends build-essential autoconf automake make git wget pciutils cpio libtool lsb-release ca-certificates pkg-config bison flex +RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends build-essential autoconf make git wget pciutils cpio libtool lsb-release ca-certificates pkg-config bison flex # Install cmake ARG CMAKE_VER=3.13.1 @@ -14,6 +14,11 @@ RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz make -j8 && \ make install +# Install automake, use version 1.14 on CentOS +ARG AUTOMAKE_VER=1.14 +ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz + RUN apt-get install -y -q automake + # Build NASM ARG NASM_VER=2.13.03 ARG NASM_REPO=https://www.nasm.us/pub/nasm/releasebuilds/${NASM_VER}/nasm-${NASM_VER}.tar.bz2 @@ -194,10 +199,12 @@ RUN wget -O - ${GMMLIB_REPO} | tar xz && mv gmmlib-${GMMLIB_VER} gmmlib; # Build libva -ARG LIBVA_VER=2.3.0 +ARG LIBVA_VER=2.4.0 ARG LIBVA_REPO=https://github.com/intel/libva/archive/${LIBVA_VER}.tar.gz -RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libdrm-dev libx11-dev xorg-dev libgl1-mesa-dev +RUN apt-get remove libva* + +RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libdrm-dev libx11-dev xorg-dev libgl1-mesa-dev openbox RUN wget -O - ${LIBVA_REPO} | tar xz && \ cd libva-${LIBVA_VER} && \ diff --git a/XeonE3/ubuntu-18.04/gst/Dockerfile b/XeonE3/ubuntu-18.04/gst/Dockerfile index 75d6e6fcf..63d633ce4 100644 --- a/XeonE3/ubuntu-18.04/gst/Dockerfile +++ b/XeonE3/ubuntu-18.04/gst/Dockerfile @@ -3,7 +3,7 @@ FROM ubuntu:18.04 AS build WORKDIR /home # COMMON BUILD TOOLS -RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends build-essential autoconf automake make git wget pciutils cpio libtool lsb-release ca-certificates pkg-config bison flex +RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends build-essential autoconf make git wget pciutils cpio libtool lsb-release ca-certificates pkg-config bison flex # Install cmake ARG CMAKE_VER=3.13.1 @@ -14,6 +14,11 @@ RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz make -j8 && \ make install +# Install automake, use version 1.14 on CentOS +ARG AUTOMAKE_VER=1.14 +ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz + RUN apt-get install -y -q automake + # Build NASM ARG NASM_VER=2.13.03 ARG NASM_REPO=https://www.nasm.us/pub/nasm/releasebuilds/${NASM_VER}/nasm-${NASM_VER}.tar.bz2 @@ -193,10 +198,12 @@ RUN wget -O - ${GMMLIB_REPO} | tar xz && mv gmmlib-${GMMLIB_VER} gmmlib; # Build libva -ARG LIBVA_VER=2.3.0 +ARG LIBVA_VER=2.4.0 ARG LIBVA_REPO=https://github.com/intel/libva/archive/${LIBVA_VER}.tar.gz -RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libdrm-dev libx11-dev xorg-dev libgl1-mesa-dev +RUN apt-get remove libva* + +RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libdrm-dev libx11-dev xorg-dev libgl1-mesa-dev openbox RUN wget -O - ${LIBVA_REPO} | tar xz && \ cd libva-${LIBVA_VER} && \ @@ -227,23 +234,37 @@ ARG GST_VER=1.14.4 ARG GST_REPO=https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${GST_VER}.tar.xz RUN ln -sf /usr/share/zoneinfo/UTC /etc/localtime; \ - DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libglib2.0-dev autopoint gtk-doc-tools + DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libglib2.0-dev gobject-introspection libgirepository1.0-dev libpango-1.0-0 libpangocairo-1.0-0 autopoint RUN wget -O - ${GST_REPO} | tar xJ && \ cd gstreamer-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-gst-debug --disable-debug --disable-benchmarks --disable-check && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib/x86_64-linux-gnu \ + --libexecdir=/usr/lib/x86_64-linux-gnu \ + --enable-shared \ + --disable-examples --disable-gst-debug \ + --disable-debug \ + --disable-benchmarks \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ - make install + make install; # Build the gstremaer plugin base ARG GST_PLUGIN_BASE_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-${GST_VER}.tar.xz +RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libxv-dev libvisual-0.4-dev libtheora-dev libglib2.0-dev libasound2-dev libcdparanoia-dev libgl1-mesa-dev libpango1.0-dev + RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ && \ cd gst-plugins-base-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-debug && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib/x86_64-linux-gnu \ + --libexecdir=/usr/lib/x86_64-linux-gnu \ + --enable-shared \ + --disable-examples --disable-debug \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install @@ -251,33 +272,53 @@ RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ && \ # Build the gstremaer plugin good set ARG GST_PLUGIN_GOOD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-${GST_VER}.tar.xz +RUN apt-get update && apt-get install -y -q --no-install-recommends libsoup2.4-dev libjpeg-dev + RUN wget -O - ${GST_PLUGIN_GOOD_REPO} | tar xJ && \ cd gst-plugins-good-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-debug && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib/x86_64-linux-gnu \ + --libexecdir=/usr/lib/x86_64-linux-gnu \ + --enable-shared \ + --disable-examples --disable-debug \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install + # Build the gstremaer plugin bad set ARG GST_PLUGIN_BAD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-${GST_VER}.tar.xz +RUN apt-get update && apt-get install -y -q --no-install-recommends libssl-dev + RUN wget -O - ${GST_PLUGIN_BAD_REPO} | tar xJ && \ cd gst-plugins-bad-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-debug && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib/x86_64-linux-gnu \ + --libexecdir=/usr/lib/x86_64-linux-gnu \ + --enable-shared \ + --disable-examples --disable-debug \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install # Build the gstremaer plugin ugly set ARG GST_PLUGIN_UGLY_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ && \ - cd gst-plugins-ugly-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-debug && \ - make -j8 && \ +RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ; \ + cd gst-plugins-ugly-${GST_VER}; \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib/x86_64-linux-gnu \ + --libexecdir=/usr/lib/x86_64-linux-gnu \ + --enable-shared \ + --disable-examples --disable-debug \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install @@ -288,22 +329,38 @@ RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no- RUN wget -O - ${GST_PLUGIN_LIBAV_REPO} | tar xJ && \ cd gst-libav-${GST_VER} && \ - ./configure --prefix="/usr" --libdir=/usr/lib/x86_64-linux-gnu --enable-shared --enable-gpl && \ - make -j8 && \ - make install DESTDIR="/home/build" - + ./autogen.sh \ + --prefix="/usr" \ + --libdir=/usr/lib/x86_64-linux-gnu \ + --enable-shared \ + --enable-gpl \ + --disable-gtk-doc && \ + make -j $(nproc) && \ + make install DESTDIR=/home/build && \ + make install # Build gstremaer plugin vaapi -ARG GST_PLUGIN_VAAPI_REPO=https://gstreamer.freedesktop.org/src/gstreamer-vaapi//gstreamer-vaapi-${GST_VER}.tar.xz +ARG GST_PLUGIN_VAAPI_REPO=https://gstreamer.freedesktop.org/src/gstreamer-vaapi/gstreamer-vaapi-${GST_VER}.tar.xz -RUN apt-get update && apt-get install -y -q --no-install-recommends libxrandr-dev +# https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/merge_requests/45 +ARG GST_PLUGIN_VAAPI_REPO_DISPLAY_LOCK_PATCH_HASH=b219f6095f3014041896714dd88e7d90ee3d72dd +ARG GST_PLUGIN_VAAPI_REPO_GIT=https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi.git +RUN apt-get update && apt-get install -y -q --no-install-recommends libxrandr-dev libegl1-mesa-dev autopoint bison flex libudev-dev + +#RUN git clone https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi.git -b 1.14 --depth 10 && \ +# cd gstreamer-vaapi && git reset --hard ${GST_PLUGIN_VAAPI_REPO_DISPLAY_LOCK_PATCH_HASH} && \ RUN wget -O - ${GST_PLUGIN_VAAPI_REPO} | tar xJ && \ cd gstreamer-vaapi-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-examples --disable-debug && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/lib/x86_64-linux-gnu \ + --libexecdir=/usr/lib/x86_64-linux-gnu \ + --enable-shared \ + --disable-examples \ + --disable-gtk-doc --disable-debug && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install @@ -322,7 +379,7 @@ WORKDIR /home # Prerequisites RUN ln -sf /usr/share/zoneinfo/UTC /etc/localtime; \ - DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libnuma1 libssl1.1 libglib2.0 libdrm-intel1 libx11-xcb1 libgl1-mesa-glx libxrandr2 libpng16-16 libxv1 ; \ + DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libnuma1 libssl1.1 libglib2.0 libpango-1.0-0 libpangocairo-1.0-0 libdrm-intel1 libudev1 libx11-xcb1 libgl1-mesa-glx libxrandr2 libegl1-mesa libglib2.0-0 libpng16-16 libxv1 libvisual-0.4-0 libgl1-mesa-glx libpango-1.0-0 libtheora0 libcdparanoia0 libasound2 libsoup2.4-1 libjpeg8 libjpeg-turbo8 ; \ rm -rf /var/lib/apt/lists/*; # Install diff --git a/XeonE3/ubuntu-18.04/nginx+rtmp/Dockerfile b/XeonE3/ubuntu-18.04/nginx+rtmp/Dockerfile index 78ff72b3d..a0655e9b4 100644 --- a/XeonE3/ubuntu-18.04/nginx+rtmp/Dockerfile +++ b/XeonE3/ubuntu-18.04/nginx+rtmp/Dockerfile @@ -3,7 +3,7 @@ FROM ubuntu:18.04 AS build WORKDIR /home # COMMON BUILD TOOLS -RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends build-essential autoconf automake make git wget pciutils cpio libtool lsb-release ca-certificates pkg-config bison flex +RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends build-essential autoconf make git wget pciutils cpio libtool lsb-release ca-certificates pkg-config bison flex # Install cmake ARG CMAKE_VER=3.13.1 @@ -14,6 +14,11 @@ RUN wget -O - ${CMAKE_REPO}/v${CMAKE_VER%.*}/cmake-${CMAKE_VER}.tar.gz | tar xz make -j8 && \ make install +# Install automake, use version 1.14 on CentOS +ARG AUTOMAKE_VER=1.14 +ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz + RUN apt-get install -y -q automake + # Build nginx-rtmp ARG NGINX_RTMP_VER=v1.2.1 diff --git a/template/automake.m4 b/template/automake.m4 index 38e494119..fbd09d030 100644 --- a/template/automake.m4 +++ b/template/automake.m4 @@ -1,10 +1,12 @@ -# Install automake +# Install automake, use version 1.14 on CentOS ARG AUTOMAKE_VER=1.14 ARG AUTOMAKE_REPO=https://ftp.gnu.org/pub/gnu/automake/automake-${AUTOMAKE_VER}.tar.xz - -RUN wget -O - ${AUTOMAKE_REPO} | tar xJ && \ +ifelse(index(DOCKER_IMAGE,ubuntu),-1, + RUN wget -O - ${AUTOMAKE_REPO} | tar xJ && \ cd automake-${AUTOMAKE_VER} && \ ./configure --prefix=/usr --libdir=/usr/ifelse(index(DOCKER_IMAGE,ubuntu),-1,lib64,lib/x86_64-linux-gnu) --disable-doc && \ make -j8 && \ make install - +,dnl + RUN apt-get install -y -q automake +)dnl diff --git a/template/build-tools.m4 b/template/build-tools.m4 index cdadcff05..bd1a48a51 100644 --- a/template/build-tools.m4 +++ b/template/build-tools.m4 @@ -2,10 +2,11 @@ ifelse(index(DOCKER_IMAGE,ubuntu),-1,dnl RUN yum install -y -q bzip2 make autoconf libtool git wget ca-certificates pkg-config gcc gcc-c++ bison flex patch epel-release; ,dnl -RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends build-essential autoconf automake make git wget pciutils cpio libtool lsb-release ca-certificates pkg-config bison flex +RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends build-essential autoconf make git wget pciutils cpio libtool lsb-release ca-certificates pkg-config bison flex )dnl include(cmake.m4) +include(automake.m4) ifdef(`BUILD_TOOLS_NO_ASM',,`dnl include(nasm.m4) include(yasm.m4)dnl diff --git a/template/dldt-ie.m4 b/template/dldt-ie.m4 index b1b1b48f8..6fa599722 100644 --- a/template/dldt-ie.m4 +++ b/template/dldt-ie.m4 @@ -15,29 +15,119 @@ RUN git clone -b ${DLDT_VER} ${DLDT_REPO} && \ wget -O - ${DLDT_C_API_REPO} | patch -p2 && \ mkdir build && \ cd build && \ - cmake -DBUILD_SHARED_LIBS=ifelse(index(BUILD_LINKAGE,static),-1,ON,OFF) -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_PATH=/usr/ifelse(index(DOCKER_IMAGE,ubuntu),-1,lib64,lib/x86_64-linux-gnu) -DENABLE_MKL_DNN=ON -DENABLE_CLDNN=ifelse(index(DOCKER_IMAGE,xeon-),-1,ON,OFF) -DENABLE_SAMPLES_CORE=OFF ..; \ - make -j16 && \ + cmake ifelse(index(BUILD_LINKAGE,static),-1,,-DBUILD_SHARED_LIBS=OFF) -DCMAKE_INSTALL_PREFIX=/opt/intel/dldt -DLIB_INSTALL_PATH=/opt/intel/dldt -DENABLE_MKL_DNN=ON -DENABLE_CLDNN=ifelse(index(DOCKER_IMAGE,xeon-),-1,ON,OFF) -DENABLE_SAMPLE_CORE=OFF .. && \ + make -j $(nproc) && \ rm -rf ../bin/intel64/Release/lib/libgtest* && \ rm -rf ../bin/intel64/Release/lib/libgmock* && \ rm -rf ../bin/intel64/Release/lib/libmock* && \ - rm -rf ../bin/intel64/Release/lib/libtest* && \ - for p in /usr /home/build/usr; do \ - mkdir -p $p/include/dldt; \ - cp -r ../include/* $p/include/dldt; \ - libdir="$p/ifelse(index(DOCKER_IMAGE,ubuntu),-1,lib64,lib/x86_64-linux-gnu)"; \ - cp -r ../bin/intel64/Release/lib/* "$libdir"; \ - cp -r ../temp/omp/lib/* "$libdir"; \ - mkdir -p "$libdir/pkgconfig"; \ - pc="$libdir/pkgconfig/dldt.pc"; \ - echo "prefix=/usr" > "$pc"; \ - echo "libdir=/usr/ifelse(index(DOCKER_IMAGE,ubuntu),-1,lib64,lib/x86_64-linux-gnu)" >> "$pc"; \ - echo "includedir=/usr/include/dldt" >> "$pc"; \ - echo "" >> "$pc"; \ - echo "Name: DLDT" >> "$pc"; \ - echo "Description: Intel Deep Learning Deployment Toolkit" >> "$pc"; \ - echo "Version: 5.0" >> "$pc"; \ - echo "" >> "$pc"; \ - echo "Libs: -L\${libdir} -linference_engine -linference_engine_c_wrapper" >> "$pc"; \ + rm -rf ../bin/intel64/Release/lib/libtest* + +ifelse(index(DOCKER_IMAGE,ubuntu1604),-1,, + ARG libdir=/opt/intel/dldt/inference-engine/lib/ubuntu_16.04/intel64 +)dnl +ifelse(index(DOCKER_IMAGE,ubuntu1804),-1,, + ARG libdir=/opt/intel/dldt/inference-engine/lib/ubuntu_18.04/intel64 + #RUN find dldt/inference-engine/cmake/share/ -type f | xargs sed -i 's/16.04/18.04/g' +)dnl +ifelse(index(DOCKER_IMAGE,centos),-1,, + ARG libdir=/opt/intel/dldt/inference-engine/lib/centos_7.4/intel64 +)dnl + +RUN mkdir -p /opt/intel/dldt/inference-engine/include && \ + cp -r dldt/inference-engine/include/* /opt/intel/dldt/inference-engine/include && \ + mkdir -p ${libdir} && \ + cp -r dldt/inference-engine/bin/intel64/Release/lib/* ${libdir} && \ + mkdir -p /opt/intel/dldt/inference-engine/src && \ + cp -r dldt/inference-engine/src/* /opt/intel/dldt/inference-engine/src/ && \ + mkdir -p /opt/intel/dldt/inference-engine/share && \ + cp -r dldt/inference-engine/build/share/* /opt/intel/dldt/inference-engine/share/ && \ + mkdir -p /opt/intel/dldt/inference-engine/external/omp/lib && \ + cp -r dldt/inference-engine/temp/omp/lib/* /opt/intel/dldt/inference-engine/external/omp/lib/ + +RUN mkdir -p build/opt/intel/dldt/inference-engine/include && \ + cp -r dldt/inference-engine/include/* build/opt/intel/dldt/inference-engine/include && \ + mkdir -p build${libdir} && \ + cp -r dldt/inference-engine/bin/intel64/Release/lib/* build${libdir} && \ + mkdir -p build/opt/intel/dldt/inference-engine/src && \ + cp -r dldt/inference-engine/src/* build/opt/intel/dldt/inference-engine/src/ && \ + mkdir -p build/opt/intel/dldt/inference-engine/share && \ + cp -r dldt/inference-engine/build/share/* build/opt/intel/dldt/inference-engine/share/ && \ + mkdir -p build/opt/intel/dldt/inference-engine/external/omp/lib && \ + cp -r dldt/inference-engine/temp/omp/lib/* build/opt/intel/dldt/inference-engine/external/omp/lib/ + +RUN for p in /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inference-engine; do \ + mkdir -p "${libdir}/pkgconfig" && \ + pc="${libdir}/pkgconfig/dldt.pc" && \ + echo "prefix=/opt" > "$pc" && \ + echo "libdir=${libdir}" >> "$pc" && \ + echo "includedir=/opt/intel/dldt/inference-engine/include" >> "$pc" && \ + echo "" >> "$pc" && \ + echo "Name: DLDT" >> "$pc" && \ + echo "Description: Intel Deep Learning Deployment Toolkit" >> "$pc" && \ + echo "Version: 5.0" >> "$pc" && \ + echo "" >> "$pc" && \ + echo "Libs: -L\${libdir} -linference_engine -linference_engine_c_wrapper" >> "$pc" && \ echo "Cflags: -I\${includedir}" >> "$pc"; \ done; define(`FFMPEG_CONFIG_DLDT_IE',--enable-libinference_engine )dnl + +ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share +ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} + +#install Model Optimizer in the DLDT for Dev +ifelse(index(DOCKER_IMAGE,-dev),-1,, +ARG PYTHON_TRUSTED_HOST +ARG PYTHON_TRUSTED_INDEX_URL +#install MO dependencies +ifelse(index(DOCKER_IMAGE,ubuntu),-1, +RUN yum install -y python36 +RUN yum install -y python36-devel +RUN yum install -y python36-setuptools +RUN easy_install-3.6 pip +,dnl +RUN DEBIAN_FRONTEND=noninteractive apt-get install -y -q --no-install-recommends python3-dev python3-pip python3-setuptools python3-wheel +)dnl +#RUN pip3 install numpy scipy +RUN git clone https://github.com/google/protobuf.git && \ + cd protobuf && \ + git submodule update --init --recursive && \ + ./autogen.sh && \ + ./configure && \ + make && \ + make install && \ + make install DESTDIR=/home/build +#RUN apt-get update && apt-get install -y sudo +#installing dependency libs to mo_libs directory to avoid issues with updates to Python version +RUN cd dldt/model-optimizer && \ +if [ "x$PYTHON_TRUSTED_HOST" = "x" ] ; \ +then pip3 install --target=/home/build/mo_libs -r requirements.txt && \ +pip3 install -r requirements.txt; \ +else pip3 install --target=/home/build/mo_libs -r requirements.txt -i $PYTHON_TRUSTED_INDEX_URL --trusted-host $PYTHON_TRUSTED_HOST && \ +pip3 install -r requirements.txt -i $PYTHON_TRUSTED_INDEX_URL --trusted-host $PYTHON_TRUSTED_HOST; \ +fi + +#Copy over Model Optimizer to same directory as Inference Engine +RUN cp -r dldt/model-optimizer /opt/intel/dldt/model-optimizer +RUN cp -r dldt/model-optimizer /home/build/opt/intel/dldt/model-optimizer +)dnl + +define(`INSTALL_PKGS_MO',ifelse(index(DOCKER_IMAGE,ubuntu),-1,python36 , python3 ))dnl + +define(`INSTALL_MO',dnl +ifelse(index(DOCKER_IMAGE,dev),-1,, +ENV PYTHONPATH=${PYTHONPATH}:/mo_libs +)dnl +)dnl + +define(`INSTALL_IE',dnl +ifelse(index(DOCKER_IMAGE,ubuntu1604),-1,, +ARG libdir=/opt/intel/dldt/inference-engine/lib/ubuntu_16.04/intel64 +)dnl +ifelse(index(DOCKER_IMAGE,ubuntu1804),-1,, +ARG libdir=/opt/intel/dldt/inference-engine/lib/ubuntu_18.04/intel64 +)dnl +ifelse(index(DOCKER_IMAGE,centos),-1,, +ARG libdir=/opt/intel/dldt/inference-engine/lib/centos_7.4/intel64 +)dnl +ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share +)dnl diff --git a/template/gst-orc.m4 b/template/gst-orc.m4 new file mode 100644 index 000000000..757a3e1d2 --- /dev/null +++ b/template/gst-orc.m4 @@ -0,0 +1,14 @@ +# Build the gstremaer plugin bad set +ARG GST_ORC_VER=0.4.28 +ARG GST_ORC_REPO=https://gstreamer.freedesktop.org/src/orc/orc-${GST_ORC_VER}.tar.xz + +RUN wget -O - ${GST_ORC_REPO} | tar xJ && \ + cd orc-${GST_ORC_VER} && \ + ./autogen.sh --prefix=/usr --libdir=/usr/ifelse(index(DOCKER_IMAGE,ubuntu),-1,lib64,lib/x86_64-linux-gnu) \ + --libexecdir=/usr/ifelse(index(DOCKER_IMAGE,ubuntu),-1,lib64,lib/x86_64-linux-gnu) \ + --enable-defn(`BUILD_LINKAGE') \ + --disable-examples ifelse(index(DOCKER_IMAGE,-dev),-1,--disable-debug) \ + --disable-gtk-doc && \ + make -j $(nproc) && \ + make install DESTDIR=/home/build && \ + make install diff --git a/template/gst-plugin-bad.m4 b/template/gst-plugin-bad.m4 index ceeb75917..fd563cfe7 100644 --- a/template/gst-plugin-bad.m4 +++ b/template/gst-plugin-bad.m4 @@ -1,10 +1,22 @@ # Build the gstremaer plugin bad set ARG GST_PLUGIN_BAD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-${GST_VER}.tar.xz +ifelse(index(DOCKER_IMAGE,ubuntu),-1,, +RUN apt-get update && apt-get install -y -q --no-install-recommends libssl-dev +)dnl +ifelse(index(DOCKER_IMAGE,centos),-1,, +RUN yum install -y -q openssl-devel +)dnl + RUN wget -O - ${GST_PLUGIN_BAD_REPO} | tar xJ && \ cd gst-plugins-bad-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/ifelse(index(DOCKER_IMAGE,ubuntu),-1,lib64,lib/x86_64-linux-gnu) --libexecdir=/usr/ifelse(index(DOCKER_IMAGE,ubuntu),-1,lib64,lib/x86_64-linux-gnu) --enable-defn(`BUILD_LINKAGE') --disable-examples ifelse(index(DOCKER_IMAGE,-dev),-1,--disable-debug) && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/ifelse(index(DOCKER_IMAGE,ubuntu),-1,lib64,lib/x86_64-linux-gnu) \ + --libexecdir=/usr/ifelse(index(DOCKER_IMAGE,ubuntu),-1,lib64,lib/x86_64-linux-gnu) \ + --enable-defn(`BUILD_LINKAGE') \ + --disable-examples ifelse(index(DOCKER_IMAGE,-dev),-1,--disable-debug) \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install diff --git a/template/gst-plugin-base.m4 b/template/gst-plugin-base.m4 index b11c29850..42a993927 100644 --- a/template/gst-plugin-base.m4 +++ b/template/gst-plugin-base.m4 @@ -1,12 +1,27 @@ # Build the gstremaer plugin base ARG GST_PLUGIN_BASE_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-${GST_VER}.tar.xz +ifelse(index(DOCKER_IMAGE,ubuntu),-1,, +RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libxv-dev libvisual-0.4-dev libtheora-dev libglib2.0-dev libasound2-dev libcdparanoia-dev libgl1-mesa-dev libpango1.0-dev +)dnl +ifelse(index(DOCKER_IMAGE,centos),-1,, +RUN yum install -y -q libXv-devel libvisual-devel libtheora-devel glib2-devel alsa-lib-devel cdparanoia-devel mesa-libGL-devel pango-devel +)dnl + RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ && \ cd gst-plugins-base-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/ifelse(index(DOCKER_IMAGE,ubuntu),-1,lib64,lib/x86_64-linux-gnu) --libexecdir=/usr/ifelse(index(DOCKER_IMAGE,ubuntu),-1,lib64,lib/x86_64-linux-gnu) --enable-defn(`BUILD_LINKAGE') --disable-examples ifelse(index(DOCKER_IMAGE,-dev),-1,--disable-debug) && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/ifelse(index(DOCKER_IMAGE,ubuntu),-1,lib64,lib/x86_64-linux-gnu) \ + --libexecdir=/usr/ifelse(index(DOCKER_IMAGE,ubuntu),-1,lib64,lib/x86_64-linux-gnu) \ + --enable-defn(`BUILD_LINKAGE') \ + --disable-examples ifelse(index(DOCKER_IMAGE,-dev),-1,--disable-debug) \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install -define(`INSTALL_PKGS_GST_PLUGIN_BASE',ifelse(index(DOCKER_IMAGE,ubuntu1604),-1,,libpng12-0 libxv1 )ifelse(index(DOCKER_IMAGE,ubuntu1804),-1,,libpng16-16 libxv1 )ifelse(index(DOCKER_IMAGE,centos),-1,,libpng12 libXv ))dnl +define(`INSTALL_PKGS_GST_PLUGIN_BASE',dnl +ifelse(index(DOCKER_IMAGE,ubuntu1604),-1,,libpng12-0 libxv1 libvisual-0.4-0 libgl1-mesa-glx libpango-1.0-0 libtheora0 libcdparanoia0 libasound2 )dnl +ifelse(index(DOCKER_IMAGE,ubuntu1804),-1,,libpng16-16 libxv1 libvisual-0.4-0 libgl1-mesa-glx libpango-1.0-0 libtheora0 libcdparanoia0 libasound2 )dnl +ifelse(index(DOCKER_IMAGE,centos),-1,,libpng12 libXv libvisual mesa-libGL pango glib2 ))dnl diff --git a/template/gst-plugin-good.m4 b/template/gst-plugin-good.m4 index ce657e66d..c1269ac80 100644 --- a/template/gst-plugin-good.m4 +++ b/template/gst-plugin-good.m4 @@ -1,10 +1,25 @@ # Build the gstremaer plugin good set ARG GST_PLUGIN_GOOD_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-${GST_VER}.tar.xz +ifelse(index(DOCKER_IMAGE,ubuntu),-1,, +RUN apt-get update && apt-get install -y -q --no-install-recommends libsoup2.4-dev libjpeg-dev +)dnl +ifelse(index(DOCKER_IMAGE,centos),-1,, +RUN yum install -y -q libsoup-devel libjpeg-devel +)dnl + RUN wget -O - ${GST_PLUGIN_GOOD_REPO} | tar xJ && \ cd gst-plugins-good-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/ifelse(index(DOCKER_IMAGE,ubuntu),-1,lib64,lib/x86_64-linux-gnu) --libexecdir=/usr/ifelse(index(DOCKER_IMAGE,ubuntu),-1,lib64,lib/x86_64-linux-gnu) --enable-defn(`BUILD_LINKAGE') --disable-examples ifelse(index(DOCKER_IMAGE,-dev),-1,--disable-debug) && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/ifelse(index(DOCKER_IMAGE,ubuntu),-1,lib64,lib/x86_64-linux-gnu) \ + --libexecdir=/usr/ifelse(index(DOCKER_IMAGE,ubuntu),-1,lib64,lib/x86_64-linux-gnu) \ + --enable-defn(`BUILD_LINKAGE') \ + --disable-examples ifelse(index(DOCKER_IMAGE,-dev),-1,--disable-debug) \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install + +define(`INSTALL_PKGS_GST_PLUGIN_GOOD',dnl +ifelse(index(DOCKER_IMAGE,ubuntu),-1,libsoup libjpeg-turbo ,libsoup2.4-1 libjpeg8 libjpeg-turbo8 ))dnl diff --git a/template/gst-plugin-libav.m4 b/template/gst-plugin-libav.m4 index 27ec2289b..fe694e18f 100644 --- a/template/gst-plugin-libav.m4 +++ b/template/gst-plugin-libav.m4 @@ -10,9 +10,14 @@ RUN yum install -y -q zlib-devel openssl-devel RUN wget -O - ${GST_PLUGIN_LIBAV_REPO} | tar xJ && \ cd gst-libav-${GST_VER} && \ - ./configure --prefix="/usr" --libdir=ifelse(index(DOCKER_IMAGE,ubuntu),-1,/usr/lib64,/usr/lib/x86_64-linux-gnu) --enable-defn(`BUILD_LINKAGE') --enable-gpl && \ - make -j8 && \ - make install DESTDIR="/home/build" + ./autogen.sh \ + --prefix="/usr" \ + --libdir=ifelse(index(DOCKER_IMAGE,ubuntu),-1,/usr/lib64,/usr/lib/x86_64-linux-gnu) \ + --enable-defn(`BUILD_LINKAGE') \ + --enable-gpl \ + --disable-gtk-doc && \ + make -j $(nproc) && \ + make install DESTDIR=/home/build && \ + make install define(`INSTALL_PKGS_FFMPEG',ifelse(index(DOCKER_IMAGE,ubuntu1604),-1,,libnuma1 libssl1.0.0 )ifelse(index(DOCKER_IMAGE,ubuntu1804),-1,,libnuma1 libssl1.1 )ifelse(index(DOCKER_IMAGE,centos),-1,,numactl openssl ))dnl - diff --git a/template/gst-plugin-ugly.m4 b/template/gst-plugin-ugly.m4 index 61ed94500..980f97262 100644 --- a/template/gst-plugin-ugly.m4 +++ b/template/gst-plugin-ugly.m4 @@ -1,10 +1,15 @@ # Build the gstremaer plugin ugly set ARG GST_PLUGIN_UGLY_REPO=https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-${GST_VER}.tar.xz -RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ && \ - cd gst-plugins-ugly-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/ifelse(index(DOCKER_IMAGE,ubuntu),-1,lib64,lib/x86_64-linux-gnu) --libexecdir=/usr/ifelse(index(DOCKER_IMAGE,ubuntu),-1,lib64,lib/x86_64-linux-gnu) --enable-defn(`BUILD_LINKAGE') --disable-examples ifelse(index(DOCKER_IMAGE,-dev),-1,--disable-debug) && \ - make -j8 && \ +RUN wget -O - ${GST_PLUGIN_UGLY_REPO} | tar xJ; \ + cd gst-plugins-ugly-${GST_VER}; \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/ifelse(index(DOCKER_IMAGE,ubuntu),-1,lib64,lib/x86_64-linux-gnu) \ + --libexecdir=/usr/ifelse(index(DOCKER_IMAGE,ubuntu),-1,lib64,lib/x86_64-linux-gnu) \ + --enable-defn(`BUILD_LINKAGE') \ + --disable-examples ifelse(index(DOCKER_IMAGE,-dev),-1,--disable-debug) \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install diff --git a/template/gst-plugin-vaapi.m4 b/template/gst-plugin-vaapi.m4 index 18ec37685..1a3d3674e 100644 --- a/template/gst-plugin-vaapi.m4 +++ b/template/gst-plugin-vaapi.m4 @@ -1,21 +1,32 @@ # Build gstremaer plugin vaapi -ARG GST_PLUGIN_VAAPI_REPO=https://gstreamer.freedesktop.org/src/gstreamer-vaapi//gstreamer-vaapi-${GST_VER}.tar.xz +ARG GST_PLUGIN_VAAPI_REPO=https://gstreamer.freedesktop.org/src/gstreamer-vaapi/gstreamer-vaapi-${GST_VER}.tar.xz + +# https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/merge_requests/45 +ARG GST_PLUGIN_VAAPI_REPO_DISPLAY_LOCK_PATCH_HASH=b219f6095f3014041896714dd88e7d90ee3d72dd +ARG GST_PLUGIN_VAAPI_REPO_GIT=https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi.git ifelse(index(DOCKER_IMAGE,ubuntu),-1,dnl RUN yum install -y -q libXrandr-devel ,dnl -RUN apt-get update && apt-get install -y -q --no-install-recommends libxrandr-dev +RUN apt-get update && apt-get install -y -q --no-install-recommends libxrandr-dev libegl1-mesa-dev autopoint bison flex libudev-dev )dnl +#RUN git clone https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi.git -b 1.14 --depth 10 && \ +# cd gstreamer-vaapi && git reset --hard ${GST_PLUGIN_VAAPI_REPO_DISPLAY_LOCK_PATCH_HASH} && \ RUN wget -O - ${GST_PLUGIN_VAAPI_REPO} | tar xJ && \ cd gstreamer-vaapi-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/ifelse(index(DOCKER_IMAGE,ubuntu),-1,lib64,lib/x86_64-linux-gnu) --libexecdir=/usr/ifelse(index(DOCKER_IMAGE,ubuntu),-1,lib64,lib/x86_64-linux-gnu) --enable-defn(`BUILD_LINKAGE') --disable-examples ifelse(index(DOCKER_IMAGE,-dev),-1,--disable-debug) && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/ifelse(index(DOCKER_IMAGE,ubuntu),-1,lib64,lib/x86_64-linux-gnu) \ + --libexecdir=/usr/ifelse(index(DOCKER_IMAGE,ubuntu),-1,lib64,lib/x86_64-linux-gnu) \ + --enable-defn(`BUILD_LINKAGE') \ + --disable-examples \ + --disable-gtk-doc ifelse(index(DOCKER_IMAGE,-dev),-1,--disable-debug) && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ make install -define(`INSTALL_PKGS_GST_PLUGIN_VAAPI',ifelse(index(DOCKER_IMAGE,ubuntu),-1,libxcb libXrandr libdrm ,libdrm-intel1 libx11-xcb1 libgl1-mesa-glx libxrandr2 ))dnl +define(`INSTALL_PKGS_GST_PLUGIN_VAAPI',ifelse(index(DOCKER_IMAGE,ubuntu),-1,libxcb mesa-libGL libXrandr ,libdrm-intel1 libudev1 libx11-xcb1 libgl1-mesa-glx libxrandr2 libegl1-mesa libglib2.0-0 ))dnl define(`INSTALL_GST_PLUGIN_VAAPI',dnl ENV GST_VAAPI_ALL_DRIVERS=1 ENV DISPLAY=:0.0 diff --git a/template/gst.m4 b/template/gst.m4 index fe0b2cf42..3ed57f513 100644 --- a/template/gst.m4 +++ b/template/gst.m4 @@ -3,20 +3,27 @@ ARG GST_VER=1.14.4 ARG GST_REPO=https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${GST_VER}.tar.xz ifelse(index(DOCKER_IMAGE,ubuntu1604),-1,, -RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libglib2.0-dev autopoint gtk-doc-tools +RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libglib2.0-dev gobject-introspection libgirepository1.0-dev libpango-1.0-0 libpangocairo-1.0-0 autopoint )dnl ifelse(index(DOCKER_IMAGE,ubuntu1804),-1,, RUN ln -sf /usr/share/zoneinfo/UTC /etc/localtime; \ - DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libglib2.0-dev autopoint gtk-doc-tools + DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libglib2.0-dev gobject-introspection libgirepository1.0-dev libpango-1.0-0 libpangocairo-1.0-0 autopoint )dnl ifelse(index(DOCKER_IMAGE,centos),-1,, -RUN yum install -y -q glib2-devel-2.56.1 gettext-devel gtk-doc +RUN yum install -y -q glib2-devel-2.56.1 gettext-devel gobject-introspection python-gobject-base )dnl RUN wget -O - ${GST_REPO} | tar xJ && \ cd gstreamer-${GST_VER} && \ - ./autogen.sh && \ - ./configure --prefix=/usr --libdir=/usr/ifelse(index(DOCKER_IMAGE,ubuntu),-1,lib64,lib/x86_64-linux-gnu) --libexecdir=/usr/ifelse(index(DOCKER_IMAGE,ubuntu),-1,lib64,lib/x86_64-linux-gnu) --enable-defn(`BUILD_LINKAGE') --disable-examples ifelse(index(DOCKER_IMAGE,-dev),-1,--disable-gst-debug --disable-debug --disable-benchmarks --disable-check) && \ - make -j8 && \ + ./autogen.sh \ + --prefix=/usr \ + --libdir=/usr/ifelse(index(DOCKER_IMAGE,ubuntu),-1,lib64,lib/x86_64-linux-gnu) \ + --libexecdir=/usr/ifelse(index(DOCKER_IMAGE,ubuntu),-1,lib64,lib/x86_64-linux-gnu) \ + --enable-defn(`BUILD_LINKAGE') \ + --disable-examples ifelse(index(DOCKER_IMAGE,-dev),-1,--disable-gst-debug \ + --disable-debug \ + --disable-benchmarks) \ + --disable-gtk-doc && \ + make -j $(nproc) && \ make install DESTDIR=/home/build && \ - make install -define(`INSTALL_PKGS_GST',ifelse(index(DOCKER_IMAGE,ubuntu),-1,glib2-2.56.1,libglib2.0) )dnl + make install; +define(`INSTALL_PKGS_GST',ifelse(index(DOCKER_IMAGE,ubuntu),-1,glib2-2.56.1 pango, libglib2.0 libpango-1.0-0 libpangocairo-1.0-0 ))dnl diff --git a/template/gstreamer-videoanalytics.m4 b/template/gstreamer-videoanalytics.m4 new file mode 100644 index 000000000..7728dbe88 --- /dev/null +++ b/template/gstreamer-videoanalytics.m4 @@ -0,0 +1,61 @@ +ifelse(index(DOCKER_IMAGE,ubuntu),-1,, + RUN apt-get install -y -q --no-install-recommends gtk-doc-tools +)dnl + +ifelse(index(DOCKER_IMAGE,centos),-1,, + RUN yum install -y -q glib2-devel gtk-dock openblas +)dnl + +ifelse(index(DOCKER_IMAGE,centos74),-1,, + RUN yum install -y -q binutils +)dnl + + +ARG PAHO_VER=1.3.0 +ARG PAHO_REPO=https://github.com/eclipse/paho.mqtt.c/archive/v${PAHO_VER}.tar.gz +RUN wget -O - https://github.com/eclipse/paho.mqtt.c/archive/v${PAHO_VER}.tar.gz | tar -xz; \ + cd paho.mqtt.c-${PAHO_VER}; \ + make; \ + make install; + +#Install va gstreamer plugins +#Has a dependency on OpenCV, GStreamer +ARG VA_GSTREAMER_PLUGINS_VER=0.3 +ARG VA_GSTREAMER_PLUGINS_REPO=https://github.com/opencv/gst-video-analytics/archive/v${VA_GSTREAMER_PLUGINS_VER}.tar.gz +RUN wget -O - ${VA_GSTREAMER_PLUGINS_REPO} | tar xz && \ + cd gst-video-analytics-${VA_GSTREAMER_PLUGINS_VER} && \ + mkdir build && \ + cd build && \ + export CFLAGS="-std=gnu99 -Wno-missing-field-initializers" && \ + export CXXFLAGS="-std=c++11 -Wno-missing-field-initializers" && \ + cmake \ + -DVERSION_PATCH=$(echo "$(git rev-list --count --first-parent HEAD)") \ + -DGIT_INFO=$(echo "git_$(git rev-parse --short HEAD)") \ + -DCMAKE_BUILD_TYPE=Release \ + -DDISABLE_SAMPLES=ON \ + -DDISABLE_VAAPI=ON \ + -DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX=/usr .. && \ + make -j4 +RUN mkdir -p build/usr/ifelse(index(DOCKER_IMAGE,ubuntu),-1,lib64,lib/x86_64-linux-gnu)/gstreamer-1.0 && \ + cp -r gst-video-analytics-${VA_GSTREAMER_PLUGINS_VER}/build/intel64/Release/lib/* build/usr/ifelse(index(DOCKER_IMAGE,ubuntu),-1,lib64,lib/x86_64-linux-gnu)/gstreamer-1.0 +RUN mkdir -p /usr/ifelse(index(DOCKER_IMAGE,ubuntu),-1,lib64,lib/x86_64-linux-gnu)/gstreamer-1.0 && \ + cp -r gst-video-analytics-${VA_GSTREAMER_PLUGINS_VER}/build/intel64/Release/lib/* /usr/ifelse(index(DOCKER_IMAGE,ubuntu),-1,lib64,lib/x86_64-linux-gnu)/gstreamer-1.0 + +define(`INSTALL_PKGS_VA_GST_PLUGINS', +ifelse(index(DOCKER_IMAGE,ubuntu1604),-1,, + libgtk2.0 libdrm2 libxv1 \ +)dnl +ifelse(index(DOCKER_IMAGE,ubuntu1804),-1,, + libgtk2.0 libdrm2 libxv1 libpugixml1v5 \ +)dnl +ifelse(index(DOCKER_IMAGE,centos),-1,, + openblas-serial \ +)dnl +)dnl + +define(`INSTALL_VA_GST_PLUGINS',dnl +ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/ifelse(index(DOCKER_IMAGE,ubuntu),-1,lib64,lib/x86_64-linux-gnu)/gstreamer-1.0 +ENV PKG_CONFIG_PATH=/usr/ifelse(index(DOCKER_IMAGE,ubuntu),-1,lib64,lib/x86_64-linux-gnu)/pkgconfig +ENV LIBRARY_PATH=${LIBRARY_PATH}:/usr/lib +ENV PATH=${PATH}:/usr/bin +)dnl diff --git a/template/install.m4 b/template/install.m4 index 8262e3cf6..b990630ba 100644 --- a/template/install.m4 +++ b/template/install.m4 @@ -1,2 +1,2 @@ COPY --from=build /home/build / -defn(`INSTALL_NGINX',`INSTALL_MEDIA_DRIVER',`INSTALL_GST_PLUGIN_VAAPI')dnl +defn(`INSTALL_NGINX',`INSTALL_MEDIA_DRIVER',`INSTALL_OPENCL',`INSTALL_GST_PLUGIN_VAAPI',`INSTALL_IE',`INSTALL_MO',`INSTALL_VA_GST_PLUGINS')dnl diff --git a/template/install.pkgs.m4 b/template/install.pkgs.m4 index 1fcce4259..8cba64117 100644 --- a/template/install.pkgs.m4 +++ b/template/install.pkgs.m4 @@ -1,17 +1,17 @@ ifelse(index(DOCKER_IMAGE,centos),-1,, RUN ifdef(`INSTALL_PKGS_FFMPEG',yum install -y epel-release;) \ - yum install -y -q defn(`INSTALL_PKGS_FFMPEG',`INSTALL_PKGS_TRANSFORM360',`INSTALL_PKGS_GST',`INSTALL_PKGS_NGINX',`INSTALL_PKGS_LIBDRM',`INSTALL_PKGS_GST_PLUGIN_VAAPI',`INSTALL_PKGS_GST_PLUGIN_BASE', `INSTALL_PKGS_MEDIA_DRIVER', `INSTALL_PKGS_LIBVA'); \ + yum install -y -q defn(`INSTALL_PKGS_FFMPEG',`INSTALL_PKGS_TRANSFORM360',`INSTALL_PKGS_GST',`INSTALL_PKGS_NGINX',`INSTALL_PKGS_LIBDRM',`INSTALL_PKGS_GST_PLUGIN_VAAPI',`INSTALL_PKGS_GST_PLUGIN_BASE', `INSTALL_PKGS_MEDIA_DRIVER', `INSTALL_PKGS_VA_GST_PLUGINS', `INSTALL_PKGS_LIBVA', `INSTALL_PKGS_GST_PLUGIN_GOOD', `INSTALL_PKGS_MO'); \ ifdef(`INSTALL_PKGS_FFMPEG',`dnl yum remove -y -q epel-release; \ ')dnl rm -rf /var/cache/yum/*;dnl )dnl ifelse(index(DOCKER_IMAGE,ubuntu1604),-1,, -RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends defn(`INSTALL_PKGS_FFMPEG',`INSTALL_PKGS_TRANSFORM360',`INSTALL_PKGS_GST',`INSTALL_PKGS_NGINX',`INSTALL_PKGS_GST_PLUGIN_VAAPI',`INSTALL_PKGS_GST_PLUGIN_BASE'); \ +RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends defn(`INSTALL_PKGS_FFMPEG',`INSTALL_PKGS_TRANSFORM360',`INSTALL_PKGS_GST',`INSTALL_PKGS_NGINX',`INSTALL_PKGS_GST_PLUGIN_VAAPI',`INSTALL_PKGS_GST_PLUGIN_BASE', `INSTALL_PKGS_GST_PLUGIN_GOOD', `INSTALL_PKGS_MO', `INSTALL_PKGS_VA_GST_PLUGINS',`INSTALL_PKGS_OPENCL'); \ rm -rf /var/lib/apt/lists/*;dnl )dnl ifelse(index(DOCKER_IMAGE,ubuntu1804),-1,, RUN ln -sf /usr/share/zoneinfo/UTC /etc/localtime; \ - DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends defn(`INSTALL_PKGS_FFMPEG',`INSTALL_PKGS_TRANSFORM360',`INSTALL_PKGS_GST',`INSTALL_PKGS_NGINX',`INSTALL_PKGS_GST_PLUGIN_VAAPI',`INSTALL_PKGS_GST_PLUGIN_BASE'); \ + DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends defn(`INSTALL_PKGS_FFMPEG',`INSTALL_PKGS_TRANSFORM360',`INSTALL_PKGS_GST',`INSTALL_PKGS_NGINX',`INSTALL_PKGS_GST_PLUGIN_VAAPI',`INSTALL_PKGS_GST_PLUGIN_BASE', `INSTALL_PKGS_GST_PLUGIN_GOOD', `INSTALL_PKGS_MO', `INSTALL_PKGS_VA_GST_PLUGINS',`INSTALL_PKGS_OPENCL'); \ rm -rf /var/lib/apt/lists/*;dnl )dnl diff --git a/template/libva-utils.m4 b/template/libva-utils.m4 new file mode 100644 index 000000000..2a4f9e140 --- /dev/null +++ b/template/libva-utils.m4 @@ -0,0 +1,11 @@ +# Build libva-utils +ARG LIBVA_UTILS_VER=2.4.0 +ARG LIBVA_UTILS_REPO=https://github.com/intel/libva-utils/archive/${LIBVA_UTILS_VER}.tar.gz + +RUN wget -O - ${LIBVA_UTILS_REPO} | tar xz; \ + cd libva-utils-${LIBVA_UTILS_VER}; \ + ./autogen.sh --prefix=/usr --libdir=/usr/ifelse(index(DOCKER_IMAGE,ubuntu),-1,lib64,lib/x86_64-linux-gnu); \ + make -j8; \ + make install DESTDIR=/home/build; \ + make install; + diff --git a/template/libva.m4 b/template/libva.m4 index 5b6904749..422a615ca 100644 --- a/template/libva.m4 +++ b/template/libva.m4 @@ -1,9 +1,11 @@ # Build libva -ARG LIBVA_VER=2.3.0 +ARG LIBVA_VER=2.4.0 ARG LIBVA_REPO=https://github.com/intel/libva/archive/${LIBVA_VER}.tar.gz ifelse(index(DOCKER_IMAGE,ubuntu),-1,,dnl -RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libdrm-dev libx11-dev xorg-dev libgl1-mesa-dev +RUN apt-get remove libva* + +RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libdrm-dev libx11-dev xorg-dev libgl1-mesa-dev openbox )dnl ifelse(index(DOCKER_IMAGE,centos),-1,,dnl RUN yum install -y -q libX11-devel mesa-libGL-devel which libdrm-devel diff --git a/template/opencl.m4 b/template/opencl.m4 new file mode 100644 index 000000000..f6ae403db --- /dev/null +++ b/template/opencl.m4 @@ -0,0 +1,43 @@ +#install OpenCL + +ifelse(index(DOCKER_IMAGE,ubuntu),-1,, +RUN mkdir neo + +RUN cd neo && wget https://github.com/intel/compute-runtime/releases/download/19.01.12103/intel-gmmlib_18.4.0.348_amd64.deb +RUN cd neo && wget https://github.com/intel/compute-runtime/releases/download/19.01.12103/intel-igc-core_18.50.1270_amd64.deb +RUN cd neo && wget https://github.com/intel/compute-runtime/releases/download/19.01.12103/intel-igc-opencl_18.50.1270_amd64.deb +RUN cd neo && wget https://github.com/intel/compute-runtime/releases/download/19.01.12103/intel-opencl_19.01.12103_amd64.deb + +RUN cd neo && \ + dpkg -i *.deb && \ + dpkg-deb -x intel-gmmlib_18.4.0.348_amd64.deb /home/build/ && \ + dpkg-deb -x intel-igc-core_18.50.1270_amd64.deb /home/build/ && \ + dpkg-deb -x intel-igc-opencl_18.50.1270_amd64.deb /home/build/ && \ + dpkg-deb -x intel-opencl_19.01.12103_amd64.deb /home/build/ +)dnl + +ifelse(index(DOCKER_IMAGE,centos),-1,, +RUN yum install -y -q dnf dnf-plugins-core + +RUN yum install -y yum-plugin-copr +RUN yum copr enable -y arturh/intel-opencl +RUN yum install -y -q intel-opencl +RUN yum install -y epel-release +RUN yum install -y ocl-icd libgomp +)dnl + + +#clinfo needs to be installed after build directory is copied over +define(`INSTALL_OPENCL',dnl +ifelse(index(DOCKER_IMAGE,ubuntu),-1,, +RUN apt-get update && apt-get install -y clinfo +)dnl +ifelse(index(DOCKER_IMAGE,centos),-1,, +RUN yum install -y -q dnf dnf-plugins-core yum-plugin-copr +RUN yum copr enable -y arturh/intel-opencl +RUN yum install -y -q intel-opencl +RUN yum install -y epel-release +RUN yum install -y ocl-icd libgomp +RUN ln -s /usr/lib64/libOpenCL.so.1 /usr/lib/libOpenCL.so +)dnl +)dnl diff --git a/template/opencv.m4 b/template/opencv.m4 new file mode 100644 index 000000000..b6567e974 --- /dev/null +++ b/template/opencv.m4 @@ -0,0 +1,21 @@ +ARG OPENCV_VER=4.0.0 +ARG OPENCV_REPO=https://github.com/opencv/opencv/archive/${OPENCV_VER}.tar.gz + +ifelse(index(DOCKER_IMAGE,ubuntu1604),-1,, +RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev python-dev python-numpy +)dnl +ifelse(index(DOCKER_IMAGE,ubuntu1804),-1,, +RUN ln -sf /usr/share/zoneinfo/UTC /etc/localtime; +)dnl +ifelse(index(DOCKER_IMAGE,centos),-1,, +)dnl + +RUN wget ${OPENCV_REPO} && \ + tar -zxvf ${OPENCV_VER}.tar.gz && \ + cd opencv-${OPENCV_VER} && \ + mkdir build && \ + cd build && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -D BUILD_EXAMPLES=OFF -D BUILD_PERF_TESTS=OFF -D BUILD_DOCS=OFF -D BUILD_TESTS=OFF .. && \ + make -j $(nproc) && \ + make install DESTDIR=/home/build && \ + make install From 008fd5c8d5718a98ff8916ee1aa18888c2cc6d7e Mon Sep 17 00:00:00 2001 From: cssdk Date: Fri, 22 Mar 2019 06:00:55 +0000 Subject: [PATCH 2/9] Added PKG_CONFIG_PATH variable (required) --- VCA2/centos-7.4/ffmpeg+gst+dev/Dockerfile | 3 +++ VCA2/centos-7.5/ffmpeg+gst+dev/Dockerfile | 3 +++ VCA2/centos-7.6/ffmpeg+gst+dev/Dockerfile | 3 +++ VCA2/ubuntu-16.04/ffmpeg+gst+dev/Dockerfile | 3 +++ VCA2/ubuntu-18.04/ffmpeg+gst+dev/Dockerfile | 3 +++ Xeon/centos-7.4/dldt+ffmpeg/Dockerfile | 3 +++ Xeon/centos-7.4/dldt+gst/Dockerfile | 3 +++ Xeon/centos-7.4/ffmpeg+gst+dev/Dockerfile | 3 +++ Xeon/centos-7.5/dldt+ffmpeg/Dockerfile | 3 +++ Xeon/centos-7.5/dldt+gst/Dockerfile | 3 +++ Xeon/centos-7.5/ffmpeg+gst+dev/Dockerfile | 3 +++ Xeon/centos-7.6/dldt+ffmpeg/Dockerfile | 3 +++ Xeon/centos-7.6/dldt+gst/Dockerfile | 3 +++ Xeon/centos-7.6/ffmpeg+gst+dev/Dockerfile | 3 +++ Xeon/ubuntu-16.04/dldt+ffmpeg/Dockerfile | 3 +++ Xeon/ubuntu-16.04/dldt+gst/Dockerfile | 3 +++ Xeon/ubuntu-16.04/ffmpeg+gst+dev/Dockerfile | 3 +++ Xeon/ubuntu-18.04/dldt+ffmpeg/Dockerfile | 3 +++ Xeon/ubuntu-18.04/dldt+gst/Dockerfile | 3 +++ Xeon/ubuntu-18.04/ffmpeg+gst+dev/Dockerfile | 3 +++ XeonE3/centos-7.4/dldt+gst/Dockerfile | 3 +++ XeonE3/centos-7.4/ffmpeg+gst+dev/Dockerfile | 3 +++ XeonE3/centos-7.5/dldt+gst/Dockerfile | 3 +++ XeonE3/centos-7.5/ffmpeg+gst+dev/Dockerfile | 3 +++ XeonE3/centos-7.6/dldt+gst/Dockerfile | 3 +++ XeonE3/centos-7.6/ffmpeg+gst+dev/Dockerfile | 3 +++ XeonE3/ubuntu-16.04/dldt+gst/Dockerfile | 3 +++ XeonE3/ubuntu-16.04/ffmpeg+gst+dev/Dockerfile | 3 +++ XeonE3/ubuntu-18.04/dldt+gst/Dockerfile | 3 +++ XeonE3/ubuntu-18.04/ffmpeg+gst+dev/Dockerfile | 3 +++ template/dldt-ie.m4 | 3 +++ 31 files changed, 93 insertions(+) diff --git a/VCA2/centos-7.4/ffmpeg+gst+dev/Dockerfile b/VCA2/centos-7.4/ffmpeg+gst+dev/Dockerfile index 56468b64a..904b93c49 100644 --- a/VCA2/centos-7.4/ffmpeg+gst+dev/Dockerfile +++ b/VCA2/centos-7.4/ffmpeg+gst+dev/Dockerfile @@ -313,6 +313,7 @@ RUN for p in /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inferen ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} +ENV PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${libdir}/pkgconfig/ #install Model Optimizer in the DLDT for Dev ARG PYTHON_TRUSTED_HOST @@ -548,6 +549,8 @@ ENV LIBVA_DRIVER_NAME=iHD ENV GST_VAAPI_ALL_DRIVERS=1 ENV DISPLAY=:0.0 ARG libdir=/opt/intel/dldt/inference-engine/lib/centos_7.4/intel64 +ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} +ENV PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${libdir}/pkgconfig/ ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share ENV PYTHONPATH=${PYTHONPATH}:/mo_libs diff --git a/VCA2/centos-7.5/ffmpeg+gst+dev/Dockerfile b/VCA2/centos-7.5/ffmpeg+gst+dev/Dockerfile index 8b7eb4e2f..abbf4de73 100644 --- a/VCA2/centos-7.5/ffmpeg+gst+dev/Dockerfile +++ b/VCA2/centos-7.5/ffmpeg+gst+dev/Dockerfile @@ -313,6 +313,7 @@ RUN for p in /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inferen ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} +ENV PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${libdir}/pkgconfig/ #install Model Optimizer in the DLDT for Dev ARG PYTHON_TRUSTED_HOST @@ -548,6 +549,8 @@ ENV LIBVA_DRIVER_NAME=iHD ENV GST_VAAPI_ALL_DRIVERS=1 ENV DISPLAY=:0.0 ARG libdir=/opt/intel/dldt/inference-engine/lib/centos_7.4/intel64 +ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} +ENV PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${libdir}/pkgconfig/ ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share ENV PYTHONPATH=${PYTHONPATH}:/mo_libs diff --git a/VCA2/centos-7.6/ffmpeg+gst+dev/Dockerfile b/VCA2/centos-7.6/ffmpeg+gst+dev/Dockerfile index 74ff2b21a..95cb73855 100644 --- a/VCA2/centos-7.6/ffmpeg+gst+dev/Dockerfile +++ b/VCA2/centos-7.6/ffmpeg+gst+dev/Dockerfile @@ -313,6 +313,7 @@ RUN for p in /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inferen ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} +ENV PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${libdir}/pkgconfig/ #install Model Optimizer in the DLDT for Dev ARG PYTHON_TRUSTED_HOST @@ -548,6 +549,8 @@ ENV LIBVA_DRIVER_NAME=iHD ENV GST_VAAPI_ALL_DRIVERS=1 ENV DISPLAY=:0.0 ARG libdir=/opt/intel/dldt/inference-engine/lib/centos_7.4/intel64 +ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} +ENV PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${libdir}/pkgconfig/ ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share ENV PYTHONPATH=${PYTHONPATH}:/mo_libs diff --git a/VCA2/ubuntu-16.04/ffmpeg+gst+dev/Dockerfile b/VCA2/ubuntu-16.04/ffmpeg+gst+dev/Dockerfile index 23e479bcd..ed5c4f894 100644 --- a/VCA2/ubuntu-16.04/ffmpeg+gst+dev/Dockerfile +++ b/VCA2/ubuntu-16.04/ffmpeg+gst+dev/Dockerfile @@ -304,6 +304,7 @@ RUN for p in /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inferen ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} +ENV PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${libdir}/pkgconfig/ #install Model Optimizer in the DLDT for Dev ARG PYTHON_TRUSTED_HOST @@ -534,6 +535,8 @@ ENV LIBVA_DRIVER_NAME=iHD ENV GST_VAAPI_ALL_DRIVERS=1 ENV DISPLAY=:0.0 ARG libdir=/opt/intel/dldt/inference-engine/lib/ubuntu_16.04/intel64 +ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} +ENV PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${libdir}/pkgconfig/ ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share ENV PYTHONPATH=${PYTHONPATH}:/mo_libs diff --git a/VCA2/ubuntu-18.04/ffmpeg+gst+dev/Dockerfile b/VCA2/ubuntu-18.04/ffmpeg+gst+dev/Dockerfile index 0795fd2b7..9c1dece00 100644 --- a/VCA2/ubuntu-18.04/ffmpeg+gst+dev/Dockerfile +++ b/VCA2/ubuntu-18.04/ffmpeg+gst+dev/Dockerfile @@ -305,6 +305,7 @@ RUN for p in /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inferen ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} +ENV PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${libdir}/pkgconfig/ #install Model Optimizer in the DLDT for Dev ARG PYTHON_TRUSTED_HOST @@ -537,6 +538,8 @@ ENV LIBVA_DRIVER_NAME=iHD ENV GST_VAAPI_ALL_DRIVERS=1 ENV DISPLAY=:0.0 ARG libdir=/opt/intel/dldt/inference-engine/lib/ubuntu_18.04/intel64 +ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} +ENV PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${libdir}/pkgconfig/ ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share ENV PYTHONPATH=${PYTHONPATH}:/mo_libs diff --git a/Xeon/centos-7.4/dldt+ffmpeg/Dockerfile b/Xeon/centos-7.4/dldt+ffmpeg/Dockerfile index 540020970..b440e52bf 100644 --- a/Xeon/centos-7.4/dldt+ffmpeg/Dockerfile +++ b/Xeon/centos-7.4/dldt+ffmpeg/Dockerfile @@ -263,6 +263,7 @@ RUN for p in /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inferen ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} +ENV PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${libdir}/pkgconfig/ #install Model Optimizer in the DLDT for Dev @@ -350,5 +351,7 @@ RUN yum install -y epel-release; \ # Install COPY --from=build /home/build / ARG libdir=/opt/intel/dldt/inference-engine/lib/centos_7.4/intel64 +ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} +ENV PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${libdir}/pkgconfig/ ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share diff --git a/Xeon/centos-7.4/dldt+gst/Dockerfile b/Xeon/centos-7.4/dldt+gst/Dockerfile index 2ae751dfc..07998605d 100644 --- a/Xeon/centos-7.4/dldt+gst/Dockerfile +++ b/Xeon/centos-7.4/dldt+gst/Dockerfile @@ -262,6 +262,7 @@ RUN for p in /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inferen ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} +ENV PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${libdir}/pkgconfig/ #install Model Optimizer in the DLDT for Dev @@ -467,6 +468,8 @@ libsoup libjpeg-turbo python36 ; \ # Install COPY --from=build /home/build / ARG libdir=/opt/intel/dldt/inference-engine/lib/centos_7.4/intel64 +ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} +ENV PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${libdir}/pkgconfig/ ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib64/gstreamer-1.0 ENV PKG_CONFIG_PATH=/usr/lib64/pkgconfig diff --git a/Xeon/centos-7.4/ffmpeg+gst+dev/Dockerfile b/Xeon/centos-7.4/ffmpeg+gst+dev/Dockerfile index 50d24a70c..76fda7f6e 100644 --- a/Xeon/centos-7.4/ffmpeg+gst+dev/Dockerfile +++ b/Xeon/centos-7.4/ffmpeg+gst+dev/Dockerfile @@ -263,6 +263,7 @@ RUN for p in /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inferen ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} +ENV PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${libdir}/pkgconfig/ #install Model Optimizer in the DLDT for Dev ARG PYTHON_TRUSTED_HOST @@ -537,6 +538,8 @@ libsoup libjpeg-turbo python36 ; \ # Install COPY --from=build /home/build / ARG libdir=/opt/intel/dldt/inference-engine/lib/centos_7.4/intel64 +ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} +ENV PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${libdir}/pkgconfig/ ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share ENV PYTHONPATH=${PYTHONPATH}:/mo_libs ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib64/gstreamer-1.0 diff --git a/Xeon/centos-7.5/dldt+ffmpeg/Dockerfile b/Xeon/centos-7.5/dldt+ffmpeg/Dockerfile index 892195834..4025cf872 100644 --- a/Xeon/centos-7.5/dldt+ffmpeg/Dockerfile +++ b/Xeon/centos-7.5/dldt+ffmpeg/Dockerfile @@ -263,6 +263,7 @@ RUN for p in /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inferen ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} +ENV PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${libdir}/pkgconfig/ #install Model Optimizer in the DLDT for Dev @@ -350,5 +351,7 @@ RUN yum install -y epel-release; \ # Install COPY --from=build /home/build / ARG libdir=/opt/intel/dldt/inference-engine/lib/centos_7.4/intel64 +ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} +ENV PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${libdir}/pkgconfig/ ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share diff --git a/Xeon/centos-7.5/dldt+gst/Dockerfile b/Xeon/centos-7.5/dldt+gst/Dockerfile index 6bcdfdd34..e561fc2a9 100644 --- a/Xeon/centos-7.5/dldt+gst/Dockerfile +++ b/Xeon/centos-7.5/dldt+gst/Dockerfile @@ -262,6 +262,7 @@ RUN for p in /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inferen ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} +ENV PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${libdir}/pkgconfig/ #install Model Optimizer in the DLDT for Dev @@ -466,6 +467,8 @@ libsoup libjpeg-turbo python36 ; \ # Install COPY --from=build /home/build / ARG libdir=/opt/intel/dldt/inference-engine/lib/centos_7.4/intel64 +ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} +ENV PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${libdir}/pkgconfig/ ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib64/gstreamer-1.0 ENV PKG_CONFIG_PATH=/usr/lib64/pkgconfig diff --git a/Xeon/centos-7.5/ffmpeg+gst+dev/Dockerfile b/Xeon/centos-7.5/ffmpeg+gst+dev/Dockerfile index 26677397d..91e06761b 100644 --- a/Xeon/centos-7.5/ffmpeg+gst+dev/Dockerfile +++ b/Xeon/centos-7.5/ffmpeg+gst+dev/Dockerfile @@ -263,6 +263,7 @@ RUN for p in /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inferen ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} +ENV PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${libdir}/pkgconfig/ #install Model Optimizer in the DLDT for Dev ARG PYTHON_TRUSTED_HOST @@ -536,6 +537,8 @@ libsoup libjpeg-turbo python36 ; \ # Install COPY --from=build /home/build / ARG libdir=/opt/intel/dldt/inference-engine/lib/centos_7.4/intel64 +ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} +ENV PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${libdir}/pkgconfig/ ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share ENV PYTHONPATH=${PYTHONPATH}:/mo_libs ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib64/gstreamer-1.0 diff --git a/Xeon/centos-7.6/dldt+ffmpeg/Dockerfile b/Xeon/centos-7.6/dldt+ffmpeg/Dockerfile index c59ced8fb..002a91374 100644 --- a/Xeon/centos-7.6/dldt+ffmpeg/Dockerfile +++ b/Xeon/centos-7.6/dldt+ffmpeg/Dockerfile @@ -263,6 +263,7 @@ RUN for p in /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inferen ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} +ENV PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${libdir}/pkgconfig/ #install Model Optimizer in the DLDT for Dev @@ -350,5 +351,7 @@ RUN yum install -y epel-release; \ # Install COPY --from=build /home/build / ARG libdir=/opt/intel/dldt/inference-engine/lib/centos_7.4/intel64 +ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} +ENV PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${libdir}/pkgconfig/ ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share diff --git a/Xeon/centos-7.6/dldt+gst/Dockerfile b/Xeon/centos-7.6/dldt+gst/Dockerfile index 188fbcbb8..112afea3b 100644 --- a/Xeon/centos-7.6/dldt+gst/Dockerfile +++ b/Xeon/centos-7.6/dldt+gst/Dockerfile @@ -262,6 +262,7 @@ RUN for p in /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inferen ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} +ENV PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${libdir}/pkgconfig/ #install Model Optimizer in the DLDT for Dev @@ -466,6 +467,8 @@ libsoup libjpeg-turbo python36 ; \ # Install COPY --from=build /home/build / ARG libdir=/opt/intel/dldt/inference-engine/lib/centos_7.4/intel64 +ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} +ENV PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${libdir}/pkgconfig/ ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib64/gstreamer-1.0 ENV PKG_CONFIG_PATH=/usr/lib64/pkgconfig diff --git a/Xeon/centos-7.6/ffmpeg+gst+dev/Dockerfile b/Xeon/centos-7.6/ffmpeg+gst+dev/Dockerfile index deb7de2cb..22efce0ee 100644 --- a/Xeon/centos-7.6/ffmpeg+gst+dev/Dockerfile +++ b/Xeon/centos-7.6/ffmpeg+gst+dev/Dockerfile @@ -263,6 +263,7 @@ RUN for p in /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inferen ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} +ENV PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${libdir}/pkgconfig/ #install Model Optimizer in the DLDT for Dev ARG PYTHON_TRUSTED_HOST @@ -536,6 +537,8 @@ libsoup libjpeg-turbo python36 ; \ # Install COPY --from=build /home/build / ARG libdir=/opt/intel/dldt/inference-engine/lib/centos_7.4/intel64 +ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} +ENV PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${libdir}/pkgconfig/ ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share ENV PYTHONPATH=${PYTHONPATH}:/mo_libs ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib64/gstreamer-1.0 diff --git a/Xeon/ubuntu-16.04/dldt+ffmpeg/Dockerfile b/Xeon/ubuntu-16.04/dldt+ffmpeg/Dockerfile index bce491f0f..5b4f06f61 100644 --- a/Xeon/ubuntu-16.04/dldt+ffmpeg/Dockerfile +++ b/Xeon/ubuntu-16.04/dldt+ffmpeg/Dockerfile @@ -253,6 +253,7 @@ RUN for p in /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inferen ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} +ENV PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${libdir}/pkgconfig/ #install Model Optimizer in the DLDT for Dev @@ -338,5 +339,7 @@ RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no- # Install COPY --from=build /home/build / ARG libdir=/opt/intel/dldt/inference-engine/lib/ubuntu_16.04/intel64 +ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} +ENV PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${libdir}/pkgconfig/ ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share diff --git a/Xeon/ubuntu-16.04/dldt+gst/Dockerfile b/Xeon/ubuntu-16.04/dldt+gst/Dockerfile index 41aac80ba..121267f8b 100644 --- a/Xeon/ubuntu-16.04/dldt+gst/Dockerfile +++ b/Xeon/ubuntu-16.04/dldt+gst/Dockerfile @@ -252,6 +252,7 @@ RUN for p in /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inferen ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} +ENV PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${libdir}/pkgconfig/ #install Model Optimizer in the DLDT for Dev @@ -455,6 +456,8 @@ RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no- # Install COPY --from=build /home/build / ARG libdir=/opt/intel/dldt/inference-engine/lib/ubuntu_16.04/intel64 +ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} +ENV PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${libdir}/pkgconfig/ ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/x86_64-linux-gnu/gstreamer-1.0 ENV PKG_CONFIG_PATH=/usr/lib/x86_64-linux-gnu/pkgconfig diff --git a/Xeon/ubuntu-16.04/ffmpeg+gst+dev/Dockerfile b/Xeon/ubuntu-16.04/ffmpeg+gst+dev/Dockerfile index e273901f8..aef4f1a5b 100644 --- a/Xeon/ubuntu-16.04/ffmpeg+gst+dev/Dockerfile +++ b/Xeon/ubuntu-16.04/ffmpeg+gst+dev/Dockerfile @@ -253,6 +253,7 @@ RUN for p in /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inferen ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} +ENV PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${libdir}/pkgconfig/ #install Model Optimizer in the DLDT for Dev ARG PYTHON_TRUSTED_HOST @@ -522,6 +523,8 @@ RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no- # Install COPY --from=build /home/build / ARG libdir=/opt/intel/dldt/inference-engine/lib/ubuntu_16.04/intel64 +ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} +ENV PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${libdir}/pkgconfig/ ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share ENV PYTHONPATH=${PYTHONPATH}:/mo_libs ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/x86_64-linux-gnu/gstreamer-1.0 diff --git a/Xeon/ubuntu-18.04/dldt+ffmpeg/Dockerfile b/Xeon/ubuntu-18.04/dldt+ffmpeg/Dockerfile index 090e60a51..0bc95cda3 100644 --- a/Xeon/ubuntu-18.04/dldt+ffmpeg/Dockerfile +++ b/Xeon/ubuntu-18.04/dldt+ffmpeg/Dockerfile @@ -254,6 +254,7 @@ RUN for p in /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inferen ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} +ENV PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${libdir}/pkgconfig/ #install Model Optimizer in the DLDT for Dev @@ -340,5 +341,7 @@ RUN ln -sf /usr/share/zoneinfo/UTC /etc/localtime; \ # Install COPY --from=build /home/build / ARG libdir=/opt/intel/dldt/inference-engine/lib/ubuntu_18.04/intel64 +ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} +ENV PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${libdir}/pkgconfig/ ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share diff --git a/Xeon/ubuntu-18.04/dldt+gst/Dockerfile b/Xeon/ubuntu-18.04/dldt+gst/Dockerfile index 853f5afad..a1b0d7c56 100644 --- a/Xeon/ubuntu-18.04/dldt+gst/Dockerfile +++ b/Xeon/ubuntu-18.04/dldt+gst/Dockerfile @@ -253,6 +253,7 @@ RUN for p in /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inferen ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} +ENV PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${libdir}/pkgconfig/ #install Model Optimizer in the DLDT for Dev @@ -458,6 +459,8 @@ RUN ln -sf /usr/share/zoneinfo/UTC /etc/localtime; \ # Install COPY --from=build /home/build / ARG libdir=/opt/intel/dldt/inference-engine/lib/ubuntu_18.04/intel64 +ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} +ENV PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${libdir}/pkgconfig/ ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/x86_64-linux-gnu/gstreamer-1.0 ENV PKG_CONFIG_PATH=/usr/lib/x86_64-linux-gnu/pkgconfig diff --git a/Xeon/ubuntu-18.04/ffmpeg+gst+dev/Dockerfile b/Xeon/ubuntu-18.04/ffmpeg+gst+dev/Dockerfile index 9a0faadfc..27878fdba 100644 --- a/Xeon/ubuntu-18.04/ffmpeg+gst+dev/Dockerfile +++ b/Xeon/ubuntu-18.04/ffmpeg+gst+dev/Dockerfile @@ -254,6 +254,7 @@ RUN for p in /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inferen ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} +ENV PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${libdir}/pkgconfig/ #install Model Optimizer in the DLDT for Dev ARG PYTHON_TRUSTED_HOST @@ -525,6 +526,8 @@ RUN ln -sf /usr/share/zoneinfo/UTC /etc/localtime; \ # Install COPY --from=build /home/build / ARG libdir=/opt/intel/dldt/inference-engine/lib/ubuntu_18.04/intel64 +ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} +ENV PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${libdir}/pkgconfig/ ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share ENV PYTHONPATH=${PYTHONPATH}:/mo_libs ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/x86_64-linux-gnu/gstreamer-1.0 diff --git a/XeonE3/centos-7.4/dldt+gst/Dockerfile b/XeonE3/centos-7.4/dldt+gst/Dockerfile index 6126b653c..8aad78b8a 100644 --- a/XeonE3/centos-7.4/dldt+gst/Dockerfile +++ b/XeonE3/centos-7.4/dldt+gst/Dockerfile @@ -340,6 +340,7 @@ RUN for p in /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inferen ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} +ENV PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${libdir}/pkgconfig/ #install Model Optimizer in the DLDT for Dev @@ -580,6 +581,8 @@ RUN ln -s /usr/lib64/libOpenCL.so.1 /usr/lib/libOpenCL.so ENV GST_VAAPI_ALL_DRIVERS=1 ENV DISPLAY=:0.0 ARG libdir=/opt/intel/dldt/inference-engine/lib/centos_7.4/intel64 +ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} +ENV PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${libdir}/pkgconfig/ ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib64/gstreamer-1.0 ENV PKG_CONFIG_PATH=/usr/lib64/pkgconfig diff --git a/XeonE3/centos-7.4/ffmpeg+gst+dev/Dockerfile b/XeonE3/centos-7.4/ffmpeg+gst+dev/Dockerfile index 898b6ed60..4ae856aba 100644 --- a/XeonE3/centos-7.4/ffmpeg+gst+dev/Dockerfile +++ b/XeonE3/centos-7.4/ffmpeg+gst+dev/Dockerfile @@ -339,6 +339,7 @@ RUN for p in /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inferen ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} +ENV PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${libdir}/pkgconfig/ #install Model Optimizer in the DLDT for Dev ARG PYTHON_TRUSTED_HOST @@ -648,6 +649,8 @@ RUN ln -s /usr/lib64/libOpenCL.so.1 /usr/lib/libOpenCL.so ENV GST_VAAPI_ALL_DRIVERS=1 ENV DISPLAY=:0.0 ARG libdir=/opt/intel/dldt/inference-engine/lib/centos_7.4/intel64 +ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} +ENV PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${libdir}/pkgconfig/ ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share ENV PYTHONPATH=${PYTHONPATH}:/mo_libs ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib64/gstreamer-1.0 diff --git a/XeonE3/centos-7.5/dldt+gst/Dockerfile b/XeonE3/centos-7.5/dldt+gst/Dockerfile index 1a65c2dde..2375accf8 100644 --- a/XeonE3/centos-7.5/dldt+gst/Dockerfile +++ b/XeonE3/centos-7.5/dldt+gst/Dockerfile @@ -340,6 +340,7 @@ RUN for p in /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inferen ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} +ENV PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${libdir}/pkgconfig/ #install Model Optimizer in the DLDT for Dev @@ -579,6 +580,8 @@ RUN ln -s /usr/lib64/libOpenCL.so.1 /usr/lib/libOpenCL.so ENV GST_VAAPI_ALL_DRIVERS=1 ENV DISPLAY=:0.0 ARG libdir=/opt/intel/dldt/inference-engine/lib/centos_7.4/intel64 +ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} +ENV PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${libdir}/pkgconfig/ ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib64/gstreamer-1.0 ENV PKG_CONFIG_PATH=/usr/lib64/pkgconfig diff --git a/XeonE3/centos-7.5/ffmpeg+gst+dev/Dockerfile b/XeonE3/centos-7.5/ffmpeg+gst+dev/Dockerfile index ac355030f..b943ba4c0 100644 --- a/XeonE3/centos-7.5/ffmpeg+gst+dev/Dockerfile +++ b/XeonE3/centos-7.5/ffmpeg+gst+dev/Dockerfile @@ -339,6 +339,7 @@ RUN for p in /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inferen ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} +ENV PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${libdir}/pkgconfig/ #install Model Optimizer in the DLDT for Dev ARG PYTHON_TRUSTED_HOST @@ -647,6 +648,8 @@ RUN ln -s /usr/lib64/libOpenCL.so.1 /usr/lib/libOpenCL.so ENV GST_VAAPI_ALL_DRIVERS=1 ENV DISPLAY=:0.0 ARG libdir=/opt/intel/dldt/inference-engine/lib/centos_7.4/intel64 +ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} +ENV PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${libdir}/pkgconfig/ ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share ENV PYTHONPATH=${PYTHONPATH}:/mo_libs ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib64/gstreamer-1.0 diff --git a/XeonE3/centos-7.6/dldt+gst/Dockerfile b/XeonE3/centos-7.6/dldt+gst/Dockerfile index fbdeef493..6d332418d 100644 --- a/XeonE3/centos-7.6/dldt+gst/Dockerfile +++ b/XeonE3/centos-7.6/dldt+gst/Dockerfile @@ -340,6 +340,7 @@ RUN for p in /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inferen ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} +ENV PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${libdir}/pkgconfig/ #install Model Optimizer in the DLDT for Dev @@ -579,6 +580,8 @@ RUN ln -s /usr/lib64/libOpenCL.so.1 /usr/lib/libOpenCL.so ENV GST_VAAPI_ALL_DRIVERS=1 ENV DISPLAY=:0.0 ARG libdir=/opt/intel/dldt/inference-engine/lib/centos_7.4/intel64 +ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} +ENV PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${libdir}/pkgconfig/ ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib64/gstreamer-1.0 ENV PKG_CONFIG_PATH=/usr/lib64/pkgconfig diff --git a/XeonE3/centos-7.6/ffmpeg+gst+dev/Dockerfile b/XeonE3/centos-7.6/ffmpeg+gst+dev/Dockerfile index d310996f8..192702a57 100644 --- a/XeonE3/centos-7.6/ffmpeg+gst+dev/Dockerfile +++ b/XeonE3/centos-7.6/ffmpeg+gst+dev/Dockerfile @@ -339,6 +339,7 @@ RUN for p in /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inferen ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} +ENV PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${libdir}/pkgconfig/ #install Model Optimizer in the DLDT for Dev ARG PYTHON_TRUSTED_HOST @@ -647,6 +648,8 @@ RUN ln -s /usr/lib64/libOpenCL.so.1 /usr/lib/libOpenCL.so ENV GST_VAAPI_ALL_DRIVERS=1 ENV DISPLAY=:0.0 ARG libdir=/opt/intel/dldt/inference-engine/lib/centos_7.4/intel64 +ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} +ENV PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${libdir}/pkgconfig/ ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share ENV PYTHONPATH=${PYTHONPATH}:/mo_libs ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib64/gstreamer-1.0 diff --git a/XeonE3/ubuntu-16.04/dldt+gst/Dockerfile b/XeonE3/ubuntu-16.04/dldt+gst/Dockerfile index a7c7ab7c0..2a80e375a 100644 --- a/XeonE3/ubuntu-16.04/dldt+gst/Dockerfile +++ b/XeonE3/ubuntu-16.04/dldt+gst/Dockerfile @@ -351,6 +351,7 @@ RUN for p in /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inferen ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} +ENV PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${libdir}/pkgconfig/ #install Model Optimizer in the DLDT for Dev @@ -584,6 +585,8 @@ RUN apt-get update && apt-get install -y clinfo ENV GST_VAAPI_ALL_DRIVERS=1 ENV DISPLAY=:0.0 ARG libdir=/opt/intel/dldt/inference-engine/lib/ubuntu_16.04/intel64 +ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} +ENV PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${libdir}/pkgconfig/ ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/x86_64-linux-gnu/gstreamer-1.0 ENV PKG_CONFIG_PATH=/usr/lib/x86_64-linux-gnu/pkgconfig diff --git a/XeonE3/ubuntu-16.04/ffmpeg+gst+dev/Dockerfile b/XeonE3/ubuntu-16.04/ffmpeg+gst+dev/Dockerfile index e02c394da..678558e0b 100644 --- a/XeonE3/ubuntu-16.04/ffmpeg+gst+dev/Dockerfile +++ b/XeonE3/ubuntu-16.04/ffmpeg+gst+dev/Dockerfile @@ -350,6 +350,7 @@ RUN for p in /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inferen ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} +ENV PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${libdir}/pkgconfig/ #install Model Optimizer in the DLDT for Dev ARG PYTHON_TRUSTED_HOST @@ -649,6 +650,8 @@ RUN apt-get update && apt-get install -y clinfo ENV GST_VAAPI_ALL_DRIVERS=1 ENV DISPLAY=:0.0 ARG libdir=/opt/intel/dldt/inference-engine/lib/ubuntu_16.04/intel64 +ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} +ENV PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${libdir}/pkgconfig/ ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share ENV PYTHONPATH=${PYTHONPATH}:/mo_libs ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/x86_64-linux-gnu/gstreamer-1.0 diff --git a/XeonE3/ubuntu-18.04/dldt+gst/Dockerfile b/XeonE3/ubuntu-18.04/dldt+gst/Dockerfile index e3393bcf5..eb9963f3f 100644 --- a/XeonE3/ubuntu-18.04/dldt+gst/Dockerfile +++ b/XeonE3/ubuntu-18.04/dldt+gst/Dockerfile @@ -352,6 +352,7 @@ RUN for p in /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inferen ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} +ENV PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${libdir}/pkgconfig/ #install Model Optimizer in the DLDT for Dev @@ -587,6 +588,8 @@ RUN apt-get update && apt-get install -y clinfo ENV GST_VAAPI_ALL_DRIVERS=1 ENV DISPLAY=:0.0 ARG libdir=/opt/intel/dldt/inference-engine/lib/ubuntu_18.04/intel64 +ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} +ENV PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${libdir}/pkgconfig/ ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/x86_64-linux-gnu/gstreamer-1.0 ENV PKG_CONFIG_PATH=/usr/lib/x86_64-linux-gnu/pkgconfig diff --git a/XeonE3/ubuntu-18.04/ffmpeg+gst+dev/Dockerfile b/XeonE3/ubuntu-18.04/ffmpeg+gst+dev/Dockerfile index 8a0818557..e46596095 100644 --- a/XeonE3/ubuntu-18.04/ffmpeg+gst+dev/Dockerfile +++ b/XeonE3/ubuntu-18.04/ffmpeg+gst+dev/Dockerfile @@ -351,6 +351,7 @@ RUN for p in /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inferen ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} +ENV PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${libdir}/pkgconfig/ #install Model Optimizer in the DLDT for Dev ARG PYTHON_TRUSTED_HOST @@ -652,6 +653,8 @@ RUN apt-get update && apt-get install -y clinfo ENV GST_VAAPI_ALL_DRIVERS=1 ENV DISPLAY=:0.0 ARG libdir=/opt/intel/dldt/inference-engine/lib/ubuntu_18.04/intel64 +ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} +ENV PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${libdir}/pkgconfig/ ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share ENV PYTHONPATH=${PYTHONPATH}:/mo_libs ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/x86_64-linux-gnu/gstreamer-1.0 diff --git a/template/dldt-ie.m4 b/template/dldt-ie.m4 index 6fa599722..a213a2fc4 100644 --- a/template/dldt-ie.m4 +++ b/template/dldt-ie.m4 @@ -73,6 +73,7 @@ define(`FFMPEG_CONFIG_DLDT_IE',--enable-libinference_engine )dnl ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} +ENV PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${libdir}/pkgconfig/ #install Model Optimizer in the DLDT for Dev ifelse(index(DOCKER_IMAGE,-dev),-1,, @@ -129,5 +130,7 @@ ARG libdir=/opt/intel/dldt/inference-engine/lib/ubuntu_18.04/intel64 ifelse(index(DOCKER_IMAGE,centos),-1,, ARG libdir=/opt/intel/dldt/inference-engine/lib/centos_7.4/intel64 )dnl +ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} +ENV PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${libdir}/pkgconfig/ ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share )dnl From 037f317ec9089cfe9cdf05d652f39f2d2a6dc7d7 Mon Sep 17 00:00:00 2001 From: cssdk Date: Fri, 22 Mar 2019 18:49:12 +0000 Subject: [PATCH 3/9] Moved pkgconfig pc file for dldt to default installation directory --- VCA2/centos-7.4/ffmpeg+gst+dev/Dockerfile | 9 ++++----- VCA2/centos-7.5/ffmpeg+gst+dev/Dockerfile | 9 ++++----- VCA2/centos-7.6/ffmpeg+gst+dev/Dockerfile | 9 ++++----- VCA2/ubuntu-16.04/ffmpeg+gst+dev/Dockerfile | 9 ++++----- VCA2/ubuntu-18.04/ffmpeg+gst+dev/Dockerfile | 9 ++++----- Xeon/centos-7.4/dldt+ffmpeg/Dockerfile | 9 ++++----- Xeon/centos-7.4/dldt+gst/Dockerfile | 9 ++++----- Xeon/centos-7.4/ffmpeg+gst+dev/Dockerfile | 9 ++++----- Xeon/centos-7.5/dldt+ffmpeg/Dockerfile | 9 ++++----- Xeon/centos-7.5/dldt+gst/Dockerfile | 9 ++++----- Xeon/centos-7.5/ffmpeg+gst+dev/Dockerfile | 9 ++++----- Xeon/centos-7.6/dldt+ffmpeg/Dockerfile | 9 ++++----- Xeon/centos-7.6/dldt+gst/Dockerfile | 9 ++++----- Xeon/centos-7.6/ffmpeg+gst+dev/Dockerfile | 9 ++++----- Xeon/ubuntu-16.04/dldt+ffmpeg/Dockerfile | 9 ++++----- Xeon/ubuntu-16.04/dldt+gst/Dockerfile | 9 ++++----- Xeon/ubuntu-16.04/ffmpeg+gst+dev/Dockerfile | 9 ++++----- Xeon/ubuntu-18.04/dldt+ffmpeg/Dockerfile | 9 ++++----- Xeon/ubuntu-18.04/dldt+gst/Dockerfile | 9 ++++----- Xeon/ubuntu-18.04/ffmpeg+gst+dev/Dockerfile | 9 ++++----- XeonE3/centos-7.4/dldt+gst/Dockerfile | 9 ++++----- XeonE3/centos-7.4/ffmpeg+gst+dev/Dockerfile | 9 ++++----- XeonE3/centos-7.5/dldt+gst/Dockerfile | 9 ++++----- XeonE3/centos-7.5/ffmpeg+gst+dev/Dockerfile | 9 ++++----- XeonE3/centos-7.6/dldt+gst/Dockerfile | 9 ++++----- XeonE3/centos-7.6/ffmpeg+gst+dev/Dockerfile | 9 ++++----- XeonE3/ubuntu-16.04/dldt+gst/Dockerfile | 9 ++++----- XeonE3/ubuntu-16.04/ffmpeg+gst+dev/Dockerfile | 9 ++++----- XeonE3/ubuntu-18.04/dldt+gst/Dockerfile | 9 ++++----- XeonE3/ubuntu-18.04/ffmpeg+gst+dev/Dockerfile | 9 ++++----- template/dldt-ie.m4 | 9 ++++----- 31 files changed, 124 insertions(+), 155 deletions(-) diff --git a/VCA2/centos-7.4/ffmpeg+gst+dev/Dockerfile b/VCA2/centos-7.4/ffmpeg+gst+dev/Dockerfile index 904b93c49..418356726 100644 --- a/VCA2/centos-7.4/ffmpeg+gst+dev/Dockerfile +++ b/VCA2/centos-7.4/ffmpeg+gst+dev/Dockerfile @@ -296,9 +296,10 @@ RUN mkdir -p build/opt/intel/dldt/inference-engine/include && \ mkdir -p build/opt/intel/dldt/inference-engine/external/omp/lib && \ cp -r dldt/inference-engine/temp/omp/lib/* build/opt/intel/dldt/inference-engine/external/omp/lib/ -RUN for p in /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inference-engine; do \ - mkdir -p "${libdir}/pkgconfig" && \ - pc="${libdir}/pkgconfig/dldt.pc" && \ +RUN for p in /usr /home/build/usr /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inference-engine; do \ + pkgconfiglibdir="$p/lib64" && \ + mkdir -p "${pkgconfiglibdir}/pkgconfig" && \ + pc="${pkgconfiglibdir}/pkgconfig/dldt.pc" && \ echo "prefix=/opt" > "$pc" && \ echo "libdir=${libdir}" >> "$pc" && \ echo "includedir=/opt/intel/dldt/inference-engine/include" >> "$pc" && \ @@ -313,7 +314,6 @@ RUN for p in /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inferen ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} -ENV PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${libdir}/pkgconfig/ #install Model Optimizer in the DLDT for Dev ARG PYTHON_TRUSTED_HOST @@ -550,7 +550,6 @@ ENV GST_VAAPI_ALL_DRIVERS=1 ENV DISPLAY=:0.0 ARG libdir=/opt/intel/dldt/inference-engine/lib/centos_7.4/intel64 ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} -ENV PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${libdir}/pkgconfig/ ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share ENV PYTHONPATH=${PYTHONPATH}:/mo_libs diff --git a/VCA2/centos-7.5/ffmpeg+gst+dev/Dockerfile b/VCA2/centos-7.5/ffmpeg+gst+dev/Dockerfile index abbf4de73..7bc30e99e 100644 --- a/VCA2/centos-7.5/ffmpeg+gst+dev/Dockerfile +++ b/VCA2/centos-7.5/ffmpeg+gst+dev/Dockerfile @@ -296,9 +296,10 @@ RUN mkdir -p build/opt/intel/dldt/inference-engine/include && \ mkdir -p build/opt/intel/dldt/inference-engine/external/omp/lib && \ cp -r dldt/inference-engine/temp/omp/lib/* build/opt/intel/dldt/inference-engine/external/omp/lib/ -RUN for p in /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inference-engine; do \ - mkdir -p "${libdir}/pkgconfig" && \ - pc="${libdir}/pkgconfig/dldt.pc" && \ +RUN for p in /usr /home/build/usr /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inference-engine; do \ + pkgconfiglibdir="$p/lib64" && \ + mkdir -p "${pkgconfiglibdir}/pkgconfig" && \ + pc="${pkgconfiglibdir}/pkgconfig/dldt.pc" && \ echo "prefix=/opt" > "$pc" && \ echo "libdir=${libdir}" >> "$pc" && \ echo "includedir=/opt/intel/dldt/inference-engine/include" >> "$pc" && \ @@ -313,7 +314,6 @@ RUN for p in /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inferen ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} -ENV PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${libdir}/pkgconfig/ #install Model Optimizer in the DLDT for Dev ARG PYTHON_TRUSTED_HOST @@ -550,7 +550,6 @@ ENV GST_VAAPI_ALL_DRIVERS=1 ENV DISPLAY=:0.0 ARG libdir=/opt/intel/dldt/inference-engine/lib/centos_7.4/intel64 ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} -ENV PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${libdir}/pkgconfig/ ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share ENV PYTHONPATH=${PYTHONPATH}:/mo_libs diff --git a/VCA2/centos-7.6/ffmpeg+gst+dev/Dockerfile b/VCA2/centos-7.6/ffmpeg+gst+dev/Dockerfile index 95cb73855..04bf9cc59 100644 --- a/VCA2/centos-7.6/ffmpeg+gst+dev/Dockerfile +++ b/VCA2/centos-7.6/ffmpeg+gst+dev/Dockerfile @@ -296,9 +296,10 @@ RUN mkdir -p build/opt/intel/dldt/inference-engine/include && \ mkdir -p build/opt/intel/dldt/inference-engine/external/omp/lib && \ cp -r dldt/inference-engine/temp/omp/lib/* build/opt/intel/dldt/inference-engine/external/omp/lib/ -RUN for p in /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inference-engine; do \ - mkdir -p "${libdir}/pkgconfig" && \ - pc="${libdir}/pkgconfig/dldt.pc" && \ +RUN for p in /usr /home/build/usr /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inference-engine; do \ + pkgconfiglibdir="$p/lib64" && \ + mkdir -p "${pkgconfiglibdir}/pkgconfig" && \ + pc="${pkgconfiglibdir}/pkgconfig/dldt.pc" && \ echo "prefix=/opt" > "$pc" && \ echo "libdir=${libdir}" >> "$pc" && \ echo "includedir=/opt/intel/dldt/inference-engine/include" >> "$pc" && \ @@ -313,7 +314,6 @@ RUN for p in /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inferen ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} -ENV PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${libdir}/pkgconfig/ #install Model Optimizer in the DLDT for Dev ARG PYTHON_TRUSTED_HOST @@ -550,7 +550,6 @@ ENV GST_VAAPI_ALL_DRIVERS=1 ENV DISPLAY=:0.0 ARG libdir=/opt/intel/dldt/inference-engine/lib/centos_7.4/intel64 ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} -ENV PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${libdir}/pkgconfig/ ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share ENV PYTHONPATH=${PYTHONPATH}:/mo_libs diff --git a/VCA2/ubuntu-16.04/ffmpeg+gst+dev/Dockerfile b/VCA2/ubuntu-16.04/ffmpeg+gst+dev/Dockerfile index ed5c4f894..c63666aad 100644 --- a/VCA2/ubuntu-16.04/ffmpeg+gst+dev/Dockerfile +++ b/VCA2/ubuntu-16.04/ffmpeg+gst+dev/Dockerfile @@ -287,9 +287,10 @@ RUN mkdir -p build/opt/intel/dldt/inference-engine/include && \ mkdir -p build/opt/intel/dldt/inference-engine/external/omp/lib && \ cp -r dldt/inference-engine/temp/omp/lib/* build/opt/intel/dldt/inference-engine/external/omp/lib/ -RUN for p in /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inference-engine; do \ - mkdir -p "${libdir}/pkgconfig" && \ - pc="${libdir}/pkgconfig/dldt.pc" && \ +RUN for p in /usr /home/build/usr /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inference-engine; do \ + pkgconfiglibdir="$p/lib/x86_64-linux-gnu" && \ + mkdir -p "${pkgconfiglibdir}/pkgconfig" && \ + pc="${pkgconfiglibdir}/pkgconfig/dldt.pc" && \ echo "prefix=/opt" > "$pc" && \ echo "libdir=${libdir}" >> "$pc" && \ echo "includedir=/opt/intel/dldt/inference-engine/include" >> "$pc" && \ @@ -304,7 +305,6 @@ RUN for p in /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inferen ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} -ENV PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${libdir}/pkgconfig/ #install Model Optimizer in the DLDT for Dev ARG PYTHON_TRUSTED_HOST @@ -536,7 +536,6 @@ ENV GST_VAAPI_ALL_DRIVERS=1 ENV DISPLAY=:0.0 ARG libdir=/opt/intel/dldt/inference-engine/lib/ubuntu_16.04/intel64 ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} -ENV PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${libdir}/pkgconfig/ ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share ENV PYTHONPATH=${PYTHONPATH}:/mo_libs diff --git a/VCA2/ubuntu-18.04/ffmpeg+gst+dev/Dockerfile b/VCA2/ubuntu-18.04/ffmpeg+gst+dev/Dockerfile index 9c1dece00..db40963c9 100644 --- a/VCA2/ubuntu-18.04/ffmpeg+gst+dev/Dockerfile +++ b/VCA2/ubuntu-18.04/ffmpeg+gst+dev/Dockerfile @@ -288,9 +288,10 @@ RUN mkdir -p build/opt/intel/dldt/inference-engine/include && \ mkdir -p build/opt/intel/dldt/inference-engine/external/omp/lib && \ cp -r dldt/inference-engine/temp/omp/lib/* build/opt/intel/dldt/inference-engine/external/omp/lib/ -RUN for p in /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inference-engine; do \ - mkdir -p "${libdir}/pkgconfig" && \ - pc="${libdir}/pkgconfig/dldt.pc" && \ +RUN for p in /usr /home/build/usr /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inference-engine; do \ + pkgconfiglibdir="$p/lib/x86_64-linux-gnu" && \ + mkdir -p "${pkgconfiglibdir}/pkgconfig" && \ + pc="${pkgconfiglibdir}/pkgconfig/dldt.pc" && \ echo "prefix=/opt" > "$pc" && \ echo "libdir=${libdir}" >> "$pc" && \ echo "includedir=/opt/intel/dldt/inference-engine/include" >> "$pc" && \ @@ -305,7 +306,6 @@ RUN for p in /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inferen ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} -ENV PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${libdir}/pkgconfig/ #install Model Optimizer in the DLDT for Dev ARG PYTHON_TRUSTED_HOST @@ -539,7 +539,6 @@ ENV GST_VAAPI_ALL_DRIVERS=1 ENV DISPLAY=:0.0 ARG libdir=/opt/intel/dldt/inference-engine/lib/ubuntu_18.04/intel64 ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} -ENV PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${libdir}/pkgconfig/ ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share ENV PYTHONPATH=${PYTHONPATH}:/mo_libs diff --git a/Xeon/centos-7.4/dldt+ffmpeg/Dockerfile b/Xeon/centos-7.4/dldt+ffmpeg/Dockerfile index b440e52bf..26c7840e2 100644 --- a/Xeon/centos-7.4/dldt+ffmpeg/Dockerfile +++ b/Xeon/centos-7.4/dldt+ffmpeg/Dockerfile @@ -246,9 +246,10 @@ RUN mkdir -p build/opt/intel/dldt/inference-engine/include && \ mkdir -p build/opt/intel/dldt/inference-engine/external/omp/lib && \ cp -r dldt/inference-engine/temp/omp/lib/* build/opt/intel/dldt/inference-engine/external/omp/lib/ -RUN for p in /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inference-engine; do \ - mkdir -p "${libdir}/pkgconfig" && \ - pc="${libdir}/pkgconfig/dldt.pc" && \ +RUN for p in /usr /home/build/usr /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inference-engine; do \ + pkgconfiglibdir="$p/lib64" && \ + mkdir -p "${pkgconfiglibdir}/pkgconfig" && \ + pc="${pkgconfiglibdir}/pkgconfig/dldt.pc" && \ echo "prefix=/opt" > "$pc" && \ echo "libdir=${libdir}" >> "$pc" && \ echo "includedir=/opt/intel/dldt/inference-engine/include" >> "$pc" && \ @@ -263,7 +264,6 @@ RUN for p in /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inferen ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} -ENV PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${libdir}/pkgconfig/ #install Model Optimizer in the DLDT for Dev @@ -352,6 +352,5 @@ RUN yum install -y epel-release; \ COPY --from=build /home/build / ARG libdir=/opt/intel/dldt/inference-engine/lib/centos_7.4/intel64 ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} -ENV PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${libdir}/pkgconfig/ ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share diff --git a/Xeon/centos-7.4/dldt+gst/Dockerfile b/Xeon/centos-7.4/dldt+gst/Dockerfile index 07998605d..941c3778a 100644 --- a/Xeon/centos-7.4/dldt+gst/Dockerfile +++ b/Xeon/centos-7.4/dldt+gst/Dockerfile @@ -245,9 +245,10 @@ RUN mkdir -p build/opt/intel/dldt/inference-engine/include && \ mkdir -p build/opt/intel/dldt/inference-engine/external/omp/lib && \ cp -r dldt/inference-engine/temp/omp/lib/* build/opt/intel/dldt/inference-engine/external/omp/lib/ -RUN for p in /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inference-engine; do \ - mkdir -p "${libdir}/pkgconfig" && \ - pc="${libdir}/pkgconfig/dldt.pc" && \ +RUN for p in /usr /home/build/usr /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inference-engine; do \ + pkgconfiglibdir="$p/lib64" && \ + mkdir -p "${pkgconfiglibdir}/pkgconfig" && \ + pc="${pkgconfiglibdir}/pkgconfig/dldt.pc" && \ echo "prefix=/opt" > "$pc" && \ echo "libdir=${libdir}" >> "$pc" && \ echo "includedir=/opt/intel/dldt/inference-engine/include" >> "$pc" && \ @@ -262,7 +263,6 @@ RUN for p in /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inferen ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} -ENV PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${libdir}/pkgconfig/ #install Model Optimizer in the DLDT for Dev @@ -469,7 +469,6 @@ libsoup libjpeg-turbo python36 ; \ COPY --from=build /home/build / ARG libdir=/opt/intel/dldt/inference-engine/lib/centos_7.4/intel64 ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} -ENV PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${libdir}/pkgconfig/ ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib64/gstreamer-1.0 ENV PKG_CONFIG_PATH=/usr/lib64/pkgconfig diff --git a/Xeon/centos-7.4/ffmpeg+gst+dev/Dockerfile b/Xeon/centos-7.4/ffmpeg+gst+dev/Dockerfile index 76fda7f6e..8b8336657 100644 --- a/Xeon/centos-7.4/ffmpeg+gst+dev/Dockerfile +++ b/Xeon/centos-7.4/ffmpeg+gst+dev/Dockerfile @@ -246,9 +246,10 @@ RUN mkdir -p build/opt/intel/dldt/inference-engine/include && \ mkdir -p build/opt/intel/dldt/inference-engine/external/omp/lib && \ cp -r dldt/inference-engine/temp/omp/lib/* build/opt/intel/dldt/inference-engine/external/omp/lib/ -RUN for p in /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inference-engine; do \ - mkdir -p "${libdir}/pkgconfig" && \ - pc="${libdir}/pkgconfig/dldt.pc" && \ +RUN for p in /usr /home/build/usr /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inference-engine; do \ + pkgconfiglibdir="$p/lib64" && \ + mkdir -p "${pkgconfiglibdir}/pkgconfig" && \ + pc="${pkgconfiglibdir}/pkgconfig/dldt.pc" && \ echo "prefix=/opt" > "$pc" && \ echo "libdir=${libdir}" >> "$pc" && \ echo "includedir=/opt/intel/dldt/inference-engine/include" >> "$pc" && \ @@ -263,7 +264,6 @@ RUN for p in /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inferen ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} -ENV PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${libdir}/pkgconfig/ #install Model Optimizer in the DLDT for Dev ARG PYTHON_TRUSTED_HOST @@ -539,7 +539,6 @@ libsoup libjpeg-turbo python36 ; \ COPY --from=build /home/build / ARG libdir=/opt/intel/dldt/inference-engine/lib/centos_7.4/intel64 ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} -ENV PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${libdir}/pkgconfig/ ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share ENV PYTHONPATH=${PYTHONPATH}:/mo_libs ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib64/gstreamer-1.0 diff --git a/Xeon/centos-7.5/dldt+ffmpeg/Dockerfile b/Xeon/centos-7.5/dldt+ffmpeg/Dockerfile index 4025cf872..5fe7287ab 100644 --- a/Xeon/centos-7.5/dldt+ffmpeg/Dockerfile +++ b/Xeon/centos-7.5/dldt+ffmpeg/Dockerfile @@ -246,9 +246,10 @@ RUN mkdir -p build/opt/intel/dldt/inference-engine/include && \ mkdir -p build/opt/intel/dldt/inference-engine/external/omp/lib && \ cp -r dldt/inference-engine/temp/omp/lib/* build/opt/intel/dldt/inference-engine/external/omp/lib/ -RUN for p in /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inference-engine; do \ - mkdir -p "${libdir}/pkgconfig" && \ - pc="${libdir}/pkgconfig/dldt.pc" && \ +RUN for p in /usr /home/build/usr /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inference-engine; do \ + pkgconfiglibdir="$p/lib64" && \ + mkdir -p "${pkgconfiglibdir}/pkgconfig" && \ + pc="${pkgconfiglibdir}/pkgconfig/dldt.pc" && \ echo "prefix=/opt" > "$pc" && \ echo "libdir=${libdir}" >> "$pc" && \ echo "includedir=/opt/intel/dldt/inference-engine/include" >> "$pc" && \ @@ -263,7 +264,6 @@ RUN for p in /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inferen ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} -ENV PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${libdir}/pkgconfig/ #install Model Optimizer in the DLDT for Dev @@ -352,6 +352,5 @@ RUN yum install -y epel-release; \ COPY --from=build /home/build / ARG libdir=/opt/intel/dldt/inference-engine/lib/centos_7.4/intel64 ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} -ENV PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${libdir}/pkgconfig/ ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share diff --git a/Xeon/centos-7.5/dldt+gst/Dockerfile b/Xeon/centos-7.5/dldt+gst/Dockerfile index e561fc2a9..219bb5136 100644 --- a/Xeon/centos-7.5/dldt+gst/Dockerfile +++ b/Xeon/centos-7.5/dldt+gst/Dockerfile @@ -245,9 +245,10 @@ RUN mkdir -p build/opt/intel/dldt/inference-engine/include && \ mkdir -p build/opt/intel/dldt/inference-engine/external/omp/lib && \ cp -r dldt/inference-engine/temp/omp/lib/* build/opt/intel/dldt/inference-engine/external/omp/lib/ -RUN for p in /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inference-engine; do \ - mkdir -p "${libdir}/pkgconfig" && \ - pc="${libdir}/pkgconfig/dldt.pc" && \ +RUN for p in /usr /home/build/usr /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inference-engine; do \ + pkgconfiglibdir="$p/lib64" && \ + mkdir -p "${pkgconfiglibdir}/pkgconfig" && \ + pc="${pkgconfiglibdir}/pkgconfig/dldt.pc" && \ echo "prefix=/opt" > "$pc" && \ echo "libdir=${libdir}" >> "$pc" && \ echo "includedir=/opt/intel/dldt/inference-engine/include" >> "$pc" && \ @@ -262,7 +263,6 @@ RUN for p in /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inferen ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} -ENV PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${libdir}/pkgconfig/ #install Model Optimizer in the DLDT for Dev @@ -468,7 +468,6 @@ libsoup libjpeg-turbo python36 ; \ COPY --from=build /home/build / ARG libdir=/opt/intel/dldt/inference-engine/lib/centos_7.4/intel64 ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} -ENV PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${libdir}/pkgconfig/ ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib64/gstreamer-1.0 ENV PKG_CONFIG_PATH=/usr/lib64/pkgconfig diff --git a/Xeon/centos-7.5/ffmpeg+gst+dev/Dockerfile b/Xeon/centos-7.5/ffmpeg+gst+dev/Dockerfile index 91e06761b..c94174b9b 100644 --- a/Xeon/centos-7.5/ffmpeg+gst+dev/Dockerfile +++ b/Xeon/centos-7.5/ffmpeg+gst+dev/Dockerfile @@ -246,9 +246,10 @@ RUN mkdir -p build/opt/intel/dldt/inference-engine/include && \ mkdir -p build/opt/intel/dldt/inference-engine/external/omp/lib && \ cp -r dldt/inference-engine/temp/omp/lib/* build/opt/intel/dldt/inference-engine/external/omp/lib/ -RUN for p in /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inference-engine; do \ - mkdir -p "${libdir}/pkgconfig" && \ - pc="${libdir}/pkgconfig/dldt.pc" && \ +RUN for p in /usr /home/build/usr /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inference-engine; do \ + pkgconfiglibdir="$p/lib64" && \ + mkdir -p "${pkgconfiglibdir}/pkgconfig" && \ + pc="${pkgconfiglibdir}/pkgconfig/dldt.pc" && \ echo "prefix=/opt" > "$pc" && \ echo "libdir=${libdir}" >> "$pc" && \ echo "includedir=/opt/intel/dldt/inference-engine/include" >> "$pc" && \ @@ -263,7 +264,6 @@ RUN for p in /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inferen ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} -ENV PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${libdir}/pkgconfig/ #install Model Optimizer in the DLDT for Dev ARG PYTHON_TRUSTED_HOST @@ -538,7 +538,6 @@ libsoup libjpeg-turbo python36 ; \ COPY --from=build /home/build / ARG libdir=/opt/intel/dldt/inference-engine/lib/centos_7.4/intel64 ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} -ENV PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${libdir}/pkgconfig/ ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share ENV PYTHONPATH=${PYTHONPATH}:/mo_libs ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib64/gstreamer-1.0 diff --git a/Xeon/centos-7.6/dldt+ffmpeg/Dockerfile b/Xeon/centos-7.6/dldt+ffmpeg/Dockerfile index 002a91374..fb59d07cc 100644 --- a/Xeon/centos-7.6/dldt+ffmpeg/Dockerfile +++ b/Xeon/centos-7.6/dldt+ffmpeg/Dockerfile @@ -246,9 +246,10 @@ RUN mkdir -p build/opt/intel/dldt/inference-engine/include && \ mkdir -p build/opt/intel/dldt/inference-engine/external/omp/lib && \ cp -r dldt/inference-engine/temp/omp/lib/* build/opt/intel/dldt/inference-engine/external/omp/lib/ -RUN for p in /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inference-engine; do \ - mkdir -p "${libdir}/pkgconfig" && \ - pc="${libdir}/pkgconfig/dldt.pc" && \ +RUN for p in /usr /home/build/usr /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inference-engine; do \ + pkgconfiglibdir="$p/lib64" && \ + mkdir -p "${pkgconfiglibdir}/pkgconfig" && \ + pc="${pkgconfiglibdir}/pkgconfig/dldt.pc" && \ echo "prefix=/opt" > "$pc" && \ echo "libdir=${libdir}" >> "$pc" && \ echo "includedir=/opt/intel/dldt/inference-engine/include" >> "$pc" && \ @@ -263,7 +264,6 @@ RUN for p in /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inferen ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} -ENV PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${libdir}/pkgconfig/ #install Model Optimizer in the DLDT for Dev @@ -352,6 +352,5 @@ RUN yum install -y epel-release; \ COPY --from=build /home/build / ARG libdir=/opt/intel/dldt/inference-engine/lib/centos_7.4/intel64 ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} -ENV PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${libdir}/pkgconfig/ ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share diff --git a/Xeon/centos-7.6/dldt+gst/Dockerfile b/Xeon/centos-7.6/dldt+gst/Dockerfile index 112afea3b..2c5e1059e 100644 --- a/Xeon/centos-7.6/dldt+gst/Dockerfile +++ b/Xeon/centos-7.6/dldt+gst/Dockerfile @@ -245,9 +245,10 @@ RUN mkdir -p build/opt/intel/dldt/inference-engine/include && \ mkdir -p build/opt/intel/dldt/inference-engine/external/omp/lib && \ cp -r dldt/inference-engine/temp/omp/lib/* build/opt/intel/dldt/inference-engine/external/omp/lib/ -RUN for p in /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inference-engine; do \ - mkdir -p "${libdir}/pkgconfig" && \ - pc="${libdir}/pkgconfig/dldt.pc" && \ +RUN for p in /usr /home/build/usr /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inference-engine; do \ + pkgconfiglibdir="$p/lib64" && \ + mkdir -p "${pkgconfiglibdir}/pkgconfig" && \ + pc="${pkgconfiglibdir}/pkgconfig/dldt.pc" && \ echo "prefix=/opt" > "$pc" && \ echo "libdir=${libdir}" >> "$pc" && \ echo "includedir=/opt/intel/dldt/inference-engine/include" >> "$pc" && \ @@ -262,7 +263,6 @@ RUN for p in /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inferen ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} -ENV PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${libdir}/pkgconfig/ #install Model Optimizer in the DLDT for Dev @@ -468,7 +468,6 @@ libsoup libjpeg-turbo python36 ; \ COPY --from=build /home/build / ARG libdir=/opt/intel/dldt/inference-engine/lib/centos_7.4/intel64 ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} -ENV PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${libdir}/pkgconfig/ ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib64/gstreamer-1.0 ENV PKG_CONFIG_PATH=/usr/lib64/pkgconfig diff --git a/Xeon/centos-7.6/ffmpeg+gst+dev/Dockerfile b/Xeon/centos-7.6/ffmpeg+gst+dev/Dockerfile index 22efce0ee..7417e85ab 100644 --- a/Xeon/centos-7.6/ffmpeg+gst+dev/Dockerfile +++ b/Xeon/centos-7.6/ffmpeg+gst+dev/Dockerfile @@ -246,9 +246,10 @@ RUN mkdir -p build/opt/intel/dldt/inference-engine/include && \ mkdir -p build/opt/intel/dldt/inference-engine/external/omp/lib && \ cp -r dldt/inference-engine/temp/omp/lib/* build/opt/intel/dldt/inference-engine/external/omp/lib/ -RUN for p in /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inference-engine; do \ - mkdir -p "${libdir}/pkgconfig" && \ - pc="${libdir}/pkgconfig/dldt.pc" && \ +RUN for p in /usr /home/build/usr /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inference-engine; do \ + pkgconfiglibdir="$p/lib64" && \ + mkdir -p "${pkgconfiglibdir}/pkgconfig" && \ + pc="${pkgconfiglibdir}/pkgconfig/dldt.pc" && \ echo "prefix=/opt" > "$pc" && \ echo "libdir=${libdir}" >> "$pc" && \ echo "includedir=/opt/intel/dldt/inference-engine/include" >> "$pc" && \ @@ -263,7 +264,6 @@ RUN for p in /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inferen ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} -ENV PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${libdir}/pkgconfig/ #install Model Optimizer in the DLDT for Dev ARG PYTHON_TRUSTED_HOST @@ -538,7 +538,6 @@ libsoup libjpeg-turbo python36 ; \ COPY --from=build /home/build / ARG libdir=/opt/intel/dldt/inference-engine/lib/centos_7.4/intel64 ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} -ENV PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${libdir}/pkgconfig/ ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share ENV PYTHONPATH=${PYTHONPATH}:/mo_libs ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib64/gstreamer-1.0 diff --git a/Xeon/ubuntu-16.04/dldt+ffmpeg/Dockerfile b/Xeon/ubuntu-16.04/dldt+ffmpeg/Dockerfile index 5b4f06f61..b00abf76c 100644 --- a/Xeon/ubuntu-16.04/dldt+ffmpeg/Dockerfile +++ b/Xeon/ubuntu-16.04/dldt+ffmpeg/Dockerfile @@ -236,9 +236,10 @@ RUN mkdir -p build/opt/intel/dldt/inference-engine/include && \ mkdir -p build/opt/intel/dldt/inference-engine/external/omp/lib && \ cp -r dldt/inference-engine/temp/omp/lib/* build/opt/intel/dldt/inference-engine/external/omp/lib/ -RUN for p in /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inference-engine; do \ - mkdir -p "${libdir}/pkgconfig" && \ - pc="${libdir}/pkgconfig/dldt.pc" && \ +RUN for p in /usr /home/build/usr /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inference-engine; do \ + pkgconfiglibdir="$p/lib/x86_64-linux-gnu" && \ + mkdir -p "${pkgconfiglibdir}/pkgconfig" && \ + pc="${pkgconfiglibdir}/pkgconfig/dldt.pc" && \ echo "prefix=/opt" > "$pc" && \ echo "libdir=${libdir}" >> "$pc" && \ echo "includedir=/opt/intel/dldt/inference-engine/include" >> "$pc" && \ @@ -253,7 +254,6 @@ RUN for p in /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inferen ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} -ENV PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${libdir}/pkgconfig/ #install Model Optimizer in the DLDT for Dev @@ -340,6 +340,5 @@ RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no- COPY --from=build /home/build / ARG libdir=/opt/intel/dldt/inference-engine/lib/ubuntu_16.04/intel64 ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} -ENV PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${libdir}/pkgconfig/ ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share diff --git a/Xeon/ubuntu-16.04/dldt+gst/Dockerfile b/Xeon/ubuntu-16.04/dldt+gst/Dockerfile index 121267f8b..4ea0a25d2 100644 --- a/Xeon/ubuntu-16.04/dldt+gst/Dockerfile +++ b/Xeon/ubuntu-16.04/dldt+gst/Dockerfile @@ -235,9 +235,10 @@ RUN mkdir -p build/opt/intel/dldt/inference-engine/include && \ mkdir -p build/opt/intel/dldt/inference-engine/external/omp/lib && \ cp -r dldt/inference-engine/temp/omp/lib/* build/opt/intel/dldt/inference-engine/external/omp/lib/ -RUN for p in /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inference-engine; do \ - mkdir -p "${libdir}/pkgconfig" && \ - pc="${libdir}/pkgconfig/dldt.pc" && \ +RUN for p in /usr /home/build/usr /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inference-engine; do \ + pkgconfiglibdir="$p/lib/x86_64-linux-gnu" && \ + mkdir -p "${pkgconfiglibdir}/pkgconfig" && \ + pc="${pkgconfiglibdir}/pkgconfig/dldt.pc" && \ echo "prefix=/opt" > "$pc" && \ echo "libdir=${libdir}" >> "$pc" && \ echo "includedir=/opt/intel/dldt/inference-engine/include" >> "$pc" && \ @@ -252,7 +253,6 @@ RUN for p in /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inferen ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} -ENV PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${libdir}/pkgconfig/ #install Model Optimizer in the DLDT for Dev @@ -457,7 +457,6 @@ RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no- COPY --from=build /home/build / ARG libdir=/opt/intel/dldt/inference-engine/lib/ubuntu_16.04/intel64 ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} -ENV PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${libdir}/pkgconfig/ ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/x86_64-linux-gnu/gstreamer-1.0 ENV PKG_CONFIG_PATH=/usr/lib/x86_64-linux-gnu/pkgconfig diff --git a/Xeon/ubuntu-16.04/ffmpeg+gst+dev/Dockerfile b/Xeon/ubuntu-16.04/ffmpeg+gst+dev/Dockerfile index aef4f1a5b..316c91842 100644 --- a/Xeon/ubuntu-16.04/ffmpeg+gst+dev/Dockerfile +++ b/Xeon/ubuntu-16.04/ffmpeg+gst+dev/Dockerfile @@ -236,9 +236,10 @@ RUN mkdir -p build/opt/intel/dldt/inference-engine/include && \ mkdir -p build/opt/intel/dldt/inference-engine/external/omp/lib && \ cp -r dldt/inference-engine/temp/omp/lib/* build/opt/intel/dldt/inference-engine/external/omp/lib/ -RUN for p in /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inference-engine; do \ - mkdir -p "${libdir}/pkgconfig" && \ - pc="${libdir}/pkgconfig/dldt.pc" && \ +RUN for p in /usr /home/build/usr /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inference-engine; do \ + pkgconfiglibdir="$p/lib/x86_64-linux-gnu" && \ + mkdir -p "${pkgconfiglibdir}/pkgconfig" && \ + pc="${pkgconfiglibdir}/pkgconfig/dldt.pc" && \ echo "prefix=/opt" > "$pc" && \ echo "libdir=${libdir}" >> "$pc" && \ echo "includedir=/opt/intel/dldt/inference-engine/include" >> "$pc" && \ @@ -253,7 +254,6 @@ RUN for p in /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inferen ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} -ENV PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${libdir}/pkgconfig/ #install Model Optimizer in the DLDT for Dev ARG PYTHON_TRUSTED_HOST @@ -524,7 +524,6 @@ RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no- COPY --from=build /home/build / ARG libdir=/opt/intel/dldt/inference-engine/lib/ubuntu_16.04/intel64 ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} -ENV PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${libdir}/pkgconfig/ ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share ENV PYTHONPATH=${PYTHONPATH}:/mo_libs ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/x86_64-linux-gnu/gstreamer-1.0 diff --git a/Xeon/ubuntu-18.04/dldt+ffmpeg/Dockerfile b/Xeon/ubuntu-18.04/dldt+ffmpeg/Dockerfile index 0bc95cda3..403e8154b 100644 --- a/Xeon/ubuntu-18.04/dldt+ffmpeg/Dockerfile +++ b/Xeon/ubuntu-18.04/dldt+ffmpeg/Dockerfile @@ -237,9 +237,10 @@ RUN mkdir -p build/opt/intel/dldt/inference-engine/include && \ mkdir -p build/opt/intel/dldt/inference-engine/external/omp/lib && \ cp -r dldt/inference-engine/temp/omp/lib/* build/opt/intel/dldt/inference-engine/external/omp/lib/ -RUN for p in /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inference-engine; do \ - mkdir -p "${libdir}/pkgconfig" && \ - pc="${libdir}/pkgconfig/dldt.pc" && \ +RUN for p in /usr /home/build/usr /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inference-engine; do \ + pkgconfiglibdir="$p/lib/x86_64-linux-gnu" && \ + mkdir -p "${pkgconfiglibdir}/pkgconfig" && \ + pc="${pkgconfiglibdir}/pkgconfig/dldt.pc" && \ echo "prefix=/opt" > "$pc" && \ echo "libdir=${libdir}" >> "$pc" && \ echo "includedir=/opt/intel/dldt/inference-engine/include" >> "$pc" && \ @@ -254,7 +255,6 @@ RUN for p in /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inferen ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} -ENV PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${libdir}/pkgconfig/ #install Model Optimizer in the DLDT for Dev @@ -342,6 +342,5 @@ RUN ln -sf /usr/share/zoneinfo/UTC /etc/localtime; \ COPY --from=build /home/build / ARG libdir=/opt/intel/dldt/inference-engine/lib/ubuntu_18.04/intel64 ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} -ENV PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${libdir}/pkgconfig/ ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share diff --git a/Xeon/ubuntu-18.04/dldt+gst/Dockerfile b/Xeon/ubuntu-18.04/dldt+gst/Dockerfile index a1b0d7c56..95451b1c9 100644 --- a/Xeon/ubuntu-18.04/dldt+gst/Dockerfile +++ b/Xeon/ubuntu-18.04/dldt+gst/Dockerfile @@ -236,9 +236,10 @@ RUN mkdir -p build/opt/intel/dldt/inference-engine/include && \ mkdir -p build/opt/intel/dldt/inference-engine/external/omp/lib && \ cp -r dldt/inference-engine/temp/omp/lib/* build/opt/intel/dldt/inference-engine/external/omp/lib/ -RUN for p in /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inference-engine; do \ - mkdir -p "${libdir}/pkgconfig" && \ - pc="${libdir}/pkgconfig/dldt.pc" && \ +RUN for p in /usr /home/build/usr /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inference-engine; do \ + pkgconfiglibdir="$p/lib/x86_64-linux-gnu" && \ + mkdir -p "${pkgconfiglibdir}/pkgconfig" && \ + pc="${pkgconfiglibdir}/pkgconfig/dldt.pc" && \ echo "prefix=/opt" > "$pc" && \ echo "libdir=${libdir}" >> "$pc" && \ echo "includedir=/opt/intel/dldt/inference-engine/include" >> "$pc" && \ @@ -253,7 +254,6 @@ RUN for p in /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inferen ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} -ENV PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${libdir}/pkgconfig/ #install Model Optimizer in the DLDT for Dev @@ -460,7 +460,6 @@ RUN ln -sf /usr/share/zoneinfo/UTC /etc/localtime; \ COPY --from=build /home/build / ARG libdir=/opt/intel/dldt/inference-engine/lib/ubuntu_18.04/intel64 ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} -ENV PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${libdir}/pkgconfig/ ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/x86_64-linux-gnu/gstreamer-1.0 ENV PKG_CONFIG_PATH=/usr/lib/x86_64-linux-gnu/pkgconfig diff --git a/Xeon/ubuntu-18.04/ffmpeg+gst+dev/Dockerfile b/Xeon/ubuntu-18.04/ffmpeg+gst+dev/Dockerfile index 27878fdba..cb8c18dcc 100644 --- a/Xeon/ubuntu-18.04/ffmpeg+gst+dev/Dockerfile +++ b/Xeon/ubuntu-18.04/ffmpeg+gst+dev/Dockerfile @@ -237,9 +237,10 @@ RUN mkdir -p build/opt/intel/dldt/inference-engine/include && \ mkdir -p build/opt/intel/dldt/inference-engine/external/omp/lib && \ cp -r dldt/inference-engine/temp/omp/lib/* build/opt/intel/dldt/inference-engine/external/omp/lib/ -RUN for p in /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inference-engine; do \ - mkdir -p "${libdir}/pkgconfig" && \ - pc="${libdir}/pkgconfig/dldt.pc" && \ +RUN for p in /usr /home/build/usr /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inference-engine; do \ + pkgconfiglibdir="$p/lib/x86_64-linux-gnu" && \ + mkdir -p "${pkgconfiglibdir}/pkgconfig" && \ + pc="${pkgconfiglibdir}/pkgconfig/dldt.pc" && \ echo "prefix=/opt" > "$pc" && \ echo "libdir=${libdir}" >> "$pc" && \ echo "includedir=/opt/intel/dldt/inference-engine/include" >> "$pc" && \ @@ -254,7 +255,6 @@ RUN for p in /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inferen ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} -ENV PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${libdir}/pkgconfig/ #install Model Optimizer in the DLDT for Dev ARG PYTHON_TRUSTED_HOST @@ -527,7 +527,6 @@ RUN ln -sf /usr/share/zoneinfo/UTC /etc/localtime; \ COPY --from=build /home/build / ARG libdir=/opt/intel/dldt/inference-engine/lib/ubuntu_18.04/intel64 ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} -ENV PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${libdir}/pkgconfig/ ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share ENV PYTHONPATH=${PYTHONPATH}:/mo_libs ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/x86_64-linux-gnu/gstreamer-1.0 diff --git a/XeonE3/centos-7.4/dldt+gst/Dockerfile b/XeonE3/centos-7.4/dldt+gst/Dockerfile index 8aad78b8a..7c960b0f2 100644 --- a/XeonE3/centos-7.4/dldt+gst/Dockerfile +++ b/XeonE3/centos-7.4/dldt+gst/Dockerfile @@ -323,9 +323,10 @@ RUN mkdir -p build/opt/intel/dldt/inference-engine/include && \ mkdir -p build/opt/intel/dldt/inference-engine/external/omp/lib && \ cp -r dldt/inference-engine/temp/omp/lib/* build/opt/intel/dldt/inference-engine/external/omp/lib/ -RUN for p in /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inference-engine; do \ - mkdir -p "${libdir}/pkgconfig" && \ - pc="${libdir}/pkgconfig/dldt.pc" && \ +RUN for p in /usr /home/build/usr /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inference-engine; do \ + pkgconfiglibdir="$p/lib64" && \ + mkdir -p "${pkgconfiglibdir}/pkgconfig" && \ + pc="${pkgconfiglibdir}/pkgconfig/dldt.pc" && \ echo "prefix=/opt" > "$pc" && \ echo "libdir=${libdir}" >> "$pc" && \ echo "includedir=/opt/intel/dldt/inference-engine/include" >> "$pc" && \ @@ -340,7 +341,6 @@ RUN for p in /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inferen ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} -ENV PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${libdir}/pkgconfig/ #install Model Optimizer in the DLDT for Dev @@ -582,7 +582,6 @@ ENV GST_VAAPI_ALL_DRIVERS=1 ENV DISPLAY=:0.0 ARG libdir=/opt/intel/dldt/inference-engine/lib/centos_7.4/intel64 ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} -ENV PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${libdir}/pkgconfig/ ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib64/gstreamer-1.0 ENV PKG_CONFIG_PATH=/usr/lib64/pkgconfig diff --git a/XeonE3/centos-7.4/ffmpeg+gst+dev/Dockerfile b/XeonE3/centos-7.4/ffmpeg+gst+dev/Dockerfile index 4ae856aba..2f0c7923b 100644 --- a/XeonE3/centos-7.4/ffmpeg+gst+dev/Dockerfile +++ b/XeonE3/centos-7.4/ffmpeg+gst+dev/Dockerfile @@ -322,9 +322,10 @@ RUN mkdir -p build/opt/intel/dldt/inference-engine/include && \ mkdir -p build/opt/intel/dldt/inference-engine/external/omp/lib && \ cp -r dldt/inference-engine/temp/omp/lib/* build/opt/intel/dldt/inference-engine/external/omp/lib/ -RUN for p in /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inference-engine; do \ - mkdir -p "${libdir}/pkgconfig" && \ - pc="${libdir}/pkgconfig/dldt.pc" && \ +RUN for p in /usr /home/build/usr /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inference-engine; do \ + pkgconfiglibdir="$p/lib64" && \ + mkdir -p "${pkgconfiglibdir}/pkgconfig" && \ + pc="${pkgconfiglibdir}/pkgconfig/dldt.pc" && \ echo "prefix=/opt" > "$pc" && \ echo "libdir=${libdir}" >> "$pc" && \ echo "includedir=/opt/intel/dldt/inference-engine/include" >> "$pc" && \ @@ -339,7 +340,6 @@ RUN for p in /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inferen ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} -ENV PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${libdir}/pkgconfig/ #install Model Optimizer in the DLDT for Dev ARG PYTHON_TRUSTED_HOST @@ -650,7 +650,6 @@ ENV GST_VAAPI_ALL_DRIVERS=1 ENV DISPLAY=:0.0 ARG libdir=/opt/intel/dldt/inference-engine/lib/centos_7.4/intel64 ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} -ENV PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${libdir}/pkgconfig/ ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share ENV PYTHONPATH=${PYTHONPATH}:/mo_libs ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib64/gstreamer-1.0 diff --git a/XeonE3/centos-7.5/dldt+gst/Dockerfile b/XeonE3/centos-7.5/dldt+gst/Dockerfile index 2375accf8..d1be07d03 100644 --- a/XeonE3/centos-7.5/dldt+gst/Dockerfile +++ b/XeonE3/centos-7.5/dldt+gst/Dockerfile @@ -323,9 +323,10 @@ RUN mkdir -p build/opt/intel/dldt/inference-engine/include && \ mkdir -p build/opt/intel/dldt/inference-engine/external/omp/lib && \ cp -r dldt/inference-engine/temp/omp/lib/* build/opt/intel/dldt/inference-engine/external/omp/lib/ -RUN for p in /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inference-engine; do \ - mkdir -p "${libdir}/pkgconfig" && \ - pc="${libdir}/pkgconfig/dldt.pc" && \ +RUN for p in /usr /home/build/usr /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inference-engine; do \ + pkgconfiglibdir="$p/lib64" && \ + mkdir -p "${pkgconfiglibdir}/pkgconfig" && \ + pc="${pkgconfiglibdir}/pkgconfig/dldt.pc" && \ echo "prefix=/opt" > "$pc" && \ echo "libdir=${libdir}" >> "$pc" && \ echo "includedir=/opt/intel/dldt/inference-engine/include" >> "$pc" && \ @@ -340,7 +341,6 @@ RUN for p in /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inferen ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} -ENV PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${libdir}/pkgconfig/ #install Model Optimizer in the DLDT for Dev @@ -581,7 +581,6 @@ ENV GST_VAAPI_ALL_DRIVERS=1 ENV DISPLAY=:0.0 ARG libdir=/opt/intel/dldt/inference-engine/lib/centos_7.4/intel64 ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} -ENV PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${libdir}/pkgconfig/ ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib64/gstreamer-1.0 ENV PKG_CONFIG_PATH=/usr/lib64/pkgconfig diff --git a/XeonE3/centos-7.5/ffmpeg+gst+dev/Dockerfile b/XeonE3/centos-7.5/ffmpeg+gst+dev/Dockerfile index b943ba4c0..0f255d2f8 100644 --- a/XeonE3/centos-7.5/ffmpeg+gst+dev/Dockerfile +++ b/XeonE3/centos-7.5/ffmpeg+gst+dev/Dockerfile @@ -322,9 +322,10 @@ RUN mkdir -p build/opt/intel/dldt/inference-engine/include && \ mkdir -p build/opt/intel/dldt/inference-engine/external/omp/lib && \ cp -r dldt/inference-engine/temp/omp/lib/* build/opt/intel/dldt/inference-engine/external/omp/lib/ -RUN for p in /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inference-engine; do \ - mkdir -p "${libdir}/pkgconfig" && \ - pc="${libdir}/pkgconfig/dldt.pc" && \ +RUN for p in /usr /home/build/usr /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inference-engine; do \ + pkgconfiglibdir="$p/lib64" && \ + mkdir -p "${pkgconfiglibdir}/pkgconfig" && \ + pc="${pkgconfiglibdir}/pkgconfig/dldt.pc" && \ echo "prefix=/opt" > "$pc" && \ echo "libdir=${libdir}" >> "$pc" && \ echo "includedir=/opt/intel/dldt/inference-engine/include" >> "$pc" && \ @@ -339,7 +340,6 @@ RUN for p in /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inferen ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} -ENV PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${libdir}/pkgconfig/ #install Model Optimizer in the DLDT for Dev ARG PYTHON_TRUSTED_HOST @@ -649,7 +649,6 @@ ENV GST_VAAPI_ALL_DRIVERS=1 ENV DISPLAY=:0.0 ARG libdir=/opt/intel/dldt/inference-engine/lib/centos_7.4/intel64 ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} -ENV PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${libdir}/pkgconfig/ ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share ENV PYTHONPATH=${PYTHONPATH}:/mo_libs ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib64/gstreamer-1.0 diff --git a/XeonE3/centos-7.6/dldt+gst/Dockerfile b/XeonE3/centos-7.6/dldt+gst/Dockerfile index 6d332418d..1559af952 100644 --- a/XeonE3/centos-7.6/dldt+gst/Dockerfile +++ b/XeonE3/centos-7.6/dldt+gst/Dockerfile @@ -323,9 +323,10 @@ RUN mkdir -p build/opt/intel/dldt/inference-engine/include && \ mkdir -p build/opt/intel/dldt/inference-engine/external/omp/lib && \ cp -r dldt/inference-engine/temp/omp/lib/* build/opt/intel/dldt/inference-engine/external/omp/lib/ -RUN for p in /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inference-engine; do \ - mkdir -p "${libdir}/pkgconfig" && \ - pc="${libdir}/pkgconfig/dldt.pc" && \ +RUN for p in /usr /home/build/usr /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inference-engine; do \ + pkgconfiglibdir="$p/lib64" && \ + mkdir -p "${pkgconfiglibdir}/pkgconfig" && \ + pc="${pkgconfiglibdir}/pkgconfig/dldt.pc" && \ echo "prefix=/opt" > "$pc" && \ echo "libdir=${libdir}" >> "$pc" && \ echo "includedir=/opt/intel/dldt/inference-engine/include" >> "$pc" && \ @@ -340,7 +341,6 @@ RUN for p in /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inferen ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} -ENV PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${libdir}/pkgconfig/ #install Model Optimizer in the DLDT for Dev @@ -581,7 +581,6 @@ ENV GST_VAAPI_ALL_DRIVERS=1 ENV DISPLAY=:0.0 ARG libdir=/opt/intel/dldt/inference-engine/lib/centos_7.4/intel64 ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} -ENV PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${libdir}/pkgconfig/ ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib64/gstreamer-1.0 ENV PKG_CONFIG_PATH=/usr/lib64/pkgconfig diff --git a/XeonE3/centos-7.6/ffmpeg+gst+dev/Dockerfile b/XeonE3/centos-7.6/ffmpeg+gst+dev/Dockerfile index 192702a57..357879aa7 100644 --- a/XeonE3/centos-7.6/ffmpeg+gst+dev/Dockerfile +++ b/XeonE3/centos-7.6/ffmpeg+gst+dev/Dockerfile @@ -322,9 +322,10 @@ RUN mkdir -p build/opt/intel/dldt/inference-engine/include && \ mkdir -p build/opt/intel/dldt/inference-engine/external/omp/lib && \ cp -r dldt/inference-engine/temp/omp/lib/* build/opt/intel/dldt/inference-engine/external/omp/lib/ -RUN for p in /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inference-engine; do \ - mkdir -p "${libdir}/pkgconfig" && \ - pc="${libdir}/pkgconfig/dldt.pc" && \ +RUN for p in /usr /home/build/usr /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inference-engine; do \ + pkgconfiglibdir="$p/lib64" && \ + mkdir -p "${pkgconfiglibdir}/pkgconfig" && \ + pc="${pkgconfiglibdir}/pkgconfig/dldt.pc" && \ echo "prefix=/opt" > "$pc" && \ echo "libdir=${libdir}" >> "$pc" && \ echo "includedir=/opt/intel/dldt/inference-engine/include" >> "$pc" && \ @@ -339,7 +340,6 @@ RUN for p in /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inferen ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} -ENV PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${libdir}/pkgconfig/ #install Model Optimizer in the DLDT for Dev ARG PYTHON_TRUSTED_HOST @@ -649,7 +649,6 @@ ENV GST_VAAPI_ALL_DRIVERS=1 ENV DISPLAY=:0.0 ARG libdir=/opt/intel/dldt/inference-engine/lib/centos_7.4/intel64 ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} -ENV PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${libdir}/pkgconfig/ ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share ENV PYTHONPATH=${PYTHONPATH}:/mo_libs ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib64/gstreamer-1.0 diff --git a/XeonE3/ubuntu-16.04/dldt+gst/Dockerfile b/XeonE3/ubuntu-16.04/dldt+gst/Dockerfile index 2a80e375a..d778dcbcd 100644 --- a/XeonE3/ubuntu-16.04/dldt+gst/Dockerfile +++ b/XeonE3/ubuntu-16.04/dldt+gst/Dockerfile @@ -334,9 +334,10 @@ RUN mkdir -p build/opt/intel/dldt/inference-engine/include && \ mkdir -p build/opt/intel/dldt/inference-engine/external/omp/lib && \ cp -r dldt/inference-engine/temp/omp/lib/* build/opt/intel/dldt/inference-engine/external/omp/lib/ -RUN for p in /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inference-engine; do \ - mkdir -p "${libdir}/pkgconfig" && \ - pc="${libdir}/pkgconfig/dldt.pc" && \ +RUN for p in /usr /home/build/usr /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inference-engine; do \ + pkgconfiglibdir="$p/lib/x86_64-linux-gnu" && \ + mkdir -p "${pkgconfiglibdir}/pkgconfig" && \ + pc="${pkgconfiglibdir}/pkgconfig/dldt.pc" && \ echo "prefix=/opt" > "$pc" && \ echo "libdir=${libdir}" >> "$pc" && \ echo "includedir=/opt/intel/dldt/inference-engine/include" >> "$pc" && \ @@ -351,7 +352,6 @@ RUN for p in /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inferen ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} -ENV PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${libdir}/pkgconfig/ #install Model Optimizer in the DLDT for Dev @@ -586,7 +586,6 @@ ENV GST_VAAPI_ALL_DRIVERS=1 ENV DISPLAY=:0.0 ARG libdir=/opt/intel/dldt/inference-engine/lib/ubuntu_16.04/intel64 ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} -ENV PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${libdir}/pkgconfig/ ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/x86_64-linux-gnu/gstreamer-1.0 ENV PKG_CONFIG_PATH=/usr/lib/x86_64-linux-gnu/pkgconfig diff --git a/XeonE3/ubuntu-16.04/ffmpeg+gst+dev/Dockerfile b/XeonE3/ubuntu-16.04/ffmpeg+gst+dev/Dockerfile index 678558e0b..9b3c2b14c 100644 --- a/XeonE3/ubuntu-16.04/ffmpeg+gst+dev/Dockerfile +++ b/XeonE3/ubuntu-16.04/ffmpeg+gst+dev/Dockerfile @@ -333,9 +333,10 @@ RUN mkdir -p build/opt/intel/dldt/inference-engine/include && \ mkdir -p build/opt/intel/dldt/inference-engine/external/omp/lib && \ cp -r dldt/inference-engine/temp/omp/lib/* build/opt/intel/dldt/inference-engine/external/omp/lib/ -RUN for p in /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inference-engine; do \ - mkdir -p "${libdir}/pkgconfig" && \ - pc="${libdir}/pkgconfig/dldt.pc" && \ +RUN for p in /usr /home/build/usr /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inference-engine; do \ + pkgconfiglibdir="$p/lib/x86_64-linux-gnu" && \ + mkdir -p "${pkgconfiglibdir}/pkgconfig" && \ + pc="${pkgconfiglibdir}/pkgconfig/dldt.pc" && \ echo "prefix=/opt" > "$pc" && \ echo "libdir=${libdir}" >> "$pc" && \ echo "includedir=/opt/intel/dldt/inference-engine/include" >> "$pc" && \ @@ -350,7 +351,6 @@ RUN for p in /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inferen ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} -ENV PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${libdir}/pkgconfig/ #install Model Optimizer in the DLDT for Dev ARG PYTHON_TRUSTED_HOST @@ -651,7 +651,6 @@ ENV GST_VAAPI_ALL_DRIVERS=1 ENV DISPLAY=:0.0 ARG libdir=/opt/intel/dldt/inference-engine/lib/ubuntu_16.04/intel64 ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} -ENV PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${libdir}/pkgconfig/ ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share ENV PYTHONPATH=${PYTHONPATH}:/mo_libs ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/x86_64-linux-gnu/gstreamer-1.0 diff --git a/XeonE3/ubuntu-18.04/dldt+gst/Dockerfile b/XeonE3/ubuntu-18.04/dldt+gst/Dockerfile index eb9963f3f..8bc1ae072 100644 --- a/XeonE3/ubuntu-18.04/dldt+gst/Dockerfile +++ b/XeonE3/ubuntu-18.04/dldt+gst/Dockerfile @@ -335,9 +335,10 @@ RUN mkdir -p build/opt/intel/dldt/inference-engine/include && \ mkdir -p build/opt/intel/dldt/inference-engine/external/omp/lib && \ cp -r dldt/inference-engine/temp/omp/lib/* build/opt/intel/dldt/inference-engine/external/omp/lib/ -RUN for p in /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inference-engine; do \ - mkdir -p "${libdir}/pkgconfig" && \ - pc="${libdir}/pkgconfig/dldt.pc" && \ +RUN for p in /usr /home/build/usr /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inference-engine; do \ + pkgconfiglibdir="$p/lib/x86_64-linux-gnu" && \ + mkdir -p "${pkgconfiglibdir}/pkgconfig" && \ + pc="${pkgconfiglibdir}/pkgconfig/dldt.pc" && \ echo "prefix=/opt" > "$pc" && \ echo "libdir=${libdir}" >> "$pc" && \ echo "includedir=/opt/intel/dldt/inference-engine/include" >> "$pc" && \ @@ -352,7 +353,6 @@ RUN for p in /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inferen ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} -ENV PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${libdir}/pkgconfig/ #install Model Optimizer in the DLDT for Dev @@ -589,7 +589,6 @@ ENV GST_VAAPI_ALL_DRIVERS=1 ENV DISPLAY=:0.0 ARG libdir=/opt/intel/dldt/inference-engine/lib/ubuntu_18.04/intel64 ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} -ENV PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${libdir}/pkgconfig/ ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/x86_64-linux-gnu/gstreamer-1.0 ENV PKG_CONFIG_PATH=/usr/lib/x86_64-linux-gnu/pkgconfig diff --git a/XeonE3/ubuntu-18.04/ffmpeg+gst+dev/Dockerfile b/XeonE3/ubuntu-18.04/ffmpeg+gst+dev/Dockerfile index e46596095..fa9c1df02 100644 --- a/XeonE3/ubuntu-18.04/ffmpeg+gst+dev/Dockerfile +++ b/XeonE3/ubuntu-18.04/ffmpeg+gst+dev/Dockerfile @@ -334,9 +334,10 @@ RUN mkdir -p build/opt/intel/dldt/inference-engine/include && \ mkdir -p build/opt/intel/dldt/inference-engine/external/omp/lib && \ cp -r dldt/inference-engine/temp/omp/lib/* build/opt/intel/dldt/inference-engine/external/omp/lib/ -RUN for p in /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inference-engine; do \ - mkdir -p "${libdir}/pkgconfig" && \ - pc="${libdir}/pkgconfig/dldt.pc" && \ +RUN for p in /usr /home/build/usr /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inference-engine; do \ + pkgconfiglibdir="$p/lib/x86_64-linux-gnu" && \ + mkdir -p "${pkgconfiglibdir}/pkgconfig" && \ + pc="${pkgconfiglibdir}/pkgconfig/dldt.pc" && \ echo "prefix=/opt" > "$pc" && \ echo "libdir=${libdir}" >> "$pc" && \ echo "includedir=/opt/intel/dldt/inference-engine/include" >> "$pc" && \ @@ -351,7 +352,6 @@ RUN for p in /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inferen ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} -ENV PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${libdir}/pkgconfig/ #install Model Optimizer in the DLDT for Dev ARG PYTHON_TRUSTED_HOST @@ -654,7 +654,6 @@ ENV GST_VAAPI_ALL_DRIVERS=1 ENV DISPLAY=:0.0 ARG libdir=/opt/intel/dldt/inference-engine/lib/ubuntu_18.04/intel64 ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} -ENV PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${libdir}/pkgconfig/ ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share ENV PYTHONPATH=${PYTHONPATH}:/mo_libs ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/x86_64-linux-gnu/gstreamer-1.0 diff --git a/template/dldt-ie.m4 b/template/dldt-ie.m4 index a213a2fc4..8562c0b9e 100644 --- a/template/dldt-ie.m4 +++ b/template/dldt-ie.m4 @@ -55,9 +55,10 @@ RUN mkdir -p build/opt/intel/dldt/inference-engine/include && \ mkdir -p build/opt/intel/dldt/inference-engine/external/omp/lib && \ cp -r dldt/inference-engine/temp/omp/lib/* build/opt/intel/dldt/inference-engine/external/omp/lib/ -RUN for p in /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inference-engine; do \ - mkdir -p "${libdir}/pkgconfig" && \ - pc="${libdir}/pkgconfig/dldt.pc" && \ +RUN for p in /usr /home/build/usr /opt/intel/dldt/inference-engine /home/build/opt/intel/dldt/inference-engine; do \ + pkgconfiglibdir="$p/ifelse(index(DOCKER_IMAGE,ubuntu),-1,lib64,lib/x86_64-linux-gnu)" && \ + mkdir -p "${pkgconfiglibdir}/pkgconfig" && \ + pc="${pkgconfiglibdir}/pkgconfig/dldt.pc" && \ echo "prefix=/opt" > "$pc" && \ echo "libdir=${libdir}" >> "$pc" && \ echo "includedir=/opt/intel/dldt/inference-engine/include" >> "$pc" && \ @@ -73,7 +74,6 @@ define(`FFMPEG_CONFIG_DLDT_IE',--enable-libinference_engine )dnl ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} -ENV PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${libdir}/pkgconfig/ #install Model Optimizer in the DLDT for Dev ifelse(index(DOCKER_IMAGE,-dev),-1,, @@ -131,6 +131,5 @@ ifelse(index(DOCKER_IMAGE,centos),-1,, ARG libdir=/opt/intel/dldt/inference-engine/lib/centos_7.4/intel64 )dnl ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/intel/dldt/inference-engine/external/omp/lib:${libdir} -ENV PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${libdir}/pkgconfig/ ENV InferenceEngine_DIR=/opt/intel/dldt/inference-engine/share )dnl From 9629834122a7453200fda62645b2227e3b5f6388 Mon Sep 17 00:00:00 2001 From: Dhaval Patel Date: Mon, 25 Mar 2019 07:56:08 -0700 Subject: [PATCH 4/9] added missing packages --- VCA2/centos-7.4/ffmpeg+gst+dev/Dockerfile | 2 +- VCA2/centos-7.4/gst/Dockerfile | 2 +- VCA2/centos-7.5/ffmpeg+gst+dev/Dockerfile | 2 +- VCA2/centos-7.5/gst/Dockerfile | 2 +- VCA2/centos-7.6/ffmpeg+gst+dev/Dockerfile | 2 +- VCA2/centos-7.6/gst/Dockerfile | 2 +- Xeon/centos-7.4/dldt+gst/Dockerfile | 2 +- Xeon/centos-7.4/ffmpeg+gst+dev/Dockerfile | 2 +- Xeon/centos-7.4/gst/Dockerfile | 2 +- Xeon/centos-7.5/dldt+gst/Dockerfile | 2 +- Xeon/centos-7.5/ffmpeg+gst+dev/Dockerfile | 2 +- Xeon/centos-7.5/gst/Dockerfile | 2 +- Xeon/centos-7.6/dldt+gst/Dockerfile | 2 +- Xeon/centos-7.6/ffmpeg+gst+dev/Dockerfile | 2 +- Xeon/centos-7.6/gst/Dockerfile | 2 +- XeonE3/centos-7.4/dldt+gst/Dockerfile | 2 +- XeonE3/centos-7.4/ffmpeg+gst+dev/Dockerfile | 2 +- XeonE3/centos-7.4/gst/Dockerfile | 2 +- XeonE3/centos-7.5/dldt+gst/Dockerfile | 2 +- XeonE3/centos-7.5/ffmpeg+gst+dev/Dockerfile | 2 +- XeonE3/centos-7.5/gst/Dockerfile | 2 +- XeonE3/centos-7.6/dldt+gst/Dockerfile | 2 +- XeonE3/centos-7.6/ffmpeg+gst+dev/Dockerfile | 2 +- XeonE3/centos-7.6/gst/Dockerfile | 2 +- template/gst-plugin-base.m4 | 2 +- 25 files changed, 25 insertions(+), 25 deletions(-) diff --git a/VCA2/centos-7.4/ffmpeg+gst+dev/Dockerfile b/VCA2/centos-7.4/ffmpeg+gst+dev/Dockerfile index 418356726..cbccb9e3b 100644 --- a/VCA2/centos-7.4/ffmpeg+gst+dev/Dockerfile +++ b/VCA2/centos-7.4/ffmpeg+gst+dev/Dockerfile @@ -538,7 +538,7 @@ WORKDIR /home # Prerequisites RUN yum install -y epel-release; \ - yum install -y -q libxcb SDL2 libass numactl libvdpau glib2-2.56.1 pangolibxcb mesa-libGL libXrandr libpng12 libXv libvisual mesa-libGL pango glib2 libpciaccess libX11 mesa-dri-drivers mesa-libGL libsoup libjpeg-turbo python36 ; \ + yum install -y -q libxcb SDL2 libass numactl libvdpau glib2-2.56.1 pangolibxcb mesa-libGL libXrandr libpng12 libXv libvisual mesa-libGL pango glib2 alsa-lib libpciaccess libX11 mesa-dri-drivers mesa-libGL libsoup libjpeg-turbo python36 ; \ yum remove -y -q epel-release; \ rm -rf /var/cache/yum/*; diff --git a/VCA2/centos-7.4/gst/Dockerfile b/VCA2/centos-7.4/gst/Dockerfile index 6c315013b..963126f20 100644 --- a/VCA2/centos-7.4/gst/Dockerfile +++ b/VCA2/centos-7.4/gst/Dockerfile @@ -386,7 +386,7 @@ WORKDIR /home # Prerequisites RUN yum install -y epel-release; \ - yum install -y -q numactl openssl glib2-2.56.1 pangolibxcb mesa-libGL libXrandr libpng12 libXv libvisual mesa-libGL pango glib2 libpciaccess libX11 mesa-dri-drivers mesa-libGL libsoup libjpeg-turbo ; \ + yum install -y -q numactl openssl glib2-2.56.1 pangolibxcb mesa-libGL libXrandr libpng12 libXv libvisual mesa-libGL pango glib2 alsa-lib libpciaccess libX11 mesa-dri-drivers mesa-libGL libsoup libjpeg-turbo ; \ yum remove -y -q epel-release; \ rm -rf /var/cache/yum/*; diff --git a/VCA2/centos-7.5/ffmpeg+gst+dev/Dockerfile b/VCA2/centos-7.5/ffmpeg+gst+dev/Dockerfile index 7bc30e99e..f828b4b48 100644 --- a/VCA2/centos-7.5/ffmpeg+gst+dev/Dockerfile +++ b/VCA2/centos-7.5/ffmpeg+gst+dev/Dockerfile @@ -538,7 +538,7 @@ WORKDIR /home # Prerequisites RUN yum install -y epel-release; \ - yum install -y -q libxcb SDL2 libass numactl libvdpau glib2-2.56.1 pangolibxcb mesa-libGL libXrandr libpng12 libXv libvisual mesa-libGL pango glib2 libpciaccess libX11 mesa-dri-drivers mesa-libGL libsoup libjpeg-turbo python36 ; \ + yum install -y -q libxcb SDL2 libass numactl libvdpau glib2-2.56.1 pangolibxcb mesa-libGL libXrandr libpng12 libXv libvisual mesa-libGL pango glib2 alsa-lib libpciaccess libX11 mesa-dri-drivers mesa-libGL libsoup libjpeg-turbo python36 ; \ yum remove -y -q epel-release; \ rm -rf /var/cache/yum/*; diff --git a/VCA2/centos-7.5/gst/Dockerfile b/VCA2/centos-7.5/gst/Dockerfile index 12fc48e04..0a414f7ab 100644 --- a/VCA2/centos-7.5/gst/Dockerfile +++ b/VCA2/centos-7.5/gst/Dockerfile @@ -386,7 +386,7 @@ WORKDIR /home # Prerequisites RUN yum install -y epel-release; \ - yum install -y -q numactl openssl glib2-2.56.1 pangolibxcb mesa-libGL libXrandr libpng12 libXv libvisual mesa-libGL pango glib2 libpciaccess libX11 mesa-dri-drivers mesa-libGL libsoup libjpeg-turbo ; \ + yum install -y -q numactl openssl glib2-2.56.1 pangolibxcb mesa-libGL libXrandr libpng12 libXv libvisual mesa-libGL pango glib2 alsa-lib libpciaccess libX11 mesa-dri-drivers mesa-libGL libsoup libjpeg-turbo ; \ yum remove -y -q epel-release; \ rm -rf /var/cache/yum/*; diff --git a/VCA2/centos-7.6/ffmpeg+gst+dev/Dockerfile b/VCA2/centos-7.6/ffmpeg+gst+dev/Dockerfile index 04bf9cc59..8e65f947d 100644 --- a/VCA2/centos-7.6/ffmpeg+gst+dev/Dockerfile +++ b/VCA2/centos-7.6/ffmpeg+gst+dev/Dockerfile @@ -538,7 +538,7 @@ WORKDIR /home # Prerequisites RUN yum install -y epel-release; \ - yum install -y -q libxcb SDL2 libass numactl libvdpau glib2-2.56.1 pangolibxcb mesa-libGL libXrandr libpng12 libXv libvisual mesa-libGL pango glib2 libpciaccess libX11 mesa-dri-drivers mesa-libGL libsoup libjpeg-turbo python36 ; \ + yum install -y -q libxcb SDL2 libass numactl libvdpau glib2-2.56.1 pangolibxcb mesa-libGL libXrandr libpng12 libXv libvisual mesa-libGL pango glib2 alsa-lib libpciaccess libX11 mesa-dri-drivers mesa-libGL libsoup libjpeg-turbo python36 ; \ yum remove -y -q epel-release; \ rm -rf /var/cache/yum/*; diff --git a/VCA2/centos-7.6/gst/Dockerfile b/VCA2/centos-7.6/gst/Dockerfile index 02374ea3c..a711c7f55 100644 --- a/VCA2/centos-7.6/gst/Dockerfile +++ b/VCA2/centos-7.6/gst/Dockerfile @@ -386,7 +386,7 @@ WORKDIR /home # Prerequisites RUN yum install -y epel-release; \ - yum install -y -q numactl openssl glib2-2.56.1 pangolibxcb mesa-libGL libXrandr libpng12 libXv libvisual mesa-libGL pango glib2 libpciaccess libX11 mesa-dri-drivers mesa-libGL libsoup libjpeg-turbo ; \ + yum install -y -q numactl openssl glib2-2.56.1 pangolibxcb mesa-libGL libXrandr libpng12 libXv libvisual mesa-libGL pango glib2 alsa-lib libpciaccess libX11 mesa-dri-drivers mesa-libGL libsoup libjpeg-turbo ; \ yum remove -y -q epel-release; \ rm -rf /var/cache/yum/*; diff --git a/Xeon/centos-7.4/dldt+gst/Dockerfile b/Xeon/centos-7.4/dldt+gst/Dockerfile index 941c3778a..7d8e9cda7 100644 --- a/Xeon/centos-7.4/dldt+gst/Dockerfile +++ b/Xeon/centos-7.4/dldt+gst/Dockerfile @@ -460,7 +460,7 @@ WORKDIR /home # Prerequisites RUN yum install -y epel-release; \ - yum install -y -q numactl openssl glib2-2.56.1 pangolibpng12 libXv libvisual mesa-libGL pango glib2 openblas-serial \ + yum install -y -q numactl openssl glib2-2.56.1 pangolibpng12 libXv libvisual mesa-libGL pango glib2 alsa-lib openblas-serial \ libsoup libjpeg-turbo python36 ; \ yum remove -y -q epel-release; \ rm -rf /var/cache/yum/*; diff --git a/Xeon/centos-7.4/ffmpeg+gst+dev/Dockerfile b/Xeon/centos-7.4/ffmpeg+gst+dev/Dockerfile index 8b8336657..dabfe7fe6 100644 --- a/Xeon/centos-7.4/ffmpeg+gst+dev/Dockerfile +++ b/Xeon/centos-7.4/ffmpeg+gst+dev/Dockerfile @@ -530,7 +530,7 @@ WORKDIR /home # Prerequisites RUN yum install -y epel-release; \ - yum install -y -q libxcb SDL2 libass numactl glib2-2.56.1 pangolibpng12 libXv libvisual mesa-libGL pango glib2 openblas-serial \ + yum install -y -q libxcb SDL2 libass numactl glib2-2.56.1 pangolibpng12 libXv libvisual mesa-libGL pango glib2 alsa-lib openblas-serial \ libsoup libjpeg-turbo python36 ; \ yum remove -y -q epel-release; \ rm -rf /var/cache/yum/*; diff --git a/Xeon/centos-7.4/gst/Dockerfile b/Xeon/centos-7.4/gst/Dockerfile index b562c023f..b8172e5a7 100644 --- a/Xeon/centos-7.4/gst/Dockerfile +++ b/Xeon/centos-7.4/gst/Dockerfile @@ -323,7 +323,7 @@ WORKDIR /home # Prerequisites RUN yum install -y epel-release; \ - yum install -y -q numactl openssl glib2-2.56.1 pangolibpng12 libXv libvisual mesa-libGL pango glib2 libsoup libjpeg-turbo ; \ + yum install -y -q numactl openssl glib2-2.56.1 pangolibpng12 libXv libvisual mesa-libGL pango glib2 alsa-lib libsoup libjpeg-turbo ; \ yum remove -y -q epel-release; \ rm -rf /var/cache/yum/*; diff --git a/Xeon/centos-7.5/dldt+gst/Dockerfile b/Xeon/centos-7.5/dldt+gst/Dockerfile index 219bb5136..d55339104 100644 --- a/Xeon/centos-7.5/dldt+gst/Dockerfile +++ b/Xeon/centos-7.5/dldt+gst/Dockerfile @@ -459,7 +459,7 @@ WORKDIR /home # Prerequisites RUN yum install -y epel-release; \ - yum install -y -q numactl openssl glib2-2.56.1 pangolibpng12 libXv libvisual mesa-libGL pango glib2 openblas-serial \ + yum install -y -q numactl openssl glib2-2.56.1 pangolibpng12 libXv libvisual mesa-libGL pango glib2 alsa-lib openblas-serial \ libsoup libjpeg-turbo python36 ; \ yum remove -y -q epel-release; \ rm -rf /var/cache/yum/*; diff --git a/Xeon/centos-7.5/ffmpeg+gst+dev/Dockerfile b/Xeon/centos-7.5/ffmpeg+gst+dev/Dockerfile index c94174b9b..625e7212a 100644 --- a/Xeon/centos-7.5/ffmpeg+gst+dev/Dockerfile +++ b/Xeon/centos-7.5/ffmpeg+gst+dev/Dockerfile @@ -529,7 +529,7 @@ WORKDIR /home # Prerequisites RUN yum install -y epel-release; \ - yum install -y -q libxcb SDL2 libass numactl glib2-2.56.1 pangolibpng12 libXv libvisual mesa-libGL pango glib2 openblas-serial \ + yum install -y -q libxcb SDL2 libass numactl glib2-2.56.1 pangolibpng12 libXv libvisual mesa-libGL pango glib2 alsa-lib openblas-serial \ libsoup libjpeg-turbo python36 ; \ yum remove -y -q epel-release; \ rm -rf /var/cache/yum/*; diff --git a/Xeon/centos-7.5/gst/Dockerfile b/Xeon/centos-7.5/gst/Dockerfile index 38ca5be53..8295bcf54 100644 --- a/Xeon/centos-7.5/gst/Dockerfile +++ b/Xeon/centos-7.5/gst/Dockerfile @@ -323,7 +323,7 @@ WORKDIR /home # Prerequisites RUN yum install -y epel-release; \ - yum install -y -q numactl openssl glib2-2.56.1 pangolibpng12 libXv libvisual mesa-libGL pango glib2 libsoup libjpeg-turbo ; \ + yum install -y -q numactl openssl glib2-2.56.1 pangolibpng12 libXv libvisual mesa-libGL pango glib2 alsa-lib libsoup libjpeg-turbo ; \ yum remove -y -q epel-release; \ rm -rf /var/cache/yum/*; diff --git a/Xeon/centos-7.6/dldt+gst/Dockerfile b/Xeon/centos-7.6/dldt+gst/Dockerfile index 2c5e1059e..0927a790f 100644 --- a/Xeon/centos-7.6/dldt+gst/Dockerfile +++ b/Xeon/centos-7.6/dldt+gst/Dockerfile @@ -459,7 +459,7 @@ WORKDIR /home # Prerequisites RUN yum install -y epel-release; \ - yum install -y -q numactl openssl glib2-2.56.1 pangolibpng12 libXv libvisual mesa-libGL pango glib2 openblas-serial \ + yum install -y -q numactl openssl glib2-2.56.1 pangolibpng12 libXv libvisual mesa-libGL pango glib2 alsa-lib openblas-serial \ libsoup libjpeg-turbo python36 ; \ yum remove -y -q epel-release; \ rm -rf /var/cache/yum/*; diff --git a/Xeon/centos-7.6/ffmpeg+gst+dev/Dockerfile b/Xeon/centos-7.6/ffmpeg+gst+dev/Dockerfile index 7417e85ab..4d2d15aff 100644 --- a/Xeon/centos-7.6/ffmpeg+gst+dev/Dockerfile +++ b/Xeon/centos-7.6/ffmpeg+gst+dev/Dockerfile @@ -529,7 +529,7 @@ WORKDIR /home # Prerequisites RUN yum install -y epel-release; \ - yum install -y -q libxcb SDL2 libass numactl glib2-2.56.1 pangolibpng12 libXv libvisual mesa-libGL pango glib2 openblas-serial \ + yum install -y -q libxcb SDL2 libass numactl glib2-2.56.1 pangolibpng12 libXv libvisual mesa-libGL pango glib2 alsa-lib openblas-serial \ libsoup libjpeg-turbo python36 ; \ yum remove -y -q epel-release; \ rm -rf /var/cache/yum/*; diff --git a/Xeon/centos-7.6/gst/Dockerfile b/Xeon/centos-7.6/gst/Dockerfile index f68b1591f..3e136acdd 100644 --- a/Xeon/centos-7.6/gst/Dockerfile +++ b/Xeon/centos-7.6/gst/Dockerfile @@ -323,7 +323,7 @@ WORKDIR /home # Prerequisites RUN yum install -y epel-release; \ - yum install -y -q numactl openssl glib2-2.56.1 pangolibpng12 libXv libvisual mesa-libGL pango glib2 libsoup libjpeg-turbo ; \ + yum install -y -q numactl openssl glib2-2.56.1 pangolibpng12 libXv libvisual mesa-libGL pango glib2 alsa-lib libsoup libjpeg-turbo ; \ yum remove -y -q epel-release; \ rm -rf /var/cache/yum/*; diff --git a/XeonE3/centos-7.4/dldt+gst/Dockerfile b/XeonE3/centos-7.4/dldt+gst/Dockerfile index 7c960b0f2..57e94d684 100644 --- a/XeonE3/centos-7.4/dldt+gst/Dockerfile +++ b/XeonE3/centos-7.4/dldt+gst/Dockerfile @@ -563,7 +563,7 @@ WORKDIR /home # Prerequisites RUN yum install -y epel-release; \ - yum install -y -q numactl openssl glib2-2.56.1 pangolibxcb mesa-libGL libXrandr libpng12 libXv libvisual mesa-libGL pango glib2 libpciaccess libX11 openblas-serial \ + yum install -y -q numactl openssl glib2-2.56.1 pangolibxcb mesa-libGL libXrandr libpng12 libXv libvisual mesa-libGL pango glib2 alsa-lib libpciaccess libX11 openblas-serial \ mesa-dri-drivers mesa-libGL libsoup libjpeg-turbo python36 ; \ yum remove -y -q epel-release; \ rm -rf /var/cache/yum/*; diff --git a/XeonE3/centos-7.4/ffmpeg+gst+dev/Dockerfile b/XeonE3/centos-7.4/ffmpeg+gst+dev/Dockerfile index 2f0c7923b..fd2d18e04 100644 --- a/XeonE3/centos-7.4/ffmpeg+gst+dev/Dockerfile +++ b/XeonE3/centos-7.4/ffmpeg+gst+dev/Dockerfile @@ -631,7 +631,7 @@ WORKDIR /home # Prerequisites RUN yum install -y epel-release; \ - yum install -y -q libxcb SDL2 libass numactl libvdpau glib2-2.56.1 pangolibxcb mesa-libGL libXrandr libpng12 libXv libvisual mesa-libGL pango glib2 libpciaccess libX11 openblas-serial \ + yum install -y -q libxcb SDL2 libass numactl libvdpau glib2-2.56.1 pangolibxcb mesa-libGL libXrandr libpng12 libXv libvisual mesa-libGL pango glib2 alsa-lib libpciaccess libX11 openblas-serial \ mesa-dri-drivers mesa-libGL libsoup libjpeg-turbo python36 ; \ yum remove -y -q epel-release; \ rm -rf /var/cache/yum/*; diff --git a/XeonE3/centos-7.4/gst/Dockerfile b/XeonE3/centos-7.4/gst/Dockerfile index 6c315013b..963126f20 100644 --- a/XeonE3/centos-7.4/gst/Dockerfile +++ b/XeonE3/centos-7.4/gst/Dockerfile @@ -386,7 +386,7 @@ WORKDIR /home # Prerequisites RUN yum install -y epel-release; \ - yum install -y -q numactl openssl glib2-2.56.1 pangolibxcb mesa-libGL libXrandr libpng12 libXv libvisual mesa-libGL pango glib2 libpciaccess libX11 mesa-dri-drivers mesa-libGL libsoup libjpeg-turbo ; \ + yum install -y -q numactl openssl glib2-2.56.1 pangolibxcb mesa-libGL libXrandr libpng12 libXv libvisual mesa-libGL pango glib2 alsa-lib libpciaccess libX11 mesa-dri-drivers mesa-libGL libsoup libjpeg-turbo ; \ yum remove -y -q epel-release; \ rm -rf /var/cache/yum/*; diff --git a/XeonE3/centos-7.5/dldt+gst/Dockerfile b/XeonE3/centos-7.5/dldt+gst/Dockerfile index d1be07d03..bbef9e6e4 100644 --- a/XeonE3/centos-7.5/dldt+gst/Dockerfile +++ b/XeonE3/centos-7.5/dldt+gst/Dockerfile @@ -562,7 +562,7 @@ WORKDIR /home # Prerequisites RUN yum install -y epel-release; \ - yum install -y -q numactl openssl glib2-2.56.1 pangolibxcb mesa-libGL libXrandr libpng12 libXv libvisual mesa-libGL pango glib2 libpciaccess libX11 openblas-serial \ + yum install -y -q numactl openssl glib2-2.56.1 pangolibxcb mesa-libGL libXrandr libpng12 libXv libvisual mesa-libGL pango glib2 alsa-lib libpciaccess libX11 openblas-serial \ mesa-dri-drivers mesa-libGL libsoup libjpeg-turbo python36 ; \ yum remove -y -q epel-release; \ rm -rf /var/cache/yum/*; diff --git a/XeonE3/centos-7.5/ffmpeg+gst+dev/Dockerfile b/XeonE3/centos-7.5/ffmpeg+gst+dev/Dockerfile index 0f255d2f8..33f689b49 100644 --- a/XeonE3/centos-7.5/ffmpeg+gst+dev/Dockerfile +++ b/XeonE3/centos-7.5/ffmpeg+gst+dev/Dockerfile @@ -630,7 +630,7 @@ WORKDIR /home # Prerequisites RUN yum install -y epel-release; \ - yum install -y -q libxcb SDL2 libass numactl libvdpau glib2-2.56.1 pangolibxcb mesa-libGL libXrandr libpng12 libXv libvisual mesa-libGL pango glib2 libpciaccess libX11 openblas-serial \ + yum install -y -q libxcb SDL2 libass numactl libvdpau glib2-2.56.1 pangolibxcb mesa-libGL libXrandr libpng12 libXv libvisual mesa-libGL pango glib2 alsa-lib libpciaccess libX11 openblas-serial \ mesa-dri-drivers mesa-libGL libsoup libjpeg-turbo python36 ; \ yum remove -y -q epel-release; \ rm -rf /var/cache/yum/*; diff --git a/XeonE3/centos-7.5/gst/Dockerfile b/XeonE3/centos-7.5/gst/Dockerfile index 12fc48e04..0a414f7ab 100644 --- a/XeonE3/centos-7.5/gst/Dockerfile +++ b/XeonE3/centos-7.5/gst/Dockerfile @@ -386,7 +386,7 @@ WORKDIR /home # Prerequisites RUN yum install -y epel-release; \ - yum install -y -q numactl openssl glib2-2.56.1 pangolibxcb mesa-libGL libXrandr libpng12 libXv libvisual mesa-libGL pango glib2 libpciaccess libX11 mesa-dri-drivers mesa-libGL libsoup libjpeg-turbo ; \ + yum install -y -q numactl openssl glib2-2.56.1 pangolibxcb mesa-libGL libXrandr libpng12 libXv libvisual mesa-libGL pango glib2 alsa-lib libpciaccess libX11 mesa-dri-drivers mesa-libGL libsoup libjpeg-turbo ; \ yum remove -y -q epel-release; \ rm -rf /var/cache/yum/*; diff --git a/XeonE3/centos-7.6/dldt+gst/Dockerfile b/XeonE3/centos-7.6/dldt+gst/Dockerfile index 1559af952..b9fb2e5bf 100644 --- a/XeonE3/centos-7.6/dldt+gst/Dockerfile +++ b/XeonE3/centos-7.6/dldt+gst/Dockerfile @@ -562,7 +562,7 @@ WORKDIR /home # Prerequisites RUN yum install -y epel-release; \ - yum install -y -q numactl openssl glib2-2.56.1 pangolibxcb mesa-libGL libXrandr libpng12 libXv libvisual mesa-libGL pango glib2 libpciaccess libX11 openblas-serial \ + yum install -y -q numactl openssl glib2-2.56.1 pangolibxcb mesa-libGL libXrandr libpng12 libXv libvisual mesa-libGL pango glib2 alsa-lib libpciaccess libX11 openblas-serial \ mesa-dri-drivers mesa-libGL libsoup libjpeg-turbo python36 ; \ yum remove -y -q epel-release; \ rm -rf /var/cache/yum/*; diff --git a/XeonE3/centos-7.6/ffmpeg+gst+dev/Dockerfile b/XeonE3/centos-7.6/ffmpeg+gst+dev/Dockerfile index 357879aa7..844151b83 100644 --- a/XeonE3/centos-7.6/ffmpeg+gst+dev/Dockerfile +++ b/XeonE3/centos-7.6/ffmpeg+gst+dev/Dockerfile @@ -630,7 +630,7 @@ WORKDIR /home # Prerequisites RUN yum install -y epel-release; \ - yum install -y -q libxcb SDL2 libass numactl libvdpau glib2-2.56.1 pangolibxcb mesa-libGL libXrandr libpng12 libXv libvisual mesa-libGL pango glib2 libpciaccess libX11 openblas-serial \ + yum install -y -q libxcb SDL2 libass numactl libvdpau glib2-2.56.1 pangolibxcb mesa-libGL libXrandr libpng12 libXv libvisual mesa-libGL pango glib2 alsa-lib libpciaccess libX11 openblas-serial \ mesa-dri-drivers mesa-libGL libsoup libjpeg-turbo python36 ; \ yum remove -y -q epel-release; \ rm -rf /var/cache/yum/*; diff --git a/XeonE3/centos-7.6/gst/Dockerfile b/XeonE3/centos-7.6/gst/Dockerfile index 02374ea3c..a711c7f55 100644 --- a/XeonE3/centos-7.6/gst/Dockerfile +++ b/XeonE3/centos-7.6/gst/Dockerfile @@ -386,7 +386,7 @@ WORKDIR /home # Prerequisites RUN yum install -y epel-release; \ - yum install -y -q numactl openssl glib2-2.56.1 pangolibxcb mesa-libGL libXrandr libpng12 libXv libvisual mesa-libGL pango glib2 libpciaccess libX11 mesa-dri-drivers mesa-libGL libsoup libjpeg-turbo ; \ + yum install -y -q numactl openssl glib2-2.56.1 pangolibxcb mesa-libGL libXrandr libpng12 libXv libvisual mesa-libGL pango glib2 alsa-lib libpciaccess libX11 mesa-dri-drivers mesa-libGL libsoup libjpeg-turbo ; \ yum remove -y -q epel-release; \ rm -rf /var/cache/yum/*; diff --git a/template/gst-plugin-base.m4 b/template/gst-plugin-base.m4 index 42a993927..5fccc6b8e 100644 --- a/template/gst-plugin-base.m4 +++ b/template/gst-plugin-base.m4 @@ -24,4 +24,4 @@ RUN wget -O - ${GST_PLUGIN_BASE_REPO} | tar xJ && \ define(`INSTALL_PKGS_GST_PLUGIN_BASE',dnl ifelse(index(DOCKER_IMAGE,ubuntu1604),-1,,libpng12-0 libxv1 libvisual-0.4-0 libgl1-mesa-glx libpango-1.0-0 libtheora0 libcdparanoia0 libasound2 )dnl ifelse(index(DOCKER_IMAGE,ubuntu1804),-1,,libpng16-16 libxv1 libvisual-0.4-0 libgl1-mesa-glx libpango-1.0-0 libtheora0 libcdparanoia0 libasound2 )dnl -ifelse(index(DOCKER_IMAGE,centos),-1,,libpng12 libXv libvisual mesa-libGL pango glib2 ))dnl +ifelse(index(DOCKER_IMAGE,centos),-1,,libpng12 libXv libvisual mesa-libGL pango glib2 alsa-lib ))dnl From adb71bf63310a258b741a4a7385f29ed155c3d57 Mon Sep 17 00:00:00 2001 From: cssdk Date: Tue, 26 Mar 2019 22:54:31 +0000 Subject: [PATCH 5/9] Added a test for video analytic plugins for gstreamer --- test/gst_video_analytics.sh | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100755 test/gst_video_analytics.sh diff --git a/test/gst_video_analytics.sh b/test/gst_video_analytics.sh new file mode 100755 index 000000000..646159100 --- /dev/null +++ b/test/gst_video_analytics.sh @@ -0,0 +1,25 @@ +#!/bin/bash -e + +if grep --quiet 'NAME="CentOS Linux"' /etc/os-release; then + yum install -y centos-release-scl + yum install -y rh-python36 + source /opt/rh/rh-python36/enable +else + apt-get update + apt-get install -y wget make python3 python3-pip +fi + +pip3 install pyyaml requests + +wget -q -O - https://github.com/opencv/open_model_zoo/archive/2018_R5.tar.gz | tar xz && \ + cd open_model_zoo-2018_R5 && \ + cd model_downloader && \ + ./downloader.py --name vehicle-license-plate-detection-barrier-0106,vehicle-attributes-recognition-barrier-0039,license-plate-recognition-barrier-0001 + +dd if=/dev/urandom bs=115200 count=300 of=test.yuv # 10 seconds video +gst-launch-1.0 -v filesrc location=test.yuv ! videoparse format=i420 width=320 height=240 framerate=30 ! x264enc ! mpegtsmux ! filesink location=test.ts +gst-launch-1.0 -v filesrc location=test.ts ! decodebin ! video/x-raw ! videoconvert ! \ + gvadetect model=/home/open_model_zoo-2018_R5/model_downloader/Security/object_detection/barrier/0106/dldt/vehicle-license-plate-detection-barrier-0106.xml ! queue ! \ + gvaclassify model=/home/open_model_zoo-2018_R5/model_downloader/Security/object_attributes/vehicle/resnet10_update_1/dldt/vehicle-attributes-recognition-barrier-0039.xml object-class=vehicle ! queue ! \ + gvaclassify model=/home/open_model_zoo-2018_R5/model_downloader/Security/optical_character_recognition/license_plate/dldt/license-plate-recognition-barrier-0001.xml object-class=license-plate ! queue ! \ + gvawatermark ! videoconvert ! fakesink From 94ed19ea6a500e7b3293f376750c7c8a11b4b446 Mon Sep 17 00:00:00 2001 From: cssdk Date: Wed, 27 Mar 2019 01:15:49 +0000 Subject: [PATCH 6/9] Added gst video analytic test and updated python install for dev for mo --- VCA2/centos-7.4/ffmpeg+gst+dev/Dockerfile | 20 +++++++++++++------ VCA2/centos-7.4/ffmpeg+gst+dev/Dockerfile.m4 | 1 + VCA2/centos-7.5/ffmpeg+gst+dev/Dockerfile | 20 +++++++++++++------ VCA2/centos-7.5/ffmpeg+gst+dev/Dockerfile.m4 | 1 + VCA2/centos-7.6/ffmpeg+gst+dev/Dockerfile | 20 +++++++++++++------ VCA2/centos-7.6/ffmpeg+gst+dev/Dockerfile.m4 | 1 + VCA2/ubuntu-16.04/ffmpeg+gst+dev/Dockerfile | 10 +++++++--- .../ubuntu-16.04/ffmpeg+gst+dev/Dockerfile.m4 | 1 + VCA2/ubuntu-18.04/ffmpeg+gst+dev/Dockerfile | 10 +++++++--- .../ubuntu-18.04/ffmpeg+gst+dev/Dockerfile.m4 | 1 + Xeon/centos-7.4/dldt+ffmpeg/Dockerfile | 3 +-- Xeon/centos-7.4/dldt+gst/Dockerfile | 3 +-- Xeon/centos-7.4/ffmpeg+gst+dev/Dockerfile | 20 +++++++++++++------ Xeon/centos-7.4/ffmpeg+gst+dev/Dockerfile.m4 | 1 + Xeon/centos-7.5/dldt+ffmpeg/Dockerfile | 3 +-- Xeon/centos-7.5/dldt+gst/Dockerfile | 3 +-- Xeon/centos-7.5/ffmpeg+gst+dev/Dockerfile | 20 +++++++++++++------ Xeon/centos-7.5/ffmpeg+gst+dev/Dockerfile.m4 | 1 + Xeon/centos-7.6/dldt+ffmpeg/Dockerfile | 3 +-- Xeon/centos-7.6/dldt+gst/Dockerfile | 3 +-- Xeon/centos-7.6/ffmpeg+gst+dev/Dockerfile | 20 +++++++++++++------ Xeon/centos-7.6/ffmpeg+gst+dev/Dockerfile.m4 | 1 + Xeon/ubuntu-16.04/dldt+ffmpeg/Dockerfile | 3 +-- Xeon/ubuntu-16.04/dldt+gst/Dockerfile | 3 +-- Xeon/ubuntu-16.04/ffmpeg+gst+dev/Dockerfile | 10 +++++++--- .../ubuntu-16.04/ffmpeg+gst+dev/Dockerfile.m4 | 1 + Xeon/ubuntu-18.04/dldt+ffmpeg/Dockerfile | 3 +-- Xeon/ubuntu-18.04/dldt+gst/Dockerfile | 3 +-- Xeon/ubuntu-18.04/ffmpeg+gst+dev/Dockerfile | 10 +++++++--- .../ubuntu-18.04/ffmpeg+gst+dev/Dockerfile.m4 | 1 + XeonE3/centos-7.4/dldt+gst/Dockerfile | 3 +-- XeonE3/centos-7.4/ffmpeg+gst+dev/Dockerfile | 20 +++++++++++++------ .../centos-7.4/ffmpeg+gst+dev/Dockerfile.m4 | 1 + XeonE3/centos-7.5/dldt+gst/Dockerfile | 3 +-- XeonE3/centos-7.5/ffmpeg+gst+dev/Dockerfile | 20 +++++++++++++------ .../centos-7.5/ffmpeg+gst+dev/Dockerfile.m4 | 1 + XeonE3/centos-7.6/dldt+gst/Dockerfile | 3 +-- XeonE3/centos-7.6/ffmpeg+gst+dev/Dockerfile | 20 +++++++++++++------ .../centos-7.6/ffmpeg+gst+dev/Dockerfile.m4 | 1 + XeonE3/ubuntu-16.04/dldt+gst/Dockerfile | 3 +-- XeonE3/ubuntu-16.04/ffmpeg+gst+dev/Dockerfile | 10 +++++++--- .../ubuntu-16.04/ffmpeg+gst+dev/Dockerfile.m4 | 1 + XeonE3/ubuntu-18.04/dldt+gst/Dockerfile | 3 +-- XeonE3/ubuntu-18.04/ffmpeg+gst+dev/Dockerfile | 10 +++++++--- .../ubuntu-18.04/ffmpeg+gst+dev/Dockerfile.m4 | 1 + doc/gst.md | 18 +++++++++++++++++ template/dldt-ie.m4 | 10 ---------- template/install.pkgs.m4 | 6 +++--- template/python.m4 | 17 ++++++++++++++++ 49 files changed, 236 insertions(+), 115 deletions(-) create mode 100644 template/python.m4 diff --git a/VCA2/centos-7.4/ffmpeg+gst+dev/Dockerfile b/VCA2/centos-7.4/ffmpeg+gst+dev/Dockerfile index cbccb9e3b..ad6b555ef 100644 --- a/VCA2/centos-7.4/ffmpeg+gst+dev/Dockerfile +++ b/VCA2/centos-7.4/ffmpeg+gst+dev/Dockerfile @@ -250,6 +250,19 @@ RUN wget -O - ${MSDK_REPO} | tar xz && mv MediaSDK-${MSDK_VER} MediaSDK && \ make install DESTDIR=/home/build && \ make install; +ARG PYTHON_VER=3.6.6 +ARG PYTHON_REPO=https://www.python.org/ftp/python/${PYTHON_VER}/Python-${PYTHON_VER}.tgz + +RUN yum install -y zlib-devel +RUN wget -O - ${PYTHON_REPO} | tar xz && \ + cd Python-${PYTHON_VER} && \ + ./configure --prefix=/usr && \ + make && \ + make install && \ + make install DESTDIR=/home/build +RUN yum install -y -q python-yaml + + # Build DLDT-Inference Engine ARG DLDT_VER=2018_R5 ARG DLDT_REPO=https://github.com/opencv/dldt.git @@ -319,10 +332,6 @@ ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/i ARG PYTHON_TRUSTED_HOST ARG PYTHON_TRUSTED_INDEX_URL #install MO dependencies -RUN yum install -y python36 -RUN yum install -y python36-devel -RUN yum install -y python36-setuptools -RUN easy_install-3.6 pip #RUN pip3 install numpy scipy RUN git clone https://github.com/google/protobuf.git && \ cd protobuf && \ @@ -348,7 +357,6 @@ RUN cp -r dldt/model-optimizer /home/build/opt/intel/dldt/model-optimizer - # Build the gstremaer core ARG GST_VER=1.14.4 ARG GST_REPO=https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${GST_VER}.tar.xz @@ -538,7 +546,7 @@ WORKDIR /home # Prerequisites RUN yum install -y epel-release; \ - yum install -y -q libxcb SDL2 libass numactl libvdpau glib2-2.56.1 pangolibxcb mesa-libGL libXrandr libpng12 libXv libvisual mesa-libGL pango glib2 alsa-lib libpciaccess libX11 mesa-dri-drivers mesa-libGL libsoup libjpeg-turbo python36 ; \ + yum install -y -q libxcb SDL2 libass numactl libvdpau glib2-2.56.1 pangolibxcb mesa-libGL libXrandr libpng12 libXv libvisual mesa-libGL pango glib2 alsa-lib libpciaccess libX11 mesa-dri-drivers mesa-libGL libsoup libjpeg-turbo python-yaml ; \ yum remove -y -q epel-release; \ rm -rf /var/cache/yum/*; diff --git a/VCA2/centos-7.4/ffmpeg+gst+dev/Dockerfile.m4 b/VCA2/centos-7.4/ffmpeg+gst+dev/Dockerfile.m4 index 1432b4128..f1a713fd6 100644 --- a/VCA2/centos-7.4/ffmpeg+gst+dev/Dockerfile.m4 +++ b/VCA2/centos-7.4/ffmpeg+gst+dev/Dockerfile.m4 @@ -22,6 +22,7 @@ include(gmmlib.m4) include(libva.m4) include(media-driver.m4) include(media-sdk.m4) +include(python.m4) include(dldt-ie.m4) include(gst.m4) include(gst-plugin-base.m4) diff --git a/VCA2/centos-7.5/ffmpeg+gst+dev/Dockerfile b/VCA2/centos-7.5/ffmpeg+gst+dev/Dockerfile index f828b4b48..0fcecb192 100644 --- a/VCA2/centos-7.5/ffmpeg+gst+dev/Dockerfile +++ b/VCA2/centos-7.5/ffmpeg+gst+dev/Dockerfile @@ -250,6 +250,19 @@ RUN wget -O - ${MSDK_REPO} | tar xz && mv MediaSDK-${MSDK_VER} MediaSDK && \ make install DESTDIR=/home/build && \ make install; +ARG PYTHON_VER=3.6.6 +ARG PYTHON_REPO=https://www.python.org/ftp/python/${PYTHON_VER}/Python-${PYTHON_VER}.tgz + +RUN yum install -y zlib-devel +RUN wget -O - ${PYTHON_REPO} | tar xz && \ + cd Python-${PYTHON_VER} && \ + ./configure --prefix=/usr && \ + make && \ + make install && \ + make install DESTDIR=/home/build +RUN yum install -y -q python-yaml + + # Build DLDT-Inference Engine ARG DLDT_VER=2018_R5 ARG DLDT_REPO=https://github.com/opencv/dldt.git @@ -319,10 +332,6 @@ ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/i ARG PYTHON_TRUSTED_HOST ARG PYTHON_TRUSTED_INDEX_URL #install MO dependencies -RUN yum install -y python36 -RUN yum install -y python36-devel -RUN yum install -y python36-setuptools -RUN easy_install-3.6 pip #RUN pip3 install numpy scipy RUN git clone https://github.com/google/protobuf.git && \ cd protobuf && \ @@ -348,7 +357,6 @@ RUN cp -r dldt/model-optimizer /home/build/opt/intel/dldt/model-optimizer - # Build the gstremaer core ARG GST_VER=1.14.4 ARG GST_REPO=https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${GST_VER}.tar.xz @@ -538,7 +546,7 @@ WORKDIR /home # Prerequisites RUN yum install -y epel-release; \ - yum install -y -q libxcb SDL2 libass numactl libvdpau glib2-2.56.1 pangolibxcb mesa-libGL libXrandr libpng12 libXv libvisual mesa-libGL pango glib2 alsa-lib libpciaccess libX11 mesa-dri-drivers mesa-libGL libsoup libjpeg-turbo python36 ; \ + yum install -y -q libxcb SDL2 libass numactl libvdpau glib2-2.56.1 pangolibxcb mesa-libGL libXrandr libpng12 libXv libvisual mesa-libGL pango glib2 alsa-lib libpciaccess libX11 mesa-dri-drivers mesa-libGL libsoup libjpeg-turbo python-yaml ; \ yum remove -y -q epel-release; \ rm -rf /var/cache/yum/*; diff --git a/VCA2/centos-7.5/ffmpeg+gst+dev/Dockerfile.m4 b/VCA2/centos-7.5/ffmpeg+gst+dev/Dockerfile.m4 index 66a63c7ab..b968f23eb 100644 --- a/VCA2/centos-7.5/ffmpeg+gst+dev/Dockerfile.m4 +++ b/VCA2/centos-7.5/ffmpeg+gst+dev/Dockerfile.m4 @@ -22,6 +22,7 @@ include(gmmlib.m4) include(libva.m4) include(media-driver.m4) include(media-sdk.m4) +include(python.m4) include(dldt-ie.m4) include(gst.m4) include(gst-plugin-base.m4) diff --git a/VCA2/centos-7.6/ffmpeg+gst+dev/Dockerfile b/VCA2/centos-7.6/ffmpeg+gst+dev/Dockerfile index 8e65f947d..42312d962 100644 --- a/VCA2/centos-7.6/ffmpeg+gst+dev/Dockerfile +++ b/VCA2/centos-7.6/ffmpeg+gst+dev/Dockerfile @@ -250,6 +250,19 @@ RUN wget -O - ${MSDK_REPO} | tar xz && mv MediaSDK-${MSDK_VER} MediaSDK && \ make install DESTDIR=/home/build && \ make install; +ARG PYTHON_VER=3.6.6 +ARG PYTHON_REPO=https://www.python.org/ftp/python/${PYTHON_VER}/Python-${PYTHON_VER}.tgz + +RUN yum install -y zlib-devel +RUN wget -O - ${PYTHON_REPO} | tar xz && \ + cd Python-${PYTHON_VER} && \ + ./configure --prefix=/usr && \ + make && \ + make install && \ + make install DESTDIR=/home/build +RUN yum install -y -q python-yaml + + # Build DLDT-Inference Engine ARG DLDT_VER=2018_R5 ARG DLDT_REPO=https://github.com/opencv/dldt.git @@ -319,10 +332,6 @@ ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/i ARG PYTHON_TRUSTED_HOST ARG PYTHON_TRUSTED_INDEX_URL #install MO dependencies -RUN yum install -y python36 -RUN yum install -y python36-devel -RUN yum install -y python36-setuptools -RUN easy_install-3.6 pip #RUN pip3 install numpy scipy RUN git clone https://github.com/google/protobuf.git && \ cd protobuf && \ @@ -348,7 +357,6 @@ RUN cp -r dldt/model-optimizer /home/build/opt/intel/dldt/model-optimizer - # Build the gstremaer core ARG GST_VER=1.14.4 ARG GST_REPO=https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${GST_VER}.tar.xz @@ -538,7 +546,7 @@ WORKDIR /home # Prerequisites RUN yum install -y epel-release; \ - yum install -y -q libxcb SDL2 libass numactl libvdpau glib2-2.56.1 pangolibxcb mesa-libGL libXrandr libpng12 libXv libvisual mesa-libGL pango glib2 alsa-lib libpciaccess libX11 mesa-dri-drivers mesa-libGL libsoup libjpeg-turbo python36 ; \ + yum install -y -q libxcb SDL2 libass numactl libvdpau glib2-2.56.1 pangolibxcb mesa-libGL libXrandr libpng12 libXv libvisual mesa-libGL pango glib2 alsa-lib libpciaccess libX11 mesa-dri-drivers mesa-libGL libsoup libjpeg-turbo python-yaml ; \ yum remove -y -q epel-release; \ rm -rf /var/cache/yum/*; diff --git a/VCA2/centos-7.6/ffmpeg+gst+dev/Dockerfile.m4 b/VCA2/centos-7.6/ffmpeg+gst+dev/Dockerfile.m4 index d938af7e0..ba1fed08e 100644 --- a/VCA2/centos-7.6/ffmpeg+gst+dev/Dockerfile.m4 +++ b/VCA2/centos-7.6/ffmpeg+gst+dev/Dockerfile.m4 @@ -22,6 +22,7 @@ include(gmmlib.m4) include(libva.m4) include(media-driver.m4) include(media-sdk.m4) +include(python.m4) include(dldt-ie.m4) include(gst.m4) include(gst-plugin-base.m4) diff --git a/VCA2/ubuntu-16.04/ffmpeg+gst+dev/Dockerfile b/VCA2/ubuntu-16.04/ffmpeg+gst+dev/Dockerfile index c63666aad..5c4db792b 100644 --- a/VCA2/ubuntu-16.04/ffmpeg+gst+dev/Dockerfile +++ b/VCA2/ubuntu-16.04/ffmpeg+gst+dev/Dockerfile @@ -242,6 +242,12 @@ RUN wget -O - ${MSDK_REPO} | tar xz && mv MediaSDK-${MSDK_VER} MediaSDK && \ make install DESTDIR=/home/build && \ make install; +ARG PYTHON_VER=3.6.6 +ARG PYTHON_REPO=https://www.python.org/ftp/python/${PYTHON_VER}/Python-${PYTHON_VER}.tgz + +RUN apt-get install -y python3 python3-pip python3-setuptools python-yaml + + # Build DLDT-Inference Engine ARG DLDT_VER=2018_R5 ARG DLDT_REPO=https://github.com/opencv/dldt.git @@ -310,7 +316,6 @@ ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/i ARG PYTHON_TRUSTED_HOST ARG PYTHON_TRUSTED_INDEX_URL #install MO dependencies -RUN DEBIAN_FRONTEND=noninteractive apt-get install -y -q --no-install-recommends python3-dev python3-pip python3-setuptools python3-wheel #RUN pip3 install numpy scipy RUN git clone https://github.com/google/protobuf.git && \ cd protobuf && \ @@ -336,7 +341,6 @@ RUN cp -r dldt/model-optimizer /home/build/opt/intel/dldt/model-optimizer - # Build the gstremaer core ARG GST_VER=1.14.4 ARG GST_REPO=https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${GST_VER}.tar.xz @@ -525,7 +529,7 @@ LABEL Vendor="Intel Corporation" WORKDIR /home # Prerequisites -RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libxv1 libxcb-shm0 libxcb-shape0 libxcb-xfixes0 libsdl2-2.0-0 libasound2 libvdpau1 libnuma1 libass5 libssl1.0.0 libglib2.0 libpango-1.0-0 libpangocairo-1.0-0 libdrm-intel1 libudev1 libx11-xcb1 libgl1-mesa-glx libxrandr2 libegl1-mesa libglib2.0-0 libpng12-0 libxv1 libvisual-0.4-0 libgl1-mesa-glx libpango-1.0-0 libtheora0 libcdparanoia0 libasound2 libsoup2.4-1 libjpeg8 libjpeg-turbo8 python3 ; \ +RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libxv1 libxcb-shm0 libxcb-shape0 libxcb-xfixes0 libsdl2-2.0-0 libasound2 libvdpau1 libnuma1 libass5 libssl1.0.0 libglib2.0 libpango-1.0-0 libpangocairo-1.0-0 libdrm-intel1 libudev1 libx11-xcb1 libgl1-mesa-glx libxrandr2 libegl1-mesa libglib2.0-0 libpng12-0 libxv1 libvisual-0.4-0 libgl1-mesa-glx libpango-1.0-0 libtheora0 libcdparanoia0 libasound2 libsoup2.4-1 libjpeg8 libjpeg-turbo8 python3 python3-pip python-yaml ; \ rm -rf /var/lib/apt/lists/*; # Install diff --git a/VCA2/ubuntu-16.04/ffmpeg+gst+dev/Dockerfile.m4 b/VCA2/ubuntu-16.04/ffmpeg+gst+dev/Dockerfile.m4 index c1ca3ff94..957c78d82 100644 --- a/VCA2/ubuntu-16.04/ffmpeg+gst+dev/Dockerfile.m4 +++ b/VCA2/ubuntu-16.04/ffmpeg+gst+dev/Dockerfile.m4 @@ -21,6 +21,7 @@ include(gmmlib.m4) include(libva.m4) include(media-driver.m4) include(media-sdk.m4) +include(python.m4) include(dldt-ie.m4) include(gst.m4) include(gst-plugin-base.m4) diff --git a/VCA2/ubuntu-18.04/ffmpeg+gst+dev/Dockerfile b/VCA2/ubuntu-18.04/ffmpeg+gst+dev/Dockerfile index db40963c9..b8202e6bd 100644 --- a/VCA2/ubuntu-18.04/ffmpeg+gst+dev/Dockerfile +++ b/VCA2/ubuntu-18.04/ffmpeg+gst+dev/Dockerfile @@ -242,6 +242,12 @@ RUN wget -O - ${MSDK_REPO} | tar xz && mv MediaSDK-${MSDK_VER} MediaSDK && \ make install DESTDIR=/home/build && \ make install; +ARG PYTHON_VER=3.6.6 +ARG PYTHON_REPO=https://www.python.org/ftp/python/${PYTHON_VER}/Python-${PYTHON_VER}.tgz + +RUN apt-get install -y python3 python3-pip python3-setuptools python-yaml + + # Build DLDT-Inference Engine ARG DLDT_VER=2018_R5 ARG DLDT_REPO=https://github.com/opencv/dldt.git @@ -311,7 +317,6 @@ ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/i ARG PYTHON_TRUSTED_HOST ARG PYTHON_TRUSTED_INDEX_URL #install MO dependencies -RUN DEBIAN_FRONTEND=noninteractive apt-get install -y -q --no-install-recommends python3-dev python3-pip python3-setuptools python3-wheel #RUN pip3 install numpy scipy RUN git clone https://github.com/google/protobuf.git && \ cd protobuf && \ @@ -337,7 +342,6 @@ RUN cp -r dldt/model-optimizer /home/build/opt/intel/dldt/model-optimizer - # Build the gstremaer core ARG GST_VER=1.14.4 ARG GST_REPO=https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${GST_VER}.tar.xz @@ -528,7 +532,7 @@ WORKDIR /home # Prerequisites RUN ln -sf /usr/share/zoneinfo/UTC /etc/localtime; \ - DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libxv1 libxcb-shm0 libxcb-shape0 libxcb-xfixes0 libsdl2-2.0-0 libasound2 libvdpau1 libnuma1 libass9 libssl1.1 libpciaccess0 libglib2.0 libpango-1.0-0 libpangocairo-1.0-0 libdrm-intel1 libudev1 libx11-xcb1 libgl1-mesa-glx libxrandr2 libegl1-mesa libglib2.0-0 libpng16-16 libxv1 libvisual-0.4-0 libgl1-mesa-glx libpango-1.0-0 libtheora0 libcdparanoia0 libasound2 libsoup2.4-1 libjpeg8 libjpeg-turbo8 python3 ; \ + DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libxv1 libxcb-shm0 libxcb-shape0 libxcb-xfixes0 libsdl2-2.0-0 libasound2 libvdpau1 libnuma1 libass9 libssl1.1 libpciaccess0 libglib2.0 libpango-1.0-0 libpangocairo-1.0-0 libdrm-intel1 libudev1 libx11-xcb1 libgl1-mesa-glx libxrandr2 libegl1-mesa libglib2.0-0 libpng16-16 libxv1 libvisual-0.4-0 libgl1-mesa-glx libpango-1.0-0 libtheora0 libcdparanoia0 libasound2 libsoup2.4-1 libjpeg8 libjpeg-turbo8 python3 python3-pip python-yaml ; \ rm -rf /var/lib/apt/lists/*; # Install diff --git a/VCA2/ubuntu-18.04/ffmpeg+gst+dev/Dockerfile.m4 b/VCA2/ubuntu-18.04/ffmpeg+gst+dev/Dockerfile.m4 index 8157a0527..d9daef68f 100644 --- a/VCA2/ubuntu-18.04/ffmpeg+gst+dev/Dockerfile.m4 +++ b/VCA2/ubuntu-18.04/ffmpeg+gst+dev/Dockerfile.m4 @@ -21,6 +21,7 @@ include(gmmlib.m4) include(libva.m4) include(media-driver.m4) include(media-sdk.m4) +include(python.m4) include(dldt-ie.m4) include(gst.m4) include(gst-plugin-base.m4) diff --git a/Xeon/centos-7.4/dldt+ffmpeg/Dockerfile b/Xeon/centos-7.4/dldt+ffmpeg/Dockerfile index 26c7840e2..c6b44f471 100644 --- a/Xeon/centos-7.4/dldt+ffmpeg/Dockerfile +++ b/Xeon/centos-7.4/dldt+ffmpeg/Dockerfile @@ -269,7 +269,6 @@ ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/i - # Build librdkafka ARG LIBRDKAFKA_VER=0.11.6 ARG FILE_NAME=v${LIBRDKAFKA_VER} @@ -344,7 +343,7 @@ WORKDIR /home # Prerequisites RUN yum install -y epel-release; \ - yum install -y -q numactl python36 ; \ + yum install -y -q numactl ; \ yum remove -y -q epel-release; \ rm -rf /var/cache/yum/*; diff --git a/Xeon/centos-7.4/dldt+gst/Dockerfile b/Xeon/centos-7.4/dldt+gst/Dockerfile index 7d8e9cda7..58dda8a0c 100644 --- a/Xeon/centos-7.4/dldt+gst/Dockerfile +++ b/Xeon/centos-7.4/dldt+gst/Dockerfile @@ -268,7 +268,6 @@ ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/i - # Build the gstremaer core ARG GST_VER=1.14.4 ARG GST_REPO=https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${GST_VER}.tar.xz @@ -461,7 +460,7 @@ WORKDIR /home # Prerequisites RUN yum install -y epel-release; \ yum install -y -q numactl openssl glib2-2.56.1 pangolibpng12 libXv libvisual mesa-libGL pango glib2 alsa-lib openblas-serial \ -libsoup libjpeg-turbo python36 ; \ +libsoup libjpeg-turbo ; \ yum remove -y -q epel-release; \ rm -rf /var/cache/yum/*; diff --git a/Xeon/centos-7.4/ffmpeg+gst+dev/Dockerfile b/Xeon/centos-7.4/ffmpeg+gst+dev/Dockerfile index dabfe7fe6..e695948ad 100644 --- a/Xeon/centos-7.4/ffmpeg+gst+dev/Dockerfile +++ b/Xeon/centos-7.4/ffmpeg+gst+dev/Dockerfile @@ -200,6 +200,19 @@ RUN git clone ${SVT_VP9_REPO} && \ make install ) #include(transform360.m4) +ARG PYTHON_VER=3.6.6 +ARG PYTHON_REPO=https://www.python.org/ftp/python/${PYTHON_VER}/Python-${PYTHON_VER}.tgz + +RUN yum install -y zlib-devel +RUN wget -O - ${PYTHON_REPO} | tar xz && \ + cd Python-${PYTHON_VER} && \ + ./configure --prefix=/usr && \ + make && \ + make install && \ + make install DESTDIR=/home/build +RUN yum install -y -q python-yaml + + # Build DLDT-Inference Engine ARG DLDT_VER=2018_R5 ARG DLDT_REPO=https://github.com/opencv/dldt.git @@ -269,10 +282,6 @@ ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/i ARG PYTHON_TRUSTED_HOST ARG PYTHON_TRUSTED_INDEX_URL #install MO dependencies -RUN yum install -y python36 -RUN yum install -y python36-devel -RUN yum install -y python36-setuptools -RUN easy_install-3.6 pip #RUN pip3 install numpy scipy RUN git clone https://github.com/google/protobuf.git && \ cd protobuf && \ @@ -298,7 +307,6 @@ RUN cp -r dldt/model-optimizer /home/build/opt/intel/dldt/model-optimizer - # Build the gstremaer core ARG GST_VER=1.14.4 ARG GST_REPO=https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${GST_VER}.tar.xz @@ -531,7 +539,7 @@ WORKDIR /home # Prerequisites RUN yum install -y epel-release; \ yum install -y -q libxcb SDL2 libass numactl glib2-2.56.1 pangolibpng12 libXv libvisual mesa-libGL pango glib2 alsa-lib openblas-serial \ -libsoup libjpeg-turbo python36 ; \ +libsoup libjpeg-turbo python-yaml ; \ yum remove -y -q epel-release; \ rm -rf /var/cache/yum/*; diff --git a/Xeon/centos-7.4/ffmpeg+gst+dev/Dockerfile.m4 b/Xeon/centos-7.4/ffmpeg+gst+dev/Dockerfile.m4 index 49c9cd99e..e9bc0f485 100644 --- a/Xeon/centos-7.4/ffmpeg+gst+dev/Dockerfile.m4 +++ b/Xeon/centos-7.4/ffmpeg+gst+dev/Dockerfile.m4 @@ -17,6 +17,7 @@ include(svt-hevc.m4) include(svt-av1.m4) include(svt-vp9.m4) #include(transform360.m4) +include(python.m4) include(dldt-ie.m4) include(gst.m4) include(gst-orc.m4) diff --git a/Xeon/centos-7.5/dldt+ffmpeg/Dockerfile b/Xeon/centos-7.5/dldt+ffmpeg/Dockerfile index 5fe7287ab..ec12eae3b 100644 --- a/Xeon/centos-7.5/dldt+ffmpeg/Dockerfile +++ b/Xeon/centos-7.5/dldt+ffmpeg/Dockerfile @@ -269,7 +269,6 @@ ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/i - # Build librdkafka ARG LIBRDKAFKA_VER=0.11.6 ARG FILE_NAME=v${LIBRDKAFKA_VER} @@ -344,7 +343,7 @@ WORKDIR /home # Prerequisites RUN yum install -y epel-release; \ - yum install -y -q numactl python36 ; \ + yum install -y -q numactl ; \ yum remove -y -q epel-release; \ rm -rf /var/cache/yum/*; diff --git a/Xeon/centos-7.5/dldt+gst/Dockerfile b/Xeon/centos-7.5/dldt+gst/Dockerfile index d55339104..84e60d624 100644 --- a/Xeon/centos-7.5/dldt+gst/Dockerfile +++ b/Xeon/centos-7.5/dldt+gst/Dockerfile @@ -268,7 +268,6 @@ ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/i - # Build the gstremaer core ARG GST_VER=1.14.4 ARG GST_REPO=https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${GST_VER}.tar.xz @@ -460,7 +459,7 @@ WORKDIR /home # Prerequisites RUN yum install -y epel-release; \ yum install -y -q numactl openssl glib2-2.56.1 pangolibpng12 libXv libvisual mesa-libGL pango glib2 alsa-lib openblas-serial \ -libsoup libjpeg-turbo python36 ; \ +libsoup libjpeg-turbo ; \ yum remove -y -q epel-release; \ rm -rf /var/cache/yum/*; diff --git a/Xeon/centos-7.5/ffmpeg+gst+dev/Dockerfile b/Xeon/centos-7.5/ffmpeg+gst+dev/Dockerfile index 625e7212a..d70eb1986 100644 --- a/Xeon/centos-7.5/ffmpeg+gst+dev/Dockerfile +++ b/Xeon/centos-7.5/ffmpeg+gst+dev/Dockerfile @@ -200,6 +200,19 @@ RUN git clone ${SVT_VP9_REPO} && \ make install ) #include(transform360.m4) +ARG PYTHON_VER=3.6.6 +ARG PYTHON_REPO=https://www.python.org/ftp/python/${PYTHON_VER}/Python-${PYTHON_VER}.tgz + +RUN yum install -y zlib-devel +RUN wget -O - ${PYTHON_REPO} | tar xz && \ + cd Python-${PYTHON_VER} && \ + ./configure --prefix=/usr && \ + make && \ + make install && \ + make install DESTDIR=/home/build +RUN yum install -y -q python-yaml + + # Build DLDT-Inference Engine ARG DLDT_VER=2018_R5 ARG DLDT_REPO=https://github.com/opencv/dldt.git @@ -269,10 +282,6 @@ ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/i ARG PYTHON_TRUSTED_HOST ARG PYTHON_TRUSTED_INDEX_URL #install MO dependencies -RUN yum install -y python36 -RUN yum install -y python36-devel -RUN yum install -y python36-setuptools -RUN easy_install-3.6 pip #RUN pip3 install numpy scipy RUN git clone https://github.com/google/protobuf.git && \ cd protobuf && \ @@ -298,7 +307,6 @@ RUN cp -r dldt/model-optimizer /home/build/opt/intel/dldt/model-optimizer - # Build the gstremaer core ARG GST_VER=1.14.4 ARG GST_REPO=https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${GST_VER}.tar.xz @@ -530,7 +538,7 @@ WORKDIR /home # Prerequisites RUN yum install -y epel-release; \ yum install -y -q libxcb SDL2 libass numactl glib2-2.56.1 pangolibpng12 libXv libvisual mesa-libGL pango glib2 alsa-lib openblas-serial \ -libsoup libjpeg-turbo python36 ; \ +libsoup libjpeg-turbo python-yaml ; \ yum remove -y -q epel-release; \ rm -rf /var/cache/yum/*; diff --git a/Xeon/centos-7.5/ffmpeg+gst+dev/Dockerfile.m4 b/Xeon/centos-7.5/ffmpeg+gst+dev/Dockerfile.m4 index e002b05db..99ce4b75e 100644 --- a/Xeon/centos-7.5/ffmpeg+gst+dev/Dockerfile.m4 +++ b/Xeon/centos-7.5/ffmpeg+gst+dev/Dockerfile.m4 @@ -17,6 +17,7 @@ include(svt-hevc.m4) include(svt-av1.m4) include(svt-vp9.m4) #include(transform360.m4) +include(python.m4) include(dldt-ie.m4) include(gst.m4) include(gst-orc.m4) diff --git a/Xeon/centos-7.6/dldt+ffmpeg/Dockerfile b/Xeon/centos-7.6/dldt+ffmpeg/Dockerfile index fb59d07cc..c65be43b1 100644 --- a/Xeon/centos-7.6/dldt+ffmpeg/Dockerfile +++ b/Xeon/centos-7.6/dldt+ffmpeg/Dockerfile @@ -269,7 +269,6 @@ ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/i - # Build librdkafka ARG LIBRDKAFKA_VER=0.11.6 ARG FILE_NAME=v${LIBRDKAFKA_VER} @@ -344,7 +343,7 @@ WORKDIR /home # Prerequisites RUN yum install -y epel-release; \ - yum install -y -q numactl python36 ; \ + yum install -y -q numactl ; \ yum remove -y -q epel-release; \ rm -rf /var/cache/yum/*; diff --git a/Xeon/centos-7.6/dldt+gst/Dockerfile b/Xeon/centos-7.6/dldt+gst/Dockerfile index 0927a790f..e32a42d38 100644 --- a/Xeon/centos-7.6/dldt+gst/Dockerfile +++ b/Xeon/centos-7.6/dldt+gst/Dockerfile @@ -268,7 +268,6 @@ ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/i - # Build the gstremaer core ARG GST_VER=1.14.4 ARG GST_REPO=https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${GST_VER}.tar.xz @@ -460,7 +459,7 @@ WORKDIR /home # Prerequisites RUN yum install -y epel-release; \ yum install -y -q numactl openssl glib2-2.56.1 pangolibpng12 libXv libvisual mesa-libGL pango glib2 alsa-lib openblas-serial \ -libsoup libjpeg-turbo python36 ; \ +libsoup libjpeg-turbo ; \ yum remove -y -q epel-release; \ rm -rf /var/cache/yum/*; diff --git a/Xeon/centos-7.6/ffmpeg+gst+dev/Dockerfile b/Xeon/centos-7.6/ffmpeg+gst+dev/Dockerfile index 4d2d15aff..2080955b8 100644 --- a/Xeon/centos-7.6/ffmpeg+gst+dev/Dockerfile +++ b/Xeon/centos-7.6/ffmpeg+gst+dev/Dockerfile @@ -200,6 +200,19 @@ RUN git clone ${SVT_VP9_REPO} && \ make install ) #include(transform360.m4) +ARG PYTHON_VER=3.6.6 +ARG PYTHON_REPO=https://www.python.org/ftp/python/${PYTHON_VER}/Python-${PYTHON_VER}.tgz + +RUN yum install -y zlib-devel +RUN wget -O - ${PYTHON_REPO} | tar xz && \ + cd Python-${PYTHON_VER} && \ + ./configure --prefix=/usr && \ + make && \ + make install && \ + make install DESTDIR=/home/build +RUN yum install -y -q python-yaml + + # Build DLDT-Inference Engine ARG DLDT_VER=2018_R5 ARG DLDT_REPO=https://github.com/opencv/dldt.git @@ -269,10 +282,6 @@ ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/i ARG PYTHON_TRUSTED_HOST ARG PYTHON_TRUSTED_INDEX_URL #install MO dependencies -RUN yum install -y python36 -RUN yum install -y python36-devel -RUN yum install -y python36-setuptools -RUN easy_install-3.6 pip #RUN pip3 install numpy scipy RUN git clone https://github.com/google/protobuf.git && \ cd protobuf && \ @@ -298,7 +307,6 @@ RUN cp -r dldt/model-optimizer /home/build/opt/intel/dldt/model-optimizer - # Build the gstremaer core ARG GST_VER=1.14.4 ARG GST_REPO=https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${GST_VER}.tar.xz @@ -530,7 +538,7 @@ WORKDIR /home # Prerequisites RUN yum install -y epel-release; \ yum install -y -q libxcb SDL2 libass numactl glib2-2.56.1 pangolibpng12 libXv libvisual mesa-libGL pango glib2 alsa-lib openblas-serial \ -libsoup libjpeg-turbo python36 ; \ +libsoup libjpeg-turbo python-yaml ; \ yum remove -y -q epel-release; \ rm -rf /var/cache/yum/*; diff --git a/Xeon/centos-7.6/ffmpeg+gst+dev/Dockerfile.m4 b/Xeon/centos-7.6/ffmpeg+gst+dev/Dockerfile.m4 index a8e8cfd15..b5e9ea2d0 100644 --- a/Xeon/centos-7.6/ffmpeg+gst+dev/Dockerfile.m4 +++ b/Xeon/centos-7.6/ffmpeg+gst+dev/Dockerfile.m4 @@ -17,6 +17,7 @@ include(svt-hevc.m4) include(svt-av1.m4) include(svt-vp9.m4) #include(transform360.m4) +include(python.m4) include(dldt-ie.m4) include(gst.m4) include(gst-orc.m4) diff --git a/Xeon/ubuntu-16.04/dldt+ffmpeg/Dockerfile b/Xeon/ubuntu-16.04/dldt+ffmpeg/Dockerfile index b00abf76c..1e0dc731d 100644 --- a/Xeon/ubuntu-16.04/dldt+ffmpeg/Dockerfile +++ b/Xeon/ubuntu-16.04/dldt+ffmpeg/Dockerfile @@ -259,7 +259,6 @@ ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/i - # Build librdkafka ARG LIBRDKAFKA_VER=0.11.6 ARG FILE_NAME=v${LIBRDKAFKA_VER} @@ -333,7 +332,7 @@ LABEL Vendor="Intel Corporation" WORKDIR /home # Prerequisites -RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libnuma1 libssl1.0.0 python3 ; \ +RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libnuma1 libssl1.0.0 ; \ rm -rf /var/lib/apt/lists/*; # Install diff --git a/Xeon/ubuntu-16.04/dldt+gst/Dockerfile b/Xeon/ubuntu-16.04/dldt+gst/Dockerfile index 4ea0a25d2..0a9433190 100644 --- a/Xeon/ubuntu-16.04/dldt+gst/Dockerfile +++ b/Xeon/ubuntu-16.04/dldt+gst/Dockerfile @@ -258,7 +258,6 @@ ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/i - # Build the gstremaer core ARG GST_VER=1.14.4 ARG GST_REPO=https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${GST_VER}.tar.xz @@ -449,7 +448,7 @@ LABEL Vendor="Intel Corporation" WORKDIR /home # Prerequisites -RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libnuma1 libssl1.0.0 libglib2.0 libpango-1.0-0 libpangocairo-1.0-0 libpng12-0 libxv1 libvisual-0.4-0 libgl1-mesa-glx libpango-1.0-0 libtheora0 libcdparanoia0 libasound2 libsoup2.4-1 libjpeg8 libjpeg-turbo8 python3 libgtk2.0 libdrm2 libxv1 \ +RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libnuma1 libssl1.0.0 libglib2.0 libpango-1.0-0 libpangocairo-1.0-0 libpng12-0 libxv1 libvisual-0.4-0 libgl1-mesa-glx libpango-1.0-0 libtheora0 libcdparanoia0 libasound2 libsoup2.4-1 libjpeg8 libjpeg-turbo8 libgtk2.0 libdrm2 libxv1 \ ; \ rm -rf /var/lib/apt/lists/*; diff --git a/Xeon/ubuntu-16.04/ffmpeg+gst+dev/Dockerfile b/Xeon/ubuntu-16.04/ffmpeg+gst+dev/Dockerfile index 316c91842..0ab04c958 100644 --- a/Xeon/ubuntu-16.04/ffmpeg+gst+dev/Dockerfile +++ b/Xeon/ubuntu-16.04/ffmpeg+gst+dev/Dockerfile @@ -191,6 +191,12 @@ RUN git clone ${SVT_VP9_REPO} && \ make install #include(transform360.m4) +ARG PYTHON_VER=3.6.6 +ARG PYTHON_REPO=https://www.python.org/ftp/python/${PYTHON_VER}/Python-${PYTHON_VER}.tgz + +RUN apt-get install -y python3 python3-pip python3-setuptools python-yaml + + # Build DLDT-Inference Engine ARG DLDT_VER=2018_R5 ARG DLDT_REPO=https://github.com/opencv/dldt.git @@ -259,7 +265,6 @@ ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/i ARG PYTHON_TRUSTED_HOST ARG PYTHON_TRUSTED_INDEX_URL #install MO dependencies -RUN DEBIAN_FRONTEND=noninteractive apt-get install -y -q --no-install-recommends python3-dev python3-pip python3-setuptools python3-wheel #RUN pip3 install numpy scipy RUN git clone https://github.com/google/protobuf.git && \ cd protobuf && \ @@ -285,7 +290,6 @@ RUN cp -r dldt/model-optimizer /home/build/opt/intel/dldt/model-optimizer - # Build the gstremaer core ARG GST_VER=1.14.4 ARG GST_REPO=https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${GST_VER}.tar.xz @@ -516,7 +520,7 @@ LABEL Vendor="Intel Corporation" WORKDIR /home # Prerequisites -RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libxv1 libxcb-shm0 libxcb-shape0 libxcb-xfixes0 libsdl2-2.0-0 libasound2 libnuma1 libass5 libssl1.0.0 libglib2.0 libpango-1.0-0 libpangocairo-1.0-0 libpng12-0 libxv1 libvisual-0.4-0 libgl1-mesa-glx libpango-1.0-0 libtheora0 libcdparanoia0 libasound2 libsoup2.4-1 libjpeg8 libjpeg-turbo8 python3 libgtk2.0 libdrm2 libxv1 \ +RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libxv1 libxcb-shm0 libxcb-shape0 libxcb-xfixes0 libsdl2-2.0-0 libasound2 libnuma1 libass5 libssl1.0.0 libglib2.0 libpango-1.0-0 libpangocairo-1.0-0 libpng12-0 libxv1 libvisual-0.4-0 libgl1-mesa-glx libpango-1.0-0 libtheora0 libcdparanoia0 libasound2 libsoup2.4-1 libjpeg8 libjpeg-turbo8 python3 python3-pip python-yaml libgtk2.0 libdrm2 libxv1 \ ; \ rm -rf /var/lib/apt/lists/*; diff --git a/Xeon/ubuntu-16.04/ffmpeg+gst+dev/Dockerfile.m4 b/Xeon/ubuntu-16.04/ffmpeg+gst+dev/Dockerfile.m4 index 2c27ae0cd..32e6c4b08 100644 --- a/Xeon/ubuntu-16.04/ffmpeg+gst+dev/Dockerfile.m4 +++ b/Xeon/ubuntu-16.04/ffmpeg+gst+dev/Dockerfile.m4 @@ -17,6 +17,7 @@ include(svt-hevc.m4) include(svt-av1.m4) include(svt-vp9.m4) #include(transform360.m4) +include(python.m4) include(dldt-ie.m4) include(gst.m4) include(gst-orc.m4) diff --git a/Xeon/ubuntu-18.04/dldt+ffmpeg/Dockerfile b/Xeon/ubuntu-18.04/dldt+ffmpeg/Dockerfile index 403e8154b..450b0306e 100644 --- a/Xeon/ubuntu-18.04/dldt+ffmpeg/Dockerfile +++ b/Xeon/ubuntu-18.04/dldt+ffmpeg/Dockerfile @@ -260,7 +260,6 @@ ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/i - # Build librdkafka ARG LIBRDKAFKA_VER=0.11.6 ARG FILE_NAME=v${LIBRDKAFKA_VER} @@ -335,7 +334,7 @@ WORKDIR /home # Prerequisites RUN ln -sf /usr/share/zoneinfo/UTC /etc/localtime; \ - DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libnuma1 libssl1.1 libpciaccess0 python3 ; \ + DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libnuma1 libssl1.1 libpciaccess0 ; \ rm -rf /var/lib/apt/lists/*; # Install diff --git a/Xeon/ubuntu-18.04/dldt+gst/Dockerfile b/Xeon/ubuntu-18.04/dldt+gst/Dockerfile index 95451b1c9..f3cab69bc 100644 --- a/Xeon/ubuntu-18.04/dldt+gst/Dockerfile +++ b/Xeon/ubuntu-18.04/dldt+gst/Dockerfile @@ -259,7 +259,6 @@ ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/i - # Build the gstremaer core ARG GST_VER=1.14.4 ARG GST_REPO=https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${GST_VER}.tar.xz @@ -452,7 +451,7 @@ WORKDIR /home # Prerequisites RUN ln -sf /usr/share/zoneinfo/UTC /etc/localtime; \ - DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libnuma1 libssl1.1 libglib2.0 libpango-1.0-0 libpangocairo-1.0-0 libpng16-16 libxv1 libvisual-0.4-0 libgl1-mesa-glx libpango-1.0-0 libtheora0 libcdparanoia0 libasound2 libsoup2.4-1 libjpeg8 libjpeg-turbo8 python3 libgtk2.0 libdrm2 libxv1 libpugixml1v5 \ + DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libnuma1 libssl1.1 libglib2.0 libpango-1.0-0 libpangocairo-1.0-0 libpng16-16 libxv1 libvisual-0.4-0 libgl1-mesa-glx libpango-1.0-0 libtheora0 libcdparanoia0 libasound2 libsoup2.4-1 libjpeg8 libjpeg-turbo8 libgtk2.0 libdrm2 libxv1 libpugixml1v5 \ ; \ rm -rf /var/lib/apt/lists/*; diff --git a/Xeon/ubuntu-18.04/ffmpeg+gst+dev/Dockerfile b/Xeon/ubuntu-18.04/ffmpeg+gst+dev/Dockerfile index cb8c18dcc..ac72950f6 100644 --- a/Xeon/ubuntu-18.04/ffmpeg+gst+dev/Dockerfile +++ b/Xeon/ubuntu-18.04/ffmpeg+gst+dev/Dockerfile @@ -191,6 +191,12 @@ RUN git clone ${SVT_VP9_REPO} && \ make install #include(transform360.m4) +ARG PYTHON_VER=3.6.6 +ARG PYTHON_REPO=https://www.python.org/ftp/python/${PYTHON_VER}/Python-${PYTHON_VER}.tgz + +RUN apt-get install -y python3 python3-pip python3-setuptools python-yaml + + # Build DLDT-Inference Engine ARG DLDT_VER=2018_R5 ARG DLDT_REPO=https://github.com/opencv/dldt.git @@ -260,7 +266,6 @@ ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/i ARG PYTHON_TRUSTED_HOST ARG PYTHON_TRUSTED_INDEX_URL #install MO dependencies -RUN DEBIAN_FRONTEND=noninteractive apt-get install -y -q --no-install-recommends python3-dev python3-pip python3-setuptools python3-wheel #RUN pip3 install numpy scipy RUN git clone https://github.com/google/protobuf.git && \ cd protobuf && \ @@ -286,7 +291,6 @@ RUN cp -r dldt/model-optimizer /home/build/opt/intel/dldt/model-optimizer - # Build the gstremaer core ARG GST_VER=1.14.4 ARG GST_REPO=https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${GST_VER}.tar.xz @@ -519,7 +523,7 @@ WORKDIR /home # Prerequisites RUN ln -sf /usr/share/zoneinfo/UTC /etc/localtime; \ - DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libxv1 libxcb-shm0 libxcb-shape0 libxcb-xfixes0 libsdl2-2.0-0 libasound2 libnuma1 libass9 libssl1.1 libpciaccess0 libglib2.0 libpango-1.0-0 libpangocairo-1.0-0 libpng16-16 libxv1 libvisual-0.4-0 libgl1-mesa-glx libpango-1.0-0 libtheora0 libcdparanoia0 libasound2 libsoup2.4-1 libjpeg8 libjpeg-turbo8 python3 libgtk2.0 libdrm2 libxv1 libpugixml1v5 \ + DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libxv1 libxcb-shm0 libxcb-shape0 libxcb-xfixes0 libsdl2-2.0-0 libasound2 libnuma1 libass9 libssl1.1 libpciaccess0 libglib2.0 libpango-1.0-0 libpangocairo-1.0-0 libpng16-16 libxv1 libvisual-0.4-0 libgl1-mesa-glx libpango-1.0-0 libtheora0 libcdparanoia0 libasound2 libsoup2.4-1 libjpeg8 libjpeg-turbo8 python3 python3-pip python-yaml libgtk2.0 libdrm2 libxv1 libpugixml1v5 \ ; \ rm -rf /var/lib/apt/lists/*; diff --git a/Xeon/ubuntu-18.04/ffmpeg+gst+dev/Dockerfile.m4 b/Xeon/ubuntu-18.04/ffmpeg+gst+dev/Dockerfile.m4 index 60d686689..c483a19f2 100644 --- a/Xeon/ubuntu-18.04/ffmpeg+gst+dev/Dockerfile.m4 +++ b/Xeon/ubuntu-18.04/ffmpeg+gst+dev/Dockerfile.m4 @@ -17,6 +17,7 @@ include(svt-hevc.m4) include(svt-av1.m4) include(svt-vp9.m4) #include(transform360.m4) +include(python.m4) include(dldt-ie.m4) include(gst.m4) include(gst-orc.m4) diff --git a/XeonE3/centos-7.4/dldt+gst/Dockerfile b/XeonE3/centos-7.4/dldt+gst/Dockerfile index 57e94d684..b9869161c 100644 --- a/XeonE3/centos-7.4/dldt+gst/Dockerfile +++ b/XeonE3/centos-7.4/dldt+gst/Dockerfile @@ -346,7 +346,6 @@ ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/i - # Build the gstremaer core ARG GST_VER=1.14.4 ARG GST_REPO=https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${GST_VER}.tar.xz @@ -564,7 +563,7 @@ WORKDIR /home # Prerequisites RUN yum install -y epel-release; \ yum install -y -q numactl openssl glib2-2.56.1 pangolibxcb mesa-libGL libXrandr libpng12 libXv libvisual mesa-libGL pango glib2 alsa-lib libpciaccess libX11 openblas-serial \ -mesa-dri-drivers mesa-libGL libsoup libjpeg-turbo python36 ; \ +mesa-dri-drivers mesa-libGL libsoup libjpeg-turbo ; \ yum remove -y -q epel-release; \ rm -rf /var/cache/yum/*; diff --git a/XeonE3/centos-7.4/ffmpeg+gst+dev/Dockerfile b/XeonE3/centos-7.4/ffmpeg+gst+dev/Dockerfile index fd2d18e04..564f36821 100644 --- a/XeonE3/centos-7.4/ffmpeg+gst+dev/Dockerfile +++ b/XeonE3/centos-7.4/ffmpeg+gst+dev/Dockerfile @@ -276,6 +276,19 @@ RUN yum install -y ocl-icd libgomp #clinfo needs to be installed after build directory is copied over +ARG PYTHON_VER=3.6.6 +ARG PYTHON_REPO=https://www.python.org/ftp/python/${PYTHON_VER}/Python-${PYTHON_VER}.tgz + +RUN yum install -y zlib-devel +RUN wget -O - ${PYTHON_REPO} | tar xz && \ + cd Python-${PYTHON_VER} && \ + ./configure --prefix=/usr && \ + make && \ + make install && \ + make install DESTDIR=/home/build +RUN yum install -y -q python-yaml + + # Build DLDT-Inference Engine ARG DLDT_VER=2018_R5 ARG DLDT_REPO=https://github.com/opencv/dldt.git @@ -345,10 +358,6 @@ ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/i ARG PYTHON_TRUSTED_HOST ARG PYTHON_TRUSTED_INDEX_URL #install MO dependencies -RUN yum install -y python36 -RUN yum install -y python36-devel -RUN yum install -y python36-setuptools -RUN easy_install-3.6 pip #RUN pip3 install numpy scipy RUN git clone https://github.com/google/protobuf.git && \ cd protobuf && \ @@ -374,7 +383,6 @@ RUN cp -r dldt/model-optimizer /home/build/opt/intel/dldt/model-optimizer - # Build the gstremaer core ARG GST_VER=1.14.4 ARG GST_REPO=https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${GST_VER}.tar.xz @@ -632,7 +640,7 @@ WORKDIR /home # Prerequisites RUN yum install -y epel-release; \ yum install -y -q libxcb SDL2 libass numactl libvdpau glib2-2.56.1 pangolibxcb mesa-libGL libXrandr libpng12 libXv libvisual mesa-libGL pango glib2 alsa-lib libpciaccess libX11 openblas-serial \ -mesa-dri-drivers mesa-libGL libsoup libjpeg-turbo python36 ; \ +mesa-dri-drivers mesa-libGL libsoup libjpeg-turbo python-yaml ; \ yum remove -y -q epel-release; \ rm -rf /var/cache/yum/*; diff --git a/XeonE3/centos-7.4/ffmpeg+gst+dev/Dockerfile.m4 b/XeonE3/centos-7.4/ffmpeg+gst+dev/Dockerfile.m4 index c22b60540..7d9539231 100644 --- a/XeonE3/centos-7.4/ffmpeg+gst+dev/Dockerfile.m4 +++ b/XeonE3/centos-7.4/ffmpeg+gst+dev/Dockerfile.m4 @@ -24,6 +24,7 @@ include(libva-utils.m4) include(media-driver.m4) include(media-sdk.m4) include(opencl.m4) +include(python.m4) include(dldt-ie.m4) include(gst.m4) include(gst-orc.m4) diff --git a/XeonE3/centos-7.5/dldt+gst/Dockerfile b/XeonE3/centos-7.5/dldt+gst/Dockerfile index bbef9e6e4..24979ada6 100644 --- a/XeonE3/centos-7.5/dldt+gst/Dockerfile +++ b/XeonE3/centos-7.5/dldt+gst/Dockerfile @@ -346,7 +346,6 @@ ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/i - # Build the gstremaer core ARG GST_VER=1.14.4 ARG GST_REPO=https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${GST_VER}.tar.xz @@ -563,7 +562,7 @@ WORKDIR /home # Prerequisites RUN yum install -y epel-release; \ yum install -y -q numactl openssl glib2-2.56.1 pangolibxcb mesa-libGL libXrandr libpng12 libXv libvisual mesa-libGL pango glib2 alsa-lib libpciaccess libX11 openblas-serial \ -mesa-dri-drivers mesa-libGL libsoup libjpeg-turbo python36 ; \ +mesa-dri-drivers mesa-libGL libsoup libjpeg-turbo ; \ yum remove -y -q epel-release; \ rm -rf /var/cache/yum/*; diff --git a/XeonE3/centos-7.5/ffmpeg+gst+dev/Dockerfile b/XeonE3/centos-7.5/ffmpeg+gst+dev/Dockerfile index 33f689b49..2ff979d73 100644 --- a/XeonE3/centos-7.5/ffmpeg+gst+dev/Dockerfile +++ b/XeonE3/centos-7.5/ffmpeg+gst+dev/Dockerfile @@ -276,6 +276,19 @@ RUN yum install -y ocl-icd libgomp #clinfo needs to be installed after build directory is copied over +ARG PYTHON_VER=3.6.6 +ARG PYTHON_REPO=https://www.python.org/ftp/python/${PYTHON_VER}/Python-${PYTHON_VER}.tgz + +RUN yum install -y zlib-devel +RUN wget -O - ${PYTHON_REPO} | tar xz && \ + cd Python-${PYTHON_VER} && \ + ./configure --prefix=/usr && \ + make && \ + make install && \ + make install DESTDIR=/home/build +RUN yum install -y -q python-yaml + + # Build DLDT-Inference Engine ARG DLDT_VER=2018_R5 ARG DLDT_REPO=https://github.com/opencv/dldt.git @@ -345,10 +358,6 @@ ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/i ARG PYTHON_TRUSTED_HOST ARG PYTHON_TRUSTED_INDEX_URL #install MO dependencies -RUN yum install -y python36 -RUN yum install -y python36-devel -RUN yum install -y python36-setuptools -RUN easy_install-3.6 pip #RUN pip3 install numpy scipy RUN git clone https://github.com/google/protobuf.git && \ cd protobuf && \ @@ -374,7 +383,6 @@ RUN cp -r dldt/model-optimizer /home/build/opt/intel/dldt/model-optimizer - # Build the gstremaer core ARG GST_VER=1.14.4 ARG GST_REPO=https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${GST_VER}.tar.xz @@ -631,7 +639,7 @@ WORKDIR /home # Prerequisites RUN yum install -y epel-release; \ yum install -y -q libxcb SDL2 libass numactl libvdpau glib2-2.56.1 pangolibxcb mesa-libGL libXrandr libpng12 libXv libvisual mesa-libGL pango glib2 alsa-lib libpciaccess libX11 openblas-serial \ -mesa-dri-drivers mesa-libGL libsoup libjpeg-turbo python36 ; \ +mesa-dri-drivers mesa-libGL libsoup libjpeg-turbo python-yaml ; \ yum remove -y -q epel-release; \ rm -rf /var/cache/yum/*; diff --git a/XeonE3/centos-7.5/ffmpeg+gst+dev/Dockerfile.m4 b/XeonE3/centos-7.5/ffmpeg+gst+dev/Dockerfile.m4 index 29aeb8ba1..b2520da66 100644 --- a/XeonE3/centos-7.5/ffmpeg+gst+dev/Dockerfile.m4 +++ b/XeonE3/centos-7.5/ffmpeg+gst+dev/Dockerfile.m4 @@ -24,6 +24,7 @@ include(libva-utils.m4) include(media-driver.m4) include(media-sdk.m4) include(opencl.m4) +include(python.m4) include(dldt-ie.m4) include(gst.m4) include(gst-orc.m4) diff --git a/XeonE3/centos-7.6/dldt+gst/Dockerfile b/XeonE3/centos-7.6/dldt+gst/Dockerfile index b9fb2e5bf..1a78af785 100644 --- a/XeonE3/centos-7.6/dldt+gst/Dockerfile +++ b/XeonE3/centos-7.6/dldt+gst/Dockerfile @@ -346,7 +346,6 @@ ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/i - # Build the gstremaer core ARG GST_VER=1.14.4 ARG GST_REPO=https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${GST_VER}.tar.xz @@ -563,7 +562,7 @@ WORKDIR /home # Prerequisites RUN yum install -y epel-release; \ yum install -y -q numactl openssl glib2-2.56.1 pangolibxcb mesa-libGL libXrandr libpng12 libXv libvisual mesa-libGL pango glib2 alsa-lib libpciaccess libX11 openblas-serial \ -mesa-dri-drivers mesa-libGL libsoup libjpeg-turbo python36 ; \ +mesa-dri-drivers mesa-libGL libsoup libjpeg-turbo ; \ yum remove -y -q epel-release; \ rm -rf /var/cache/yum/*; diff --git a/XeonE3/centos-7.6/ffmpeg+gst+dev/Dockerfile b/XeonE3/centos-7.6/ffmpeg+gst+dev/Dockerfile index 844151b83..b2996050d 100644 --- a/XeonE3/centos-7.6/ffmpeg+gst+dev/Dockerfile +++ b/XeonE3/centos-7.6/ffmpeg+gst+dev/Dockerfile @@ -276,6 +276,19 @@ RUN yum install -y ocl-icd libgomp #clinfo needs to be installed after build directory is copied over +ARG PYTHON_VER=3.6.6 +ARG PYTHON_REPO=https://www.python.org/ftp/python/${PYTHON_VER}/Python-${PYTHON_VER}.tgz + +RUN yum install -y zlib-devel +RUN wget -O - ${PYTHON_REPO} | tar xz && \ + cd Python-${PYTHON_VER} && \ + ./configure --prefix=/usr && \ + make && \ + make install && \ + make install DESTDIR=/home/build +RUN yum install -y -q python-yaml + + # Build DLDT-Inference Engine ARG DLDT_VER=2018_R5 ARG DLDT_REPO=https://github.com/opencv/dldt.git @@ -345,10 +358,6 @@ ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/i ARG PYTHON_TRUSTED_HOST ARG PYTHON_TRUSTED_INDEX_URL #install MO dependencies -RUN yum install -y python36 -RUN yum install -y python36-devel -RUN yum install -y python36-setuptools -RUN easy_install-3.6 pip #RUN pip3 install numpy scipy RUN git clone https://github.com/google/protobuf.git && \ cd protobuf && \ @@ -374,7 +383,6 @@ RUN cp -r dldt/model-optimizer /home/build/opt/intel/dldt/model-optimizer - # Build the gstremaer core ARG GST_VER=1.14.4 ARG GST_REPO=https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${GST_VER}.tar.xz @@ -631,7 +639,7 @@ WORKDIR /home # Prerequisites RUN yum install -y epel-release; \ yum install -y -q libxcb SDL2 libass numactl libvdpau glib2-2.56.1 pangolibxcb mesa-libGL libXrandr libpng12 libXv libvisual mesa-libGL pango glib2 alsa-lib libpciaccess libX11 openblas-serial \ -mesa-dri-drivers mesa-libGL libsoup libjpeg-turbo python36 ; \ +mesa-dri-drivers mesa-libGL libsoup libjpeg-turbo python-yaml ; \ yum remove -y -q epel-release; \ rm -rf /var/cache/yum/*; diff --git a/XeonE3/centos-7.6/ffmpeg+gst+dev/Dockerfile.m4 b/XeonE3/centos-7.6/ffmpeg+gst+dev/Dockerfile.m4 index 91715fb1d..fe6c0cab2 100644 --- a/XeonE3/centos-7.6/ffmpeg+gst+dev/Dockerfile.m4 +++ b/XeonE3/centos-7.6/ffmpeg+gst+dev/Dockerfile.m4 @@ -24,6 +24,7 @@ include(libva-utils.m4) include(media-driver.m4) include(media-sdk.m4) include(opencl.m4) +include(python.m4) include(dldt-ie.m4) include(gst.m4) include(gst-orc.m4) diff --git a/XeonE3/ubuntu-16.04/dldt+gst/Dockerfile b/XeonE3/ubuntu-16.04/dldt+gst/Dockerfile index d778dcbcd..01a73fa1d 100644 --- a/XeonE3/ubuntu-16.04/dldt+gst/Dockerfile +++ b/XeonE3/ubuntu-16.04/dldt+gst/Dockerfile @@ -357,7 +357,6 @@ ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/i - # Build the gstremaer core ARG GST_VER=1.14.4 ARG GST_REPO=https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${GST_VER}.tar.xz @@ -573,7 +572,7 @@ LABEL Vendor="Intel Corporation" WORKDIR /home # Prerequisites -RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libnuma1 libssl1.0.0 libglib2.0 libpango-1.0-0 libpangocairo-1.0-0 libdrm-intel1 libudev1 libx11-xcb1 libgl1-mesa-glx libxrandr2 libegl1-mesa libglib2.0-0 libpng12-0 libxv1 libvisual-0.4-0 libgl1-mesa-glx libpango-1.0-0 libtheora0 libcdparanoia0 libasound2 libsoup2.4-1 libjpeg8 libjpeg-turbo8 python3 libgtk2.0 libdrm2 libxv1 \ +RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libnuma1 libssl1.0.0 libglib2.0 libpango-1.0-0 libpangocairo-1.0-0 libdrm-intel1 libudev1 libx11-xcb1 libgl1-mesa-glx libxrandr2 libegl1-mesa libglib2.0-0 libpng12-0 libxv1 libvisual-0.4-0 libgl1-mesa-glx libpango-1.0-0 libtheora0 libcdparanoia0 libasound2 libsoup2.4-1 libjpeg8 libjpeg-turbo8 libgtk2.0 libdrm2 libxv1 \ ; \ rm -rf /var/lib/apt/lists/*; diff --git a/XeonE3/ubuntu-16.04/ffmpeg+gst+dev/Dockerfile b/XeonE3/ubuntu-16.04/ffmpeg+gst+dev/Dockerfile index 9b3c2b14c..ff31cd9ab 100644 --- a/XeonE3/ubuntu-16.04/ffmpeg+gst+dev/Dockerfile +++ b/XeonE3/ubuntu-16.04/ffmpeg+gst+dev/Dockerfile @@ -288,6 +288,12 @@ RUN cd neo && \ #clinfo needs to be installed after build directory is copied over +ARG PYTHON_VER=3.6.6 +ARG PYTHON_REPO=https://www.python.org/ftp/python/${PYTHON_VER}/Python-${PYTHON_VER}.tgz + +RUN apt-get install -y python3 python3-pip python3-setuptools python-yaml + + # Build DLDT-Inference Engine ARG DLDT_VER=2018_R5 ARG DLDT_REPO=https://github.com/opencv/dldt.git @@ -356,7 +362,6 @@ ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/i ARG PYTHON_TRUSTED_HOST ARG PYTHON_TRUSTED_INDEX_URL #install MO dependencies -RUN DEBIAN_FRONTEND=noninteractive apt-get install -y -q --no-install-recommends python3-dev python3-pip python3-setuptools python3-wheel #RUN pip3 install numpy scipy RUN git clone https://github.com/google/protobuf.git && \ cd protobuf && \ @@ -382,7 +387,6 @@ RUN cp -r dldt/model-optimizer /home/build/opt/intel/dldt/model-optimizer - # Build the gstremaer core ARG GST_VER=1.14.4 ARG GST_REPO=https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${GST_VER}.tar.xz @@ -638,7 +642,7 @@ LABEL Vendor="Intel Corporation" WORKDIR /home # Prerequisites -RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libxv1 libxcb-shm0 libxcb-shape0 libxcb-xfixes0 libsdl2-2.0-0 libasound2 libvdpau1 libnuma1 libass5 libssl1.0.0 libglib2.0 libpango-1.0-0 libpangocairo-1.0-0 libdrm-intel1 libudev1 libx11-xcb1 libgl1-mesa-glx libxrandr2 libegl1-mesa libglib2.0-0 libpng12-0 libxv1 libvisual-0.4-0 libgl1-mesa-glx libpango-1.0-0 libtheora0 libcdparanoia0 libasound2 libsoup2.4-1 libjpeg8 libjpeg-turbo8 python3 libgtk2.0 libdrm2 libxv1 \ +RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libxv1 libxcb-shm0 libxcb-shape0 libxcb-xfixes0 libsdl2-2.0-0 libasound2 libvdpau1 libnuma1 libass5 libssl1.0.0 libglib2.0 libpango-1.0-0 libpangocairo-1.0-0 libdrm-intel1 libudev1 libx11-xcb1 libgl1-mesa-glx libxrandr2 libegl1-mesa libglib2.0-0 libpng12-0 libxv1 libvisual-0.4-0 libgl1-mesa-glx libpango-1.0-0 libtheora0 libcdparanoia0 libasound2 libsoup2.4-1 libjpeg8 libjpeg-turbo8 python3 python3-pip python-yaml libgtk2.0 libdrm2 libxv1 \ ; \ rm -rf /var/lib/apt/lists/*; diff --git a/XeonE3/ubuntu-16.04/ffmpeg+gst+dev/Dockerfile.m4 b/XeonE3/ubuntu-16.04/ffmpeg+gst+dev/Dockerfile.m4 index 9a30030ef..7a20143b1 100644 --- a/XeonE3/ubuntu-16.04/ffmpeg+gst+dev/Dockerfile.m4 +++ b/XeonE3/ubuntu-16.04/ffmpeg+gst+dev/Dockerfile.m4 @@ -24,6 +24,7 @@ include(libva-utils.m4) include(media-driver.m4) include(media-sdk.m4) include(opencl.m4) +include(python.m4) include(dldt-ie.m4) include(gst.m4) include(gst-orc.m4) diff --git a/XeonE3/ubuntu-18.04/dldt+gst/Dockerfile b/XeonE3/ubuntu-18.04/dldt+gst/Dockerfile index 8bc1ae072..f87fa4745 100644 --- a/XeonE3/ubuntu-18.04/dldt+gst/Dockerfile +++ b/XeonE3/ubuntu-18.04/dldt+gst/Dockerfile @@ -358,7 +358,6 @@ ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/i - # Build the gstremaer core ARG GST_VER=1.14.4 ARG GST_REPO=https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${GST_VER}.tar.xz @@ -576,7 +575,7 @@ WORKDIR /home # Prerequisites RUN ln -sf /usr/share/zoneinfo/UTC /etc/localtime; \ - DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libnuma1 libssl1.1 libglib2.0 libpango-1.0-0 libpangocairo-1.0-0 libdrm-intel1 libudev1 libx11-xcb1 libgl1-mesa-glx libxrandr2 libegl1-mesa libglib2.0-0 libpng16-16 libxv1 libvisual-0.4-0 libgl1-mesa-glx libpango-1.0-0 libtheora0 libcdparanoia0 libasound2 libsoup2.4-1 libjpeg8 libjpeg-turbo8 python3 libgtk2.0 libdrm2 libxv1 libpugixml1v5 \ + DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libnuma1 libssl1.1 libglib2.0 libpango-1.0-0 libpangocairo-1.0-0 libdrm-intel1 libudev1 libx11-xcb1 libgl1-mesa-glx libxrandr2 libegl1-mesa libglib2.0-0 libpng16-16 libxv1 libvisual-0.4-0 libgl1-mesa-glx libpango-1.0-0 libtheora0 libcdparanoia0 libasound2 libsoup2.4-1 libjpeg8 libjpeg-turbo8 libgtk2.0 libdrm2 libxv1 libpugixml1v5 \ ; \ rm -rf /var/lib/apt/lists/*; diff --git a/XeonE3/ubuntu-18.04/ffmpeg+gst+dev/Dockerfile b/XeonE3/ubuntu-18.04/ffmpeg+gst+dev/Dockerfile index fa9c1df02..360151682 100644 --- a/XeonE3/ubuntu-18.04/ffmpeg+gst+dev/Dockerfile +++ b/XeonE3/ubuntu-18.04/ffmpeg+gst+dev/Dockerfile @@ -288,6 +288,12 @@ RUN cd neo && \ #clinfo needs to be installed after build directory is copied over +ARG PYTHON_VER=3.6.6 +ARG PYTHON_REPO=https://www.python.org/ftp/python/${PYTHON_VER}/Python-${PYTHON_VER}.tgz + +RUN apt-get install -y python3 python3-pip python3-setuptools python-yaml + + # Build DLDT-Inference Engine ARG DLDT_VER=2018_R5 ARG DLDT_REPO=https://github.com/opencv/dldt.git @@ -357,7 +363,6 @@ ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/dldt/inference-engine/lib:/opt/i ARG PYTHON_TRUSTED_HOST ARG PYTHON_TRUSTED_INDEX_URL #install MO dependencies -RUN DEBIAN_FRONTEND=noninteractive apt-get install -y -q --no-install-recommends python3-dev python3-pip python3-setuptools python3-wheel #RUN pip3 install numpy scipy RUN git clone https://github.com/google/protobuf.git && \ cd protobuf && \ @@ -383,7 +388,6 @@ RUN cp -r dldt/model-optimizer /home/build/opt/intel/dldt/model-optimizer - # Build the gstremaer core ARG GST_VER=1.14.4 ARG GST_REPO=https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${GST_VER}.tar.xz @@ -641,7 +645,7 @@ WORKDIR /home # Prerequisites RUN ln -sf /usr/share/zoneinfo/UTC /etc/localtime; \ - DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libxv1 libxcb-shm0 libxcb-shape0 libxcb-xfixes0 libsdl2-2.0-0 libasound2 libvdpau1 libnuma1 libass9 libssl1.1 libpciaccess0 libglib2.0 libpango-1.0-0 libpangocairo-1.0-0 libdrm-intel1 libudev1 libx11-xcb1 libgl1-mesa-glx libxrandr2 libegl1-mesa libglib2.0-0 libpng16-16 libxv1 libvisual-0.4-0 libgl1-mesa-glx libpango-1.0-0 libtheora0 libcdparanoia0 libasound2 libsoup2.4-1 libjpeg8 libjpeg-turbo8 python3 libgtk2.0 libdrm2 libxv1 libpugixml1v5 \ + DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends libxv1 libxcb-shm0 libxcb-shape0 libxcb-xfixes0 libsdl2-2.0-0 libasound2 libvdpau1 libnuma1 libass9 libssl1.1 libpciaccess0 libglib2.0 libpango-1.0-0 libpangocairo-1.0-0 libdrm-intel1 libudev1 libx11-xcb1 libgl1-mesa-glx libxrandr2 libegl1-mesa libglib2.0-0 libpng16-16 libxv1 libvisual-0.4-0 libgl1-mesa-glx libpango-1.0-0 libtheora0 libcdparanoia0 libasound2 libsoup2.4-1 libjpeg8 libjpeg-turbo8 python3 python3-pip python-yaml libgtk2.0 libdrm2 libxv1 libpugixml1v5 \ ; \ rm -rf /var/lib/apt/lists/*; diff --git a/XeonE3/ubuntu-18.04/ffmpeg+gst+dev/Dockerfile.m4 b/XeonE3/ubuntu-18.04/ffmpeg+gst+dev/Dockerfile.m4 index dbcc2ea5f..f65bc7307 100644 --- a/XeonE3/ubuntu-18.04/ffmpeg+gst+dev/Dockerfile.m4 +++ b/XeonE3/ubuntu-18.04/ffmpeg+gst+dev/Dockerfile.m4 @@ -24,6 +24,7 @@ include(libva-utils.m4) include(media-driver.m4) include(media-sdk.m4) include(opencl.m4) +include(python.m4) include(dldt-ie.m4) include(gst.m4) include(gst-orc.m4) diff --git a/doc/gst.md b/doc/gst.md index 2e80d276a..6724df47e 100644 --- a/doc/gst.md +++ b/doc/gst.md @@ -10,6 +10,7 @@ The GStreamer docker images are compiled with the following plugin set: - gst-plugin-ugly - gst-plugin-vaapi - gst-plugin-libav +- gst-video-analytics ### GPU Acceleration @@ -28,3 +29,20 @@ Encoding with vaapi: ```bash gst-launch-1.0 -v filesrc location=test.yuv ! videoparse format=i420 width=320 height=240 framerate=30 ! vaapih264enc ! mpegtsmux ! filesink location=test.ts ``` + +Use DLDT's Inference Engine to detect items in a scene using video analytics + +```bash +gst-launch-1.0 -v filesrc location=test.ts ! decodebin ! video/x-raw ! videoconvert ! \ + gvadetect model= ! queue ! \ + gvawatermark ! videoconvert ! fakesink +``` + +Use DLDT's Inference Engine to classify items in a scene using video analytics + +```bash +gst-launch-1.0 -v filesrc location=test.ts ! decodebin ! video/x-raw ! videoconvert ! \ + gvadetect model= ! queue ! \ + gvaclassify model= object-class=vehicle ! queue ! \ + gvawatermark ! videoconvert ! fakesink +``` diff --git a/template/dldt-ie.m4 b/template/dldt-ie.m4 index 8562c0b9e..87d955ec1 100644 --- a/template/dldt-ie.m4 +++ b/template/dldt-ie.m4 @@ -80,14 +80,6 @@ ifelse(index(DOCKER_IMAGE,-dev),-1,, ARG PYTHON_TRUSTED_HOST ARG PYTHON_TRUSTED_INDEX_URL #install MO dependencies -ifelse(index(DOCKER_IMAGE,ubuntu),-1, -RUN yum install -y python36 -RUN yum install -y python36-devel -RUN yum install -y python36-setuptools -RUN easy_install-3.6 pip -,dnl -RUN DEBIAN_FRONTEND=noninteractive apt-get install -y -q --no-install-recommends python3-dev python3-pip python3-setuptools python3-wheel -)dnl #RUN pip3 install numpy scipy RUN git clone https://github.com/google/protobuf.git && \ cd protobuf && \ @@ -112,8 +104,6 @@ RUN cp -r dldt/model-optimizer /opt/intel/dldt/model-optimizer RUN cp -r dldt/model-optimizer /home/build/opt/intel/dldt/model-optimizer )dnl -define(`INSTALL_PKGS_MO',ifelse(index(DOCKER_IMAGE,ubuntu),-1,python36 , python3 ))dnl - define(`INSTALL_MO',dnl ifelse(index(DOCKER_IMAGE,dev),-1,, ENV PYTHONPATH=${PYTHONPATH}:/mo_libs diff --git a/template/install.pkgs.m4 b/template/install.pkgs.m4 index 8cba64117..6ca20ebb8 100644 --- a/template/install.pkgs.m4 +++ b/template/install.pkgs.m4 @@ -1,17 +1,17 @@ ifelse(index(DOCKER_IMAGE,centos),-1,, RUN ifdef(`INSTALL_PKGS_FFMPEG',yum install -y epel-release;) \ - yum install -y -q defn(`INSTALL_PKGS_FFMPEG',`INSTALL_PKGS_TRANSFORM360',`INSTALL_PKGS_GST',`INSTALL_PKGS_NGINX',`INSTALL_PKGS_LIBDRM',`INSTALL_PKGS_GST_PLUGIN_VAAPI',`INSTALL_PKGS_GST_PLUGIN_BASE', `INSTALL_PKGS_MEDIA_DRIVER', `INSTALL_PKGS_VA_GST_PLUGINS', `INSTALL_PKGS_LIBVA', `INSTALL_PKGS_GST_PLUGIN_GOOD', `INSTALL_PKGS_MO'); \ + yum install -y -q defn(`INSTALL_PKGS_FFMPEG',`INSTALL_PKGS_TRANSFORM360',`INSTALL_PKGS_GST',`INSTALL_PKGS_NGINX',`INSTALL_PKGS_LIBDRM',`INSTALL_PKGS_GST_PLUGIN_VAAPI',`INSTALL_PKGS_GST_PLUGIN_BASE', `INSTALL_PKGS_MEDIA_DRIVER', `INSTALL_PKGS_VA_GST_PLUGINS', `INSTALL_PKGS_LIBVA', `INSTALL_PKGS_GST_PLUGIN_GOOD', `INSTALL_PKGS_PYTHON'); \ ifdef(`INSTALL_PKGS_FFMPEG',`dnl yum remove -y -q epel-release; \ ')dnl rm -rf /var/cache/yum/*;dnl )dnl ifelse(index(DOCKER_IMAGE,ubuntu1604),-1,, -RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends defn(`INSTALL_PKGS_FFMPEG',`INSTALL_PKGS_TRANSFORM360',`INSTALL_PKGS_GST',`INSTALL_PKGS_NGINX',`INSTALL_PKGS_GST_PLUGIN_VAAPI',`INSTALL_PKGS_GST_PLUGIN_BASE', `INSTALL_PKGS_GST_PLUGIN_GOOD', `INSTALL_PKGS_MO', `INSTALL_PKGS_VA_GST_PLUGINS',`INSTALL_PKGS_OPENCL'); \ +RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends defn(`INSTALL_PKGS_FFMPEG',`INSTALL_PKGS_TRANSFORM360',`INSTALL_PKGS_GST',`INSTALL_PKGS_NGINX',`INSTALL_PKGS_GST_PLUGIN_VAAPI',`INSTALL_PKGS_GST_PLUGIN_BASE', `INSTALL_PKGS_GST_PLUGIN_GOOD', `INSTALL_PKGS_PYTHON', `INSTALL_PKGS_VA_GST_PLUGINS',`INSTALL_PKGS_OPENCL'); \ rm -rf /var/lib/apt/lists/*;dnl )dnl ifelse(index(DOCKER_IMAGE,ubuntu1804),-1,, RUN ln -sf /usr/share/zoneinfo/UTC /etc/localtime; \ - DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends defn(`INSTALL_PKGS_FFMPEG',`INSTALL_PKGS_TRANSFORM360',`INSTALL_PKGS_GST',`INSTALL_PKGS_NGINX',`INSTALL_PKGS_GST_PLUGIN_VAAPI',`INSTALL_PKGS_GST_PLUGIN_BASE', `INSTALL_PKGS_GST_PLUGIN_GOOD', `INSTALL_PKGS_MO', `INSTALL_PKGS_VA_GST_PLUGINS',`INSTALL_PKGS_OPENCL'); \ + DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -q --no-install-recommends defn(`INSTALL_PKGS_FFMPEG',`INSTALL_PKGS_TRANSFORM360',`INSTALL_PKGS_GST',`INSTALL_PKGS_NGINX',`INSTALL_PKGS_GST_PLUGIN_VAAPI',`INSTALL_PKGS_GST_PLUGIN_BASE', `INSTALL_PKGS_GST_PLUGIN_GOOD', `INSTALL_PKGS_PYTHON', `INSTALL_PKGS_VA_GST_PLUGINS',`INSTALL_PKGS_OPENCL'); \ rm -rf /var/lib/apt/lists/*;dnl )dnl diff --git a/template/python.m4 b/template/python.m4 new file mode 100644 index 000000000..7981f6a2c --- /dev/null +++ b/template/python.m4 @@ -0,0 +1,17 @@ +ARG PYTHON_VER=3.6.6 +ARG PYTHON_REPO=https://www.python.org/ftp/python/${PYTHON_VER}/Python-${PYTHON_VER}.tgz + +ifelse(index(DOCKER_IMAGE,ubuntu),-1,dnl +RUN yum install -y zlib-devel +RUN wget -O - ${PYTHON_REPO} | tar xz && \ + cd Python-${PYTHON_VER} && \ + ./configure --prefix=/usr && \ + make && \ + make install && \ + make install DESTDIR=/home/build +RUN yum install -y -q python-yaml +,dnl +RUN apt-get install -y python3 python3-pip python3-setuptools python-yaml +)dnl + +define(`INSTALL_PKGS_PYTHON', ifelse(index(DOCKER_IMAGE,ubuntu),-1, python-yaml , python3 python3-pip python-yaml ))dnl From 81335b043b395a5822d1bf05ab77d52f7346046a Mon Sep 17 00:00:00 2001 From: cssdk Date: Wed, 27 Mar 2019 04:54:58 +0000 Subject: [PATCH 7/9] Moved python to it's own template and updated video analytic test --- VCA2/centos-7.4/ffmpeg+gst+dev/Dockerfile | 3 ++- VCA2/centos-7.5/ffmpeg+gst+dev/Dockerfile | 3 ++- VCA2/centos-7.6/ffmpeg+gst+dev/Dockerfile | 3 ++- Xeon/centos-7.4/ffmpeg+gst+dev/Dockerfile | 3 ++- Xeon/centos-7.5/ffmpeg+gst+dev/Dockerfile | 3 ++- Xeon/centos-7.6/ffmpeg+gst+dev/Dockerfile | 3 ++- XeonE3/centos-7.4/ffmpeg+gst+dev/Dockerfile | 3 ++- XeonE3/centos-7.5/ffmpeg+gst+dev/Dockerfile | 3 ++- XeonE3/centos-7.6/ffmpeg+gst+dev/Dockerfile | 3 ++- template/python.m4 | 3 ++- test/gst_video_analytics.sh | 2 +- 11 files changed, 21 insertions(+), 11 deletions(-) diff --git a/VCA2/centos-7.4/ffmpeg+gst+dev/Dockerfile b/VCA2/centos-7.4/ffmpeg+gst+dev/Dockerfile index ad6b555ef..3fd50d1ca 100644 --- a/VCA2/centos-7.4/ffmpeg+gst+dev/Dockerfile +++ b/VCA2/centos-7.4/ffmpeg+gst+dev/Dockerfile @@ -253,7 +253,8 @@ RUN wget -O - ${MSDK_REPO} | tar xz && mv MediaSDK-${MSDK_VER} MediaSDK && \ ARG PYTHON_VER=3.6.6 ARG PYTHON_REPO=https://www.python.org/ftp/python/${PYTHON_VER}/Python-${PYTHON_VER}.tgz -RUN yum install -y zlib-devel +RUN yum install -y zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel \ + readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel RUN wget -O - ${PYTHON_REPO} | tar xz && \ cd Python-${PYTHON_VER} && \ ./configure --prefix=/usr && \ diff --git a/VCA2/centos-7.5/ffmpeg+gst+dev/Dockerfile b/VCA2/centos-7.5/ffmpeg+gst+dev/Dockerfile index 0fcecb192..3d91952bb 100644 --- a/VCA2/centos-7.5/ffmpeg+gst+dev/Dockerfile +++ b/VCA2/centos-7.5/ffmpeg+gst+dev/Dockerfile @@ -253,7 +253,8 @@ RUN wget -O - ${MSDK_REPO} | tar xz && mv MediaSDK-${MSDK_VER} MediaSDK && \ ARG PYTHON_VER=3.6.6 ARG PYTHON_REPO=https://www.python.org/ftp/python/${PYTHON_VER}/Python-${PYTHON_VER}.tgz -RUN yum install -y zlib-devel +RUN yum install -y zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel \ + readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel RUN wget -O - ${PYTHON_REPO} | tar xz && \ cd Python-${PYTHON_VER} && \ ./configure --prefix=/usr && \ diff --git a/VCA2/centos-7.6/ffmpeg+gst+dev/Dockerfile b/VCA2/centos-7.6/ffmpeg+gst+dev/Dockerfile index 42312d962..cfec93c43 100644 --- a/VCA2/centos-7.6/ffmpeg+gst+dev/Dockerfile +++ b/VCA2/centos-7.6/ffmpeg+gst+dev/Dockerfile @@ -253,7 +253,8 @@ RUN wget -O - ${MSDK_REPO} | tar xz && mv MediaSDK-${MSDK_VER} MediaSDK && \ ARG PYTHON_VER=3.6.6 ARG PYTHON_REPO=https://www.python.org/ftp/python/${PYTHON_VER}/Python-${PYTHON_VER}.tgz -RUN yum install -y zlib-devel +RUN yum install -y zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel \ + readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel RUN wget -O - ${PYTHON_REPO} | tar xz && \ cd Python-${PYTHON_VER} && \ ./configure --prefix=/usr && \ diff --git a/Xeon/centos-7.4/ffmpeg+gst+dev/Dockerfile b/Xeon/centos-7.4/ffmpeg+gst+dev/Dockerfile index e695948ad..1388453ec 100644 --- a/Xeon/centos-7.4/ffmpeg+gst+dev/Dockerfile +++ b/Xeon/centos-7.4/ffmpeg+gst+dev/Dockerfile @@ -203,7 +203,8 @@ RUN git clone ${SVT_VP9_REPO} && \ ARG PYTHON_VER=3.6.6 ARG PYTHON_REPO=https://www.python.org/ftp/python/${PYTHON_VER}/Python-${PYTHON_VER}.tgz -RUN yum install -y zlib-devel +RUN yum install -y zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel \ + readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel RUN wget -O - ${PYTHON_REPO} | tar xz && \ cd Python-${PYTHON_VER} && \ ./configure --prefix=/usr && \ diff --git a/Xeon/centos-7.5/ffmpeg+gst+dev/Dockerfile b/Xeon/centos-7.5/ffmpeg+gst+dev/Dockerfile index d70eb1986..912b59fb3 100644 --- a/Xeon/centos-7.5/ffmpeg+gst+dev/Dockerfile +++ b/Xeon/centos-7.5/ffmpeg+gst+dev/Dockerfile @@ -203,7 +203,8 @@ RUN git clone ${SVT_VP9_REPO} && \ ARG PYTHON_VER=3.6.6 ARG PYTHON_REPO=https://www.python.org/ftp/python/${PYTHON_VER}/Python-${PYTHON_VER}.tgz -RUN yum install -y zlib-devel +RUN yum install -y zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel \ + readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel RUN wget -O - ${PYTHON_REPO} | tar xz && \ cd Python-${PYTHON_VER} && \ ./configure --prefix=/usr && \ diff --git a/Xeon/centos-7.6/ffmpeg+gst+dev/Dockerfile b/Xeon/centos-7.6/ffmpeg+gst+dev/Dockerfile index 2080955b8..da6a4317a 100644 --- a/Xeon/centos-7.6/ffmpeg+gst+dev/Dockerfile +++ b/Xeon/centos-7.6/ffmpeg+gst+dev/Dockerfile @@ -203,7 +203,8 @@ RUN git clone ${SVT_VP9_REPO} && \ ARG PYTHON_VER=3.6.6 ARG PYTHON_REPO=https://www.python.org/ftp/python/${PYTHON_VER}/Python-${PYTHON_VER}.tgz -RUN yum install -y zlib-devel +RUN yum install -y zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel \ + readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel RUN wget -O - ${PYTHON_REPO} | tar xz && \ cd Python-${PYTHON_VER} && \ ./configure --prefix=/usr && \ diff --git a/XeonE3/centos-7.4/ffmpeg+gst+dev/Dockerfile b/XeonE3/centos-7.4/ffmpeg+gst+dev/Dockerfile index 564f36821..81e4b5b4b 100644 --- a/XeonE3/centos-7.4/ffmpeg+gst+dev/Dockerfile +++ b/XeonE3/centos-7.4/ffmpeg+gst+dev/Dockerfile @@ -279,7 +279,8 @@ RUN yum install -y ocl-icd libgomp ARG PYTHON_VER=3.6.6 ARG PYTHON_REPO=https://www.python.org/ftp/python/${PYTHON_VER}/Python-${PYTHON_VER}.tgz -RUN yum install -y zlib-devel +RUN yum install -y zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel \ + readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel RUN wget -O - ${PYTHON_REPO} | tar xz && \ cd Python-${PYTHON_VER} && \ ./configure --prefix=/usr && \ diff --git a/XeonE3/centos-7.5/ffmpeg+gst+dev/Dockerfile b/XeonE3/centos-7.5/ffmpeg+gst+dev/Dockerfile index 2ff979d73..a86e41abb 100644 --- a/XeonE3/centos-7.5/ffmpeg+gst+dev/Dockerfile +++ b/XeonE3/centos-7.5/ffmpeg+gst+dev/Dockerfile @@ -279,7 +279,8 @@ RUN yum install -y ocl-icd libgomp ARG PYTHON_VER=3.6.6 ARG PYTHON_REPO=https://www.python.org/ftp/python/${PYTHON_VER}/Python-${PYTHON_VER}.tgz -RUN yum install -y zlib-devel +RUN yum install -y zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel \ + readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel RUN wget -O - ${PYTHON_REPO} | tar xz && \ cd Python-${PYTHON_VER} && \ ./configure --prefix=/usr && \ diff --git a/XeonE3/centos-7.6/ffmpeg+gst+dev/Dockerfile b/XeonE3/centos-7.6/ffmpeg+gst+dev/Dockerfile index b2996050d..fb07c2146 100644 --- a/XeonE3/centos-7.6/ffmpeg+gst+dev/Dockerfile +++ b/XeonE3/centos-7.6/ffmpeg+gst+dev/Dockerfile @@ -279,7 +279,8 @@ RUN yum install -y ocl-icd libgomp ARG PYTHON_VER=3.6.6 ARG PYTHON_REPO=https://www.python.org/ftp/python/${PYTHON_VER}/Python-${PYTHON_VER}.tgz -RUN yum install -y zlib-devel +RUN yum install -y zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel \ + readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel RUN wget -O - ${PYTHON_REPO} | tar xz && \ cd Python-${PYTHON_VER} && \ ./configure --prefix=/usr && \ diff --git a/template/python.m4 b/template/python.m4 index 7981f6a2c..dcfeed808 100644 --- a/template/python.m4 +++ b/template/python.m4 @@ -2,7 +2,8 @@ ARG PYTHON_VER=3.6.6 ARG PYTHON_REPO=https://www.python.org/ftp/python/${PYTHON_VER}/Python-${PYTHON_VER}.tgz ifelse(index(DOCKER_IMAGE,ubuntu),-1,dnl -RUN yum install -y zlib-devel +RUN yum install -y zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel \ + readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel RUN wget -O - ${PYTHON_REPO} | tar xz && \ cd Python-${PYTHON_VER} && \ ./configure --prefix=/usr && \ diff --git a/test/gst_video_analytics.sh b/test/gst_video_analytics.sh index 646159100..fde642803 100755 --- a/test/gst_video_analytics.sh +++ b/test/gst_video_analytics.sh @@ -1,7 +1,7 @@ #!/bin/bash -e if grep --quiet 'NAME="CentOS Linux"' /etc/os-release; then - yum install -y centos-release-scl + yum install -y centos-release-scl wget yum install -y rh-python36 source /opt/rh/rh-python36/enable else From 6f2fbc547998dffa10f0d72e0be2717c0a9432e1 Mon Sep 17 00:00:00 2001 From: cssdk Date: Wed, 27 Mar 2019 04:56:35 +0000 Subject: [PATCH 8/9] Updated Readme with test status --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 405012f5d..4803a23b9 100644 --- a/README.md +++ b/README.md @@ -42,6 +42,7 @@ Status: |-----|:---:|:---:|:---:|:---:|:---:| | FFmpeg | V | V | V | V | V | | GStreamer | T | T | T | T | T | +| DLDT(IE)+GStreamer | T | T | T | T | T | | FFmpeg+GStreamer (Dev) | T | T | T | T | T | | NGINX+RTMP | V | V | V | V | V | From aba2d4fe1ddf06942098f097f1b1bf45228f5f37 Mon Sep 17 00:00:00 2001 From: cssdk Date: Wed, 27 Mar 2019 05:28:20 +0000 Subject: [PATCH 9/9] Fixed issue with dldt gst test impacting gst images --- Xeon/centos-7.4/dldt+gst/CMakeLists.txt | 1 + Xeon/centos-7.4/ffmpeg+gst+dev/CMakeLists.txt | 1 + Xeon/centos-7.5/dldt+gst/CMakeLists.txt | 1 + Xeon/centos-7.5/ffmpeg+gst+dev/CMakeLists.txt | 1 + Xeon/centos-7.6/dldt+gst/CMakeLists.txt | 1 + Xeon/centos-7.6/ffmpeg+gst+dev/CMakeLists.txt | 1 + Xeon/ubuntu-16.04/dldt+gst/CMakeLists.txt | 1 + Xeon/ubuntu-16.04/ffmpeg+gst+dev/CMakeLists.txt | 1 + Xeon/ubuntu-18.04/dldt+gst/CMakeLists.txt | 1 + Xeon/ubuntu-18.04/ffmpeg+gst+dev/CMakeLists.txt | 1 + XeonE3/centos-7.4/dldt+gst/CMakeLists.txt | 1 + XeonE3/centos-7.4/ffmpeg+gst+dev/CMakeLists.txt | 1 + XeonE3/centos-7.5/dldt+gst/CMakeLists.txt | 1 + XeonE3/centos-7.5/ffmpeg+gst+dev/CMakeLists.txt | 1 + XeonE3/centos-7.6/dldt+gst/CMakeLists.txt | 1 + XeonE3/centos-7.6/ffmpeg+gst+dev/CMakeLists.txt | 1 + XeonE3/ubuntu-16.04/dldt+gst/CMakeLists.txt | 1 + XeonE3/ubuntu-16.04/ffmpeg+gst+dev/CMakeLists.txt | 1 + XeonE3/ubuntu-18.04/dldt+gst/CMakeLists.txt | 1 + XeonE3/ubuntu-18.04/ffmpeg+gst+dev/CMakeLists.txt | 1 + script/{dldt-tests.cmake => dldt-gst-tests.cmake} | 2 +- test/{gst_video_analytics.sh => dldt_gst_video_analytics.sh} | 0 22 files changed, 21 insertions(+), 1 deletion(-) rename script/{dldt-tests.cmake => dldt-gst-tests.cmake} (95%) rename test/{gst_video_analytics.sh => dldt_gst_video_analytics.sh} (100%) diff --git a/Xeon/centos-7.4/dldt+gst/CMakeLists.txt b/Xeon/centos-7.4/dldt+gst/CMakeLists.txt index 089aee3ed..cf69e4e18 100644 --- a/Xeon/centos-7.4/dldt+gst/CMakeLists.txt +++ b/Xeon/centos-7.4/dldt+gst/CMakeLists.txt @@ -1,3 +1,4 @@ set(image "xeon_dldt_gst_centos74") include("${CMAKE_SOURCE_DIR}/script/image.cmake") include("${CMAKE_SOURCE_DIR}/script/gst-tests.cmake") +include("${CMAKE_SOURCE_DIR}/script/dldt-gst-tests.cmake") diff --git a/Xeon/centos-7.4/ffmpeg+gst+dev/CMakeLists.txt b/Xeon/centos-7.4/ffmpeg+gst+dev/CMakeLists.txt index 15e373c7d..a5256fd8a 100644 --- a/Xeon/centos-7.4/ffmpeg+gst+dev/CMakeLists.txt +++ b/Xeon/centos-7.4/ffmpeg+gst+dev/CMakeLists.txt @@ -2,3 +2,4 @@ set(image "xeon_ffmpeg_gst_devel_centos74") include("${CMAKE_SOURCE_DIR}/script/image.cmake") include("${CMAKE_SOURCE_DIR}/script/ffmpeg-tests.cmake") include("${CMAKE_SOURCE_DIR}/script/gst-tests.cmake") +include("${CMAKE_SOURCE_DIR}/script/dldt-gst-tests.cmake") diff --git a/Xeon/centos-7.5/dldt+gst/CMakeLists.txt b/Xeon/centos-7.5/dldt+gst/CMakeLists.txt index 57dcf31f6..3abf043f8 100644 --- a/Xeon/centos-7.5/dldt+gst/CMakeLists.txt +++ b/Xeon/centos-7.5/dldt+gst/CMakeLists.txt @@ -1,3 +1,4 @@ set(image "xeon_dldt_gst_centos75") include("${CMAKE_SOURCE_DIR}/script/image.cmake") include("${CMAKE_SOURCE_DIR}/script/gst-tests.cmake") +include("${CMAKE_SOURCE_DIR}/script/dldt-gst-tests.cmake") diff --git a/Xeon/centos-7.5/ffmpeg+gst+dev/CMakeLists.txt b/Xeon/centos-7.5/ffmpeg+gst+dev/CMakeLists.txt index 0df8c2f4e..16568987a 100644 --- a/Xeon/centos-7.5/ffmpeg+gst+dev/CMakeLists.txt +++ b/Xeon/centos-7.5/ffmpeg+gst+dev/CMakeLists.txt @@ -2,3 +2,4 @@ set(image "xeon_ffmpeg_gst_devel_centos75") include("${CMAKE_SOURCE_DIR}/script/image.cmake") include("${CMAKE_SOURCE_DIR}/script/ffmpeg-tests.cmake") include("${CMAKE_SOURCE_DIR}/script/gst-tests.cmake") +include("${CMAKE_SOURCE_DIR}/script/dldt-gst-tests.cmake") diff --git a/Xeon/centos-7.6/dldt+gst/CMakeLists.txt b/Xeon/centos-7.6/dldt+gst/CMakeLists.txt index 147a5eedf..f7cbd2c53 100644 --- a/Xeon/centos-7.6/dldt+gst/CMakeLists.txt +++ b/Xeon/centos-7.6/dldt+gst/CMakeLists.txt @@ -1,3 +1,4 @@ set(image "xeon_dldt_gst_centos76") include("${CMAKE_SOURCE_DIR}/script/image.cmake") include("${CMAKE_SOURCE_DIR}/script/gst-tests.cmake") +include("${CMAKE_SOURCE_DIR}/script/dldt-gst-tests.cmake") diff --git a/Xeon/centos-7.6/ffmpeg+gst+dev/CMakeLists.txt b/Xeon/centos-7.6/ffmpeg+gst+dev/CMakeLists.txt index 47265ae38..4238a5a74 100644 --- a/Xeon/centos-7.6/ffmpeg+gst+dev/CMakeLists.txt +++ b/Xeon/centos-7.6/ffmpeg+gst+dev/CMakeLists.txt @@ -2,3 +2,4 @@ set(image "xeon_ffmpeg_gst_devel_centos76") include("${CMAKE_SOURCE_DIR}/script/image.cmake") include("${CMAKE_SOURCE_DIR}/script/ffmpeg-tests.cmake") include("${CMAKE_SOURCE_DIR}/script/gst-tests.cmake") +include("${CMAKE_SOURCE_DIR}/script/dldt-gst-tests.cmake") diff --git a/Xeon/ubuntu-16.04/dldt+gst/CMakeLists.txt b/Xeon/ubuntu-16.04/dldt+gst/CMakeLists.txt index d720771e1..b3567a0f3 100644 --- a/Xeon/ubuntu-16.04/dldt+gst/CMakeLists.txt +++ b/Xeon/ubuntu-16.04/dldt+gst/CMakeLists.txt @@ -1,3 +1,4 @@ set(image "xeon_dldt_gst_ubuntu1604") include("${CMAKE_SOURCE_DIR}/script/image.cmake") include("${CMAKE_SOURCE_DIR}/script/gst-tests.cmake") +include("${CMAKE_SOURCE_DIR}/script/dldt-gst-tests.cmake") diff --git a/Xeon/ubuntu-16.04/ffmpeg+gst+dev/CMakeLists.txt b/Xeon/ubuntu-16.04/ffmpeg+gst+dev/CMakeLists.txt index bd546461f..4cd28f432 100644 --- a/Xeon/ubuntu-16.04/ffmpeg+gst+dev/CMakeLists.txt +++ b/Xeon/ubuntu-16.04/ffmpeg+gst+dev/CMakeLists.txt @@ -2,3 +2,4 @@ set(image "xeon_ffmpeg_gst_devel_ubuntu1604") include("${CMAKE_SOURCE_DIR}/script/image.cmake") include("${CMAKE_SOURCE_DIR}/script/ffmpeg-tests.cmake") include("${CMAKE_SOURCE_DIR}/script/gst-tests.cmake") +include("${CMAKE_SOURCE_DIR}/script/dldt-gst-tests.cmake") diff --git a/Xeon/ubuntu-18.04/dldt+gst/CMakeLists.txt b/Xeon/ubuntu-18.04/dldt+gst/CMakeLists.txt index 010bdb4ac..4b819dd1f 100644 --- a/Xeon/ubuntu-18.04/dldt+gst/CMakeLists.txt +++ b/Xeon/ubuntu-18.04/dldt+gst/CMakeLists.txt @@ -1,3 +1,4 @@ set(image "xeon_dldt_gst_ubuntu1804") include("${CMAKE_SOURCE_DIR}/script/image.cmake") include("${CMAKE_SOURCE_DIR}/script/gst-tests.cmake") +include("${CMAKE_SOURCE_DIR}/script/dldt-gst-tests.cmake") diff --git a/Xeon/ubuntu-18.04/ffmpeg+gst+dev/CMakeLists.txt b/Xeon/ubuntu-18.04/ffmpeg+gst+dev/CMakeLists.txt index 5291eed62..100436295 100644 --- a/Xeon/ubuntu-18.04/ffmpeg+gst+dev/CMakeLists.txt +++ b/Xeon/ubuntu-18.04/ffmpeg+gst+dev/CMakeLists.txt @@ -2,3 +2,4 @@ set(image "xeon_ffmpeg_gst_devel_ubuntu1804") include("${CMAKE_SOURCE_DIR}/script/image.cmake") include("${CMAKE_SOURCE_DIR}/script/ffmpeg-tests.cmake") include("${CMAKE_SOURCE_DIR}/script/gst-tests.cmake") +include("${CMAKE_SOURCE_DIR}/script/dldt-gst-tests.cmake") diff --git a/XeonE3/centos-7.4/dldt+gst/CMakeLists.txt b/XeonE3/centos-7.4/dldt+gst/CMakeLists.txt index 501dd85a9..898449b79 100644 --- a/XeonE3/centos-7.4/dldt+gst/CMakeLists.txt +++ b/XeonE3/centos-7.4/dldt+gst/CMakeLists.txt @@ -1,3 +1,4 @@ set(image "xeone3_dldt_gst_centos74") include("${CMAKE_SOURCE_DIR}/script/image.cmake") include("${CMAKE_SOURCE_DIR}/script/gst-tests.cmake") +include("${CMAKE_SOURCE_DIR}/script/dldt-gst-tests.cmake") diff --git a/XeonE3/centos-7.4/ffmpeg+gst+dev/CMakeLists.txt b/XeonE3/centos-7.4/ffmpeg+gst+dev/CMakeLists.txt index 7eb780b0c..2dae24c15 100644 --- a/XeonE3/centos-7.4/ffmpeg+gst+dev/CMakeLists.txt +++ b/XeonE3/centos-7.4/ffmpeg+gst+dev/CMakeLists.txt @@ -2,3 +2,4 @@ set(image "xeone3_ffmpeg_gst_devel_centos74") include("${CMAKE_SOURCE_DIR}/script/image.cmake") include("${CMAKE_SOURCE_DIR}/script/ffmpeg-tests.cmake") include("${CMAKE_SOURCE_DIR}/script/gst-tests.cmake") +include("${CMAKE_SOURCE_DIR}/script/dldt-gst-tests.cmake") diff --git a/XeonE3/centos-7.5/dldt+gst/CMakeLists.txt b/XeonE3/centos-7.5/dldt+gst/CMakeLists.txt index f244b8fb0..d4abdf355 100644 --- a/XeonE3/centos-7.5/dldt+gst/CMakeLists.txt +++ b/XeonE3/centos-7.5/dldt+gst/CMakeLists.txt @@ -1,3 +1,4 @@ set(image "xeone3_dldt_gst_centos75") include("${CMAKE_SOURCE_DIR}/script/image.cmake") include("${CMAKE_SOURCE_DIR}/script/gst-tests.cmake") +include("${CMAKE_SOURCE_DIR}/script/dldt-gst-tests.cmake") diff --git a/XeonE3/centos-7.5/ffmpeg+gst+dev/CMakeLists.txt b/XeonE3/centos-7.5/ffmpeg+gst+dev/CMakeLists.txt index 472f12ff8..1b630e47c 100644 --- a/XeonE3/centos-7.5/ffmpeg+gst+dev/CMakeLists.txt +++ b/XeonE3/centos-7.5/ffmpeg+gst+dev/CMakeLists.txt @@ -2,3 +2,4 @@ set(image "xeone3_ffmpeg_gst_devel_centos75") include("${CMAKE_SOURCE_DIR}/script/image.cmake") include("${CMAKE_SOURCE_DIR}/script/ffmpeg-tests.cmake") include("${CMAKE_SOURCE_DIR}/script/gst-tests.cmake") +include("${CMAKE_SOURCE_DIR}/script/dldt-gst-tests.cmake") diff --git a/XeonE3/centos-7.6/dldt+gst/CMakeLists.txt b/XeonE3/centos-7.6/dldt+gst/CMakeLists.txt index 4297737df..aa9ce7ce7 100644 --- a/XeonE3/centos-7.6/dldt+gst/CMakeLists.txt +++ b/XeonE3/centos-7.6/dldt+gst/CMakeLists.txt @@ -1,3 +1,4 @@ set(image "xeone3_dldt_gst_centos76") include("${CMAKE_SOURCE_DIR}/script/image.cmake") include("${CMAKE_SOURCE_DIR}/script/gst-tests.cmake") +include("${CMAKE_SOURCE_DIR}/script/dldt-gst-tests.cmake") diff --git a/XeonE3/centos-7.6/ffmpeg+gst+dev/CMakeLists.txt b/XeonE3/centos-7.6/ffmpeg+gst+dev/CMakeLists.txt index 76e8a64fb..2da101173 100644 --- a/XeonE3/centos-7.6/ffmpeg+gst+dev/CMakeLists.txt +++ b/XeonE3/centos-7.6/ffmpeg+gst+dev/CMakeLists.txt @@ -2,3 +2,4 @@ set(image "xeone3_ffmpeg_gst_devel_centos76") include("${CMAKE_SOURCE_DIR}/script/image.cmake") include("${CMAKE_SOURCE_DIR}/script/ffmpeg-tests.cmake") include("${CMAKE_SOURCE_DIR}/script/gst-tests.cmake") +include("${CMAKE_SOURCE_DIR}/script/dldt-gst-tests.cmake") diff --git a/XeonE3/ubuntu-16.04/dldt+gst/CMakeLists.txt b/XeonE3/ubuntu-16.04/dldt+gst/CMakeLists.txt index 9f72a4170..c1ad9e080 100644 --- a/XeonE3/ubuntu-16.04/dldt+gst/CMakeLists.txt +++ b/XeonE3/ubuntu-16.04/dldt+gst/CMakeLists.txt @@ -1,3 +1,4 @@ set(image "xeonE3_dldt_gst_ubuntu1604") include("${CMAKE_SOURCE_DIR}/script/image.cmake") include("${CMAKE_SOURCE_DIR}/script/gst-tests.cmake") +include("${CMAKE_SOURCE_DIR}/script/dldt-gst-tests.cmake") diff --git a/XeonE3/ubuntu-16.04/ffmpeg+gst+dev/CMakeLists.txt b/XeonE3/ubuntu-16.04/ffmpeg+gst+dev/CMakeLists.txt index 4e5aa74dc..b8f049580 100644 --- a/XeonE3/ubuntu-16.04/ffmpeg+gst+dev/CMakeLists.txt +++ b/XeonE3/ubuntu-16.04/ffmpeg+gst+dev/CMakeLists.txt @@ -2,3 +2,4 @@ set(image "xeone3_ffmpeg_gst_devel_ubuntu1604") include("${CMAKE_SOURCE_DIR}/script/image.cmake") include("${CMAKE_SOURCE_DIR}/script/ffmpeg-tests.cmake") include("${CMAKE_SOURCE_DIR}/script/gst-tests.cmake") +include("${CMAKE_SOURCE_DIR}/script/dldt-gst-tests.cmake") diff --git a/XeonE3/ubuntu-18.04/dldt+gst/CMakeLists.txt b/XeonE3/ubuntu-18.04/dldt+gst/CMakeLists.txt index f4e4b40cc..d8736a70d 100644 --- a/XeonE3/ubuntu-18.04/dldt+gst/CMakeLists.txt +++ b/XeonE3/ubuntu-18.04/dldt+gst/CMakeLists.txt @@ -1,3 +1,4 @@ set(image "xeonE3_dldt_gst_ubuntu1804") include("${CMAKE_SOURCE_DIR}/script/image.cmake") include("${CMAKE_SOURCE_DIR}/script/gst-tests.cmake") +include("${CMAKE_SOURCE_DIR}/script/dldt-gst-tests.cmake") diff --git a/XeonE3/ubuntu-18.04/ffmpeg+gst+dev/CMakeLists.txt b/XeonE3/ubuntu-18.04/ffmpeg+gst+dev/CMakeLists.txt index 86c9ea0ae..cfb6d6d1a 100644 --- a/XeonE3/ubuntu-18.04/ffmpeg+gst+dev/CMakeLists.txt +++ b/XeonE3/ubuntu-18.04/ffmpeg+gst+dev/CMakeLists.txt @@ -2,3 +2,4 @@ set(image "xeone3_ffmpeg_gst_devel_ubuntu1804") include("${CMAKE_SOURCE_DIR}/script/image.cmake") include("${CMAKE_SOURCE_DIR}/script/ffmpeg-tests.cmake") include("${CMAKE_SOURCE_DIR}/script/gst-tests.cmake") +include("${CMAKE_SOURCE_DIR}/script/dldt-gst-tests.cmake") diff --git a/script/dldt-tests.cmake b/script/dldt-gst-tests.cmake similarity index 95% rename from script/dldt-tests.cmake rename to script/dldt-gst-tests.cmake index d84c85791..d2a14fee8 100644 --- a/script/dldt-tests.cmake +++ b/script/dldt-gst-tests.cmake @@ -1,4 +1,4 @@ -file(GLOB tests "${CMAKE_CURRENT_SOURCE_DIR}/../../../test/dldt_*.sh") +file(GLOB tests "${CMAKE_CURRENT_SOURCE_DIR}/../../../test/dldt_gst_*.sh") foreach(test ${tests}) get_filename_component(name ${test} NAME_WE) add_test(test_${image}_${name} "${CMAKE_CURRENT_SOURCE_DIR}/shell.sh" "/mnt/${name}.sh" "${image}") diff --git a/test/gst_video_analytics.sh b/test/dldt_gst_video_analytics.sh similarity index 100% rename from test/gst_video_analytics.sh rename to test/dldt_gst_video_analytics.sh