From 7389d9aca465ba890b2ab4c5c1c3aa706d4b04c3 Mon Sep 17 00:00:00 2001 From: Dmitry Rogozhkin Date: Tue, 28 Nov 2023 09:51:26 -0800 Subject: [PATCH] ics3a/build: fix onevpl component build after rename OneVPL library was moved to gihub.com/intel organization. This commit fixes the build on our side. Signed-off-by: Dmitry Rogozhkin --- .../encoder/ubuntu22.04/intel-gfx/Dockerfile | 8 +++--- .../ubuntu22.04/selfbuild-prodkmd/Dockerfile | 11 +++++--- docker/meson.build | 2 +- templates/encoder.m4 | 8 +++--- templates/ffmpeg.m4 | 8 +++--- .../components/{onevpl.m4 => libvpl.m4} | 25 +++++++++++-------- templates/m4docker/components/onevpl-gpu.m4 | 2 +- 7 files changed, 35 insertions(+), 29 deletions(-) rename templates/m4docker/components/{onevpl.m4 => libvpl.m4} (76%) diff --git a/docker/encoder/ubuntu22.04/intel-gfx/Dockerfile b/docker/encoder/ubuntu22.04/intel-gfx/Dockerfile index dc567ae..8398350 100644 --- a/docker/encoder/ubuntu22.04/intel-gfx/Dockerfile +++ b/docker/encoder/ubuntu22.04/intel-gfx/Dockerfile @@ -55,8 +55,8 @@ RUN apt-get update && \ gcc \ g++ \ git \ - libvpl-dev \ libva-dev \ + libvpl-dev \ make \ patch \ pkg-config \ @@ -118,8 +118,8 @@ RUN apt-get update && \ gcc \ g++ \ libdrm-dev \ - libvpl-dev \ libva-dev \ + libvpl-dev \ meson \ patch \ pkg-config && \ @@ -160,10 +160,10 @@ RUN apt-get update && \ DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ intel-media-va-driver-non-free \ libigfxcmrt7 \ + libva-drm2 \ + libvpl2 \ libmfx1 \ libmfxgen1 \ - libvpl2 \ - libva-drm2 \ libyaml-cpp0.7 \ libva2 \ iproute2 \ diff --git a/docker/encoder/ubuntu22.04/selfbuild-prodkmd/Dockerfile b/docker/encoder/ubuntu22.04/selfbuild-prodkmd/Dockerfile index e3e131b..38def15 100644 --- a/docker/encoder/ubuntu22.04/selfbuild-prodkmd/Dockerfile +++ b/docker/encoder/ubuntu22.04/selfbuild-prodkmd/Dockerfile @@ -137,11 +137,11 @@ RUN apt-get update && \ cmake \ dh-autoreconf && \ rm -rf /var/lib/apt/lists/* -ARG ONEVPL_REPO=https://github.com/oneapi-src/oneVPL/archive/v2023.3.0.tar.gz +ARG LIBVPL_REPO=https://github.com/intel/libvpl/archive/v2023.3.0.tar.gz RUN cd /opt/build && \ - wget -O - ${ONEVPL_REPO} | tar xz -# build oneVPL -RUN cd /opt/build/oneVPL-2023.3.0 && \ + wget -O - ${LIBVPL_REPO} | tar xz +# build libvpl +RUN cd /opt/build/libvpl-2023.3.0 && \ mkdir build && cd build && \ cmake \ -DCMAKE_BUILD_TYPE=Release \ @@ -324,6 +324,9 @@ RUN apt-get update && \ COPY --from=build /opt/dist / RUN echo "/opt/lib" >> /etc/ld.so.conf.d/all-libs.conf && ldconfig +# While onevpl was renamed to libvpl, as of now this mostly concerns project +# naming # and repository location. Environment variable we define below +# still follows onevpl naming convention. ENV ONEVPL_SEARCH_PATH=/opt/lib/ # Installing entrypoint helper scripts COPY assets/demo-alive /usr/bin/ diff --git a/docker/meson.build b/docker/meson.build index d45f508..b5819e6 100644 --- a/docker/meson.build +++ b/docker/meson.build @@ -32,11 +32,11 @@ m4_templates = files( '../templates/m4docker/components/intel-gfx.m4', '../templates/m4docker/components/libva2.m4', '../templates/m4docker/components/libva2-utils.m4', + '../templates/m4docker/components/libvpl.m4', '../templates/m4docker/components/media-driver.m4', '../templates/m4docker/components/msdk.m4', '../templates/m4docker/components/nodesource.m4', '../templates/m4docker/components/onevpl-gpu.m4', - '../templates/m4docker/components/onevpl.m4', '../templates/chrome.m4', '../templates/defs.m4', '../templates/encoder.m4', diff --git a/templates/encoder.m4 b/templates/encoder.m4 index 6107b74..8c358e6 100644 --- a/templates/encoder.m4 +++ b/templates/encoder.m4 @@ -35,14 +35,14 @@ DECLARE(`ENCODER_BUILD_SERVER',enabled) ifelse(ENCODER_BUILD_SERVER,enabled,`dnl define(`ENCODER_BUILD_DEPS',`dnl gcc g++ libdrm-dev dnl - ifdef(`BUILD_ONEVPL',,libvpl-dev) dnl ifdef(`BUILD_LIBVA2',,libva-dev) dnl + ifdef(`BUILD_LIBVPL',,libvpl-dev) dnl meson patch pkg-config') define(`ENCODER_INSTALL_DEPS',`dnl - ifdef(`BUILD_ONEVPL',,libvpl2) dnl - ifdef(`BUILD_ONEVPLGPU',,libmfxgen1) dnl - ifdef(`BUILD_LIBVA2',,libva2 libva-drm2)') + ifdef(`BUILD_LIBVA2',,libva2 libva-drm2) dnl + ifdef(`BUILD_LIBVPL',,libvpl2) dnl + ifdef(`BUILD_ONEVPLGPU',,libmfxgen1)') ') ifelse(ENCODER_BUILD_SERVER,disabled,`dnl diff --git a/templates/ffmpeg.m4 b/templates/ffmpeg.m4 index b04b30c..5cd4d35 100644 --- a/templates/ffmpeg.m4 +++ b/templates/ffmpeg.m4 @@ -37,17 +37,17 @@ DECLARE(`FFMPEG_REPO_URL',https://github.com/FFmpeg/FFmpeg.git) DECLARE(`FFMPEG_ENABLE_MFX',`2.x') define(`FFMPEG_BUILD_DEPS',`ca-certificates gcc g++ git dnl - ifdef(`BUILD_MSDK',,ifelse(FFMPEG_ENABLE_MFX,1.x,libmfx-dev)) dnl - ifdef(`BUILD_ONEVPL',,ifelse(FFMPEG_ENABLE_MFX,2.x,libvpl-dev)) dnl ifdef(`BUILD_LIBVA2',,libva-dev) dnl + ifdef(`BUILD_LIBVPL',,ifelse(FFMPEG_ENABLE_MFX,2.x,libvpl-dev)) dnl + ifdef(`BUILD_MSDK',,ifelse(FFMPEG_ENABLE_MFX,1.x,libmfx-dev)) dnl make patch pkg-config xz-utils yasm') define(`FFMPEG_INSTALL_DEPS',`dnl ifdef(`BUILD_MEDIA_DRIVER',,intel-media-va-driver-non-free libigfxcmrt7) dnl + ifdef(`BUILD_LIBVA2',,libva-drm2) dnl + ifdef(`BUILD_LIBVPL',,ifelse(FFMPEG_ENABLE_MFX,2.x,libvpl2)) dnl ifdef(`BUILD_MSDK',,libmfx1) dnl ifdef(`BUILD_ONEVPLGPU',,ifelse(FFMPEG_ENABLE_MFX,2.x,libmfxgen1)) dnl - ifdef(`BUILD_ONEVPL',,ifelse(FFMPEG_ENABLE_MFX,2.x,libvpl2)) dnl - ifdef(`BUILD_LIBVA2',,libva-drm2) dnl ') define(`BUILD_FFMPEG', diff --git a/templates/m4docker/components/onevpl.m4 b/templates/m4docker/components/libvpl.m4 similarity index 76% rename from templates/m4docker/components/onevpl.m4 rename to templates/m4docker/components/libvpl.m4 index a218575..8e3cf09 100644 --- a/templates/m4docker/components/onevpl.m4 +++ b/templates/m4docker/components/libvpl.m4 @@ -30,20 +30,20 @@ dnl OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. dnl include(begin.m4) -DECLARE(`ONEVPL_VER',2023.3.0) +DECLARE(`LIBVPL_VER',2023.3.0) ifelse(OS_NAME,ubuntu,dnl -`define(`ONEVPL_BUILD_DEPS',`automake ca-certificates gcc g++ make pkg-config wget cmake dh-autoreconf')' -`define(`ONEVPL_INSTALL_DEPS',`')' +`define(`LIBVPL_BUILD_DEPS',`automake ca-certificates gcc g++ make pkg-config wget cmake dh-autoreconf')' +`define(`LIBVPL_INSTALL_DEPS',`')' ) -define(`BUILD_ONEVPL', -ARG ONEVPL_REPO=https://github.com/oneapi-src/oneVPL/archive/v`'ONEVPL_VER.tar.gz +define(`BUILD_LIBVPL', +ARG LIBVPL_REPO=https://github.com/intel/libvpl/archive/v`'LIBVPL_VER.tar.gz RUN cd BUILD_HOME && \ - wget -O - ${ONEVPL_REPO} | tar xz -ifdef(`ONEVPL_PATCH_PATH',`PATCH(BUILD_HOME/oneVPL-ONEVPL_VER,ONEVPL_PATCH_PATH)')dnl -# build oneVPL -RUN cd BUILD_HOME/oneVPL-ONEVPL_VER && \ + wget -O - ${LIBVPL_REPO} | tar xz +ifdef(`LIBVPL_PATCH_PATH',`PATCH(BUILD_HOME/libvpl-LIBVPL_VER,LIBVPL_PATCH_PATH)')dnl +# build libvpl +RUN cd BUILD_HOME/libvpl-LIBVPL_VER && \ mkdir build && cd build && \ cmake \ -DCMAKE_BUILD_TYPE=Release \ @@ -55,10 +55,13 @@ RUN cd BUILD_HOME/oneVPL-ONEVPL_VER && \ make install ) -define(`ENV_VARS_ONEVPL',`dnl +define(`ENV_VARS_LIBVPL',`dnl +# While onevpl was renamed to libvpl, as of now this mostly concerns project +# naming # and repository location. Environment variable we define below +# still follows onevpl naming convention. ENV ONEVPL_SEARCH_PATH=BUILD_LIBDIR/ ') -REG(ONEVPL) +REG(LIBVPL) include(end.m4)dnl diff --git a/templates/m4docker/components/onevpl-gpu.m4 b/templates/m4docker/components/onevpl-gpu.m4 index 496c088..c8ee8bb 100644 --- a/templates/m4docker/components/onevpl-gpu.m4 +++ b/templates/m4docker/components/onevpl-gpu.m4 @@ -30,7 +30,7 @@ dnl OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. dnl include(begin.m4) include(libva2.m4) -include(onevpl.m4) +include(libvpl.m4) DECLARE(`ONEVPL_GPU_VER',23.2.4) DECLARE(`MFX_ENABLE_AENC',OFF)