intel / libvpl

Intel® Video Processing Library (Intel® VPL) API, dispatcher, and examples
https://intel.github.io/libvpl/
MIT License
262 stars 80 forks source link

Can't build via End-To-End Scripts for oneVPL base and CPU stops with Error 2 #84

Closed Deathproof76 closed 1 year ago

Deathproof76 commented 1 year ago

Don't know what else to add. OneVPL and OneVPL-cpu are cloned in same base folder. Using Ubuntu 22.04

ls
oneVPL  oneVPL-cpu  oneVPL-intel-gpu

I ran oneVPL/script/e2e/build first and then

sudo oneVPL/script/e2e/build

[ 25%] Building CXX object cpu/CMakeFiles/vplswref64.dir/src/cpu_vpp.cpp.o
[ 27%] Building CXX object cpu/CMakeFiles/vplswref64.dir/src/libmfxvplsw.cpp.o
cd /home/max/Desktop/mesa/vpl2/oneVPL-cpu/_build/cpu && /usr/bin/c++ -DENABLE_ENCODER_OPENH264 -DONEVPL_EXPERIMENTAL -DVPL_VERSION_MAJOR=0 -DVPL_VERSION_MINOR=0 -DVPL_VERSION_PATCH=1 -D_FORTIFY_SOURCE=2 -Dvplswref64_EXPORTS -I/home/max/Desktop/mesa/vpl2/oneVPL-cpu/cpu -I/home/max/Desktop/mesa/vpl2/oneVPL-cpu/_build/cpu -I/home/max/Desktop/mesa/vpl2/oneVPL-cpu/cpu/ext/ffmpeg-codecs/../../../_deps/include -O3 -DNDEBUG -fPIC -Wall -Wformat -Wformat-security -Werror=format-security -MD -MT cpu/CMakeFiles/vplswref64.dir/src/cpu_vpp.cpp.o -MF CMakeFiles/vplswref64.dir/src/cpu_vpp.cpp.o.d -o CMakeFiles/vplswref64.dir/src/cpu_vpp.cpp.o -c /home/max/Desktop/mesa/vpl2/oneVPL-cpu/cpu/src/cpu_vpp.cpp
cd /home/max/Desktop/mesa/vpl2/oneVPL-cpu/_build/cpu && /usr/bin/c++ -DENABLE_ENCODER_OPENH264 -DONEVPL_EXPERIMENTAL -DVPL_VERSION_MAJOR=0 -DVPL_VERSION_MINOR=0 -DVPL_VERSION_PATCH=1 -D_FORTIFY_SOURCE=2 -Dvplswref64_EXPORTS -I/home/max/Desktop/mesa/vpl2/oneVPL-cpu/cpu -I/home/max/Desktop/mesa/vpl2/oneVPL-cpu/_build/cpu -I/home/max/Desktop/mesa/vpl2/oneVPL-cpu/cpu/ext/ffmpeg-codecs/../../../_deps/include -O3 -DNDEBUG -fPIC -Wall -Wformat -Wformat-security -Werror=format-security -MD -MT cpu/CMakeFiles/vplswref64.dir/src/libmfxvplsw.cpp.o -MF CMakeFiles/vplswref64.dir/src/libmfxvplsw.cpp.o.d -o CMakeFiles/vplswref64.dir/src/libmfxvplsw.cpp.o -c /home/max/Desktop/mesa/vpl2/oneVPL-cpu/cpu/src/libmfxvplsw.cpp
[ 30%] Building CXX object cpu/CMakeFiles/vplswref64.dir/src/libmfxvplsw_core.cpp.o
cd /home/max/Desktop/mesa/vpl2/oneVPL-cpu/_build/cpu && /usr/bin/c++ -DENABLE_ENCODER_OPENH264 -DONEVPL_EXPERIMENTAL -DVPL_VERSION_MAJOR=0 -DVPL_VERSION_MINOR=0 -DVPL_VERSION_PATCH=1 -D_FORTIFY_SOURCE=2 -Dvplswref64_EXPORTS -I/home/max/Desktop/mesa/vpl2/oneVPL-cpu/cpu -I/home/max/Desktop/mesa/vpl2/oneVPL-cpu/_build/cpu -I/home/max/Desktop/mesa/vpl2/oneVPL-cpu/cpu/ext/ffmpeg-codecs/../../../_deps/include -O3 -DNDEBUG -fPIC -Wall -Wformat -Wformat-security -Werror=format-security -MD -MT cpu/CMakeFiles/vplswref64.dir/src/libmfxvplsw_core.cpp.o -MF CMakeFiles/vplswref64.dir/src/libmfxvplsw_core.cpp.o.d -o CMakeFiles/vplswref64.dir/src/libmfxvplsw_core.cpp.o -c /home/max/Desktop/mesa/vpl2/oneVPL-cpu/cpu/src/libmfxvplsw_core.cpp
/home/max/Desktop/mesa/vpl2/oneVPL-cpu/cpu/src/libmfxvplsw.cpp: In function ‘mfxStatus MFXInit(mfxIMPL, mfxVersion*, _mfxSession**)’:
/home/max/Desktop/mesa/vpl2/oneVPL-cpu/cpu/src/libmfxvplsw.cpp:21:21: warning: ‘mfxStatus MFXInitEx(mfxInitParam, _mfxSession**)’ is deprecated [-Wdeprecated-declarations]
   21 |     return MFXInitEx(par, session);
      |            ~~~~~~~~~^~~~~~~~~~~~~~
In file included from /usr/local/include/vpl/mfxvideo.h:9,
                 from /home/max/Desktop/mesa/vpl2/oneVPL-cpu/cpu/src/cpu_common.h:21,
                 from /home/max/Desktop/mesa/vpl2/oneVPL-cpu/cpu/src/./cpu_workstream.h:12,
                 from /home/max/Desktop/mesa/vpl2/oneVPL-cpu/cpu/src/libmfxvplsw.cpp:7:
/usr/local/include/vpl/mfxsession.h:91:36: note: declared here
   91 | MFX_DEPRECATED mfxStatus MFX_CDECL MFXInitEx(mfxInitParam par, mfxSession *session);
      |                                    ^~~~~~~~~
[ 35%] Building CXX object cpu/CMakeFiles/vplswref64.dir/src/libmfxvplsw_decode.cpp.o
[ 35%] Building CXX object cpu/CMakeFiles/vplswref64.dir/src/libmfxvplsw_decvpp.cpp.o
cd /home/max/Desktop/mesa/vpl2/oneVPL-cpu/_build/cpu && /usr/bin/c++ -DENABLE_ENCODER_OPENH264 -DONEVPL_EXPERIMENTAL -DVPL_VERSION_MAJOR=0 -DVPL_VERSION_MINOR=0 -DVPL_VERSION_PATCH=1 -D_FORTIFY_SOURCE=2 -Dvplswref64_EXPORTS -I/home/max/Desktop/mesa/vpl2/oneVPL-cpu/cpu -I/home/max/Desktop/mesa/vpl2/oneVPL-cpu/_build/cpu -I/home/max/Desktop/mesa/vpl2/oneVPL-cpu/cpu/ext/ffmpeg-codecs/../../../_deps/include -O3 -DNDEBUG -fPIC -Wall -Wformat -Wformat-security -Werror=format-security -MD -MT cpu/CMakeFiles/vplswref64.dir/src/libmfxvplsw_decode.cpp.o -MF CMakeFiles/vplswref64.dir/src/libmfxvplsw_decode.cpp.o.d -o CMakeFiles/vplswref64.dir/src/libmfxvplsw_decode.cpp.o -c /home/max/Desktop/mesa/vpl2/oneVPL-cpu/cpu/src/libmfxvplsw_decode.cpp
cd /home/max/Desktop/mesa/vpl2/oneVPL-cpu/_build/cpu && /usr/bin/c++ -DENABLE_ENCODER_OPENH264 -DONEVPL_EXPERIMENTAL -DVPL_VERSION_MAJOR=0 -DVPL_VERSION_MINOR=0 -DVPL_VERSION_PATCH=1 -D_FORTIFY_SOURCE=2 -Dvplswref64_EXPORTS -I/home/max/Desktop/mesa/vpl2/oneVPL-cpu/cpu -I/home/max/Desktop/mesa/vpl2/oneVPL-cpu/_build/cpu -I/home/max/Desktop/mesa/vpl2/oneVPL-cpu/cpu/ext/ffmpeg-codecs/../../../_deps/include -O3 -DNDEBUG -fPIC -Wall -Wformat -Wformat-security -Werror=format-security -MD -MT cpu/CMakeFiles/vplswref64.dir/src/libmfxvplsw_decvpp.cpp.o -MF CMakeFiles/vplswref64.dir/src/libmfxvplsw_decvpp.cpp.o.d -o CMakeFiles/vplswref64.dir/src/libmfxvplsw_decvpp.cpp.o -c /home/max/Desktop/mesa/vpl2/oneVPL-cpu/cpu/src/libmfxvplsw_decvpp.cpp
[ 37%] Building CXX object cpu/CMakeFiles/vplswref64.dir/src/libmfxvplsw_encode.cpp.o
cd /home/max/Desktop/mesa/vpl2/oneVPL-cpu/_build/cpu && /usr/bin/c++ -DENABLE_ENCODER_OPENH264 -DONEVPL_EXPERIMENTAL -DVPL_VERSION_MAJOR=0 -DVPL_VERSION_MINOR=0 -DVPL_VERSION_PATCH=1 -D_FORTIFY_SOURCE=2 -Dvplswref64_EXPORTS -I/home/max/Desktop/mesa/vpl2/oneVPL-cpu/cpu -I/home/max/Desktop/mesa/vpl2/oneVPL-cpu/_build/cpu -I/home/max/Desktop/mesa/vpl2/oneVPL-cpu/cpu/ext/ffmpeg-codecs/../../../_deps/include -O3 -DNDEBUG -fPIC -Wall -Wformat -Wformat-security -Werror=format-security -MD -MT cpu/CMakeFiles/vplswref64.dir/src/libmfxvplsw_encode.cpp.o -MF CMakeFiles/vplswref64.dir/src/libmfxvplsw_encode.cpp.o.d -o CMakeFiles/vplswref64.dir/src/libmfxvplsw_encode.cpp.o -c /home/max/Desktop/mesa/vpl2/oneVPL-cpu/cpu/src/libmfxvplsw_encode.cpp
[ 40%] Building CXX object cpu/CMakeFiles/vplswref64.dir/src/libmfxvplsw_vpl.cpp.o
cd /home/max/Desktop/mesa/vpl2/oneVPL-cpu/_build/cpu && /usr/bin/c++ -DENABLE_ENCODER_OPENH264 -DONEVPL_EXPERIMENTAL -DVPL_VERSION_MAJOR=0 -DVPL_VERSION_MINOR=0 -DVPL_VERSION_PATCH=1 -D_FORTIFY_SOURCE=2 -Dvplswref64_EXPORTS -I/home/max/Desktop/mesa/vpl2/oneVPL-cpu/cpu -I/home/max/Desktop/mesa/vpl2/oneVPL-cpu/_build/cpu -I/home/max/Desktop/mesa/vpl2/oneVPL-cpu/cpu/ext/ffmpeg-codecs/../../../_deps/include -O3 -DNDEBUG -fPIC -Wall -Wformat -Wformat-security -Werror=format-security -MD -MT cpu/CMakeFiles/vplswref64.dir/src/libmfxvplsw_vpl.cpp.o -MF CMakeFiles/vplswref64.dir/src/libmfxvplsw_vpl.cpp.o.d -o CMakeFiles/vplswref64.dir/src/libmfxvplsw_vpl.cpp.o -c /home/max/Desktop/mesa/vpl2/oneVPL-cpu/cpu/src/libmfxvplsw_vpl.cpp
[ 42%] Building CXX object cpu/CMakeFiles/vplswref64.dir/src/libmfxvplsw_vpp.cpp.o
cd /home/max/Desktop/mesa/vpl2/oneVPL-cpu/_build/cpu && /usr/bin/c++ -DENABLE_ENCODER_OPENH264 -DONEVPL_EXPERIMENTAL -DVPL_VERSION_MAJOR=0 -DVPL_VERSION_MINOR=0 -DVPL_VERSION_PATCH=1 -D_FORTIFY_SOURCE=2 -Dvplswref64_EXPORTS -I/home/max/Desktop/mesa/vpl2/oneVPL-cpu/cpu -I/home/max/Desktop/mesa/vpl2/oneVPL-cpu/_build/cpu -I/home/max/Desktop/mesa/vpl2/oneVPL-cpu/cpu/ext/ffmpeg-codecs/../../../_deps/include -O3 -DNDEBUG -fPIC -Wall -Wformat -Wformat-security -Werror=format-security -MD -MT cpu/CMakeFiles/vplswref64.dir/src/libmfxvplsw_vpp.cpp.o -MF CMakeFiles/vplswref64.dir/src/libmfxvplsw_vpp.cpp.o.d -o CMakeFiles/vplswref64.dir/src/libmfxvplsw_vpp.cpp.o -c /home/max/Desktop/mesa/vpl2/oneVPL-cpu/cpu/src/libmfxvplsw_vpp.cpp
[ 45%] Linking CXX shared library ../libvplswref64.so.1
cd /home/max/Desktop/mesa/vpl2/oneVPL-cpu/_build/cpu && /usr/bin/cmake -E cmake_link_script CMakeFiles/vplswref64.dir/link.txt --verbose=1
/usr/bin/c++ -fPIC -O3 -DNDEBUG -Wl,-Bsymbolic,-z,defs -shared -Wl,-soname,libvplswref64.so.1 -o ../libvplswref64.so.1 CMakeFiles/vplswref64.dir/src/cpu_common.cpp.o CMakeFiles/vplswref64.dir/src/cpu_decode.cpp.o CMakeFiles/vplswref64.dir/src/cpu_decodevpp.cpp.o CMakeFiles/vplswref64.dir/src/cpu_encode.cpp.o CMakeFiles/vplswref64.dir/src/cpu_frame.cpp.o CMakeFiles/vplswref64.dir/src/cpu_frame_pool.cpp.o CMakeFiles/vplswref64.dir/src/cpu_vpp.cpp.o CMakeFiles/vplswref64.dir/src/cpu_workstream.cpp.o CMakeFiles/vplswref64.dir/src/frame_lock.cpp.o CMakeFiles/vplswref64.dir/src/libmfxvplsw.cpp.o CMakeFiles/vplswref64.dir/src/libmfxvplsw_core.cpp.o CMakeFiles/vplswref64.dir/src/libmfxvplsw_decode.cpp.o CMakeFiles/vplswref64.dir/src/libmfxvplsw_decvpp.cpp.o CMakeFiles/vplswref64.dir/src/libmfxvplsw_encode.cpp.o CMakeFiles/vplswref64.dir/src/libmfxvplsw_vpl.cpp.o CMakeFiles/vplswref64.dir/src/libmfxvplsw_vpp.cpp.o  ../../cpu/ext/ffmpeg-codecs/../../../_deps/lib/libavfilter.a ../../cpu/ext/ffmpeg-codecs/../../../_deps/lib/libavcodec.a ../../cpu/ext/ffmpeg-codecs/../../../_deps/lib/libavutil.a ../../cpu/ext/ffmpeg-codecs/../../../_deps/lib/libswscale.a ../../cpu/ext/ffmpeg-codecs/../../../_deps/lib/libSvtHevcEnc.a ../../cpu/ext/ffmpeg-codecs/../../../_deps/lib/libSvtAv1Enc.a ../../cpu/ext/ffmpeg-codecs/../../../_deps/lib/libdav1d.a -ldl ../../cpu/ext/ffmpeg-codecs/../../../_deps/lib/libopenh264.a 
/usr/bin/ld: ../../cpu/ext/ffmpeg-codecs/../../../_deps/lib/libavcodec.a(libaomdec.o): in function `aom_decode':
/home/max/Desktop/mesa/vpl2/oneVPL-cpu/_extbuild/FFmpeg-n5.1.2/libavcodec/libaomdec.c:167: undefined reference to `aom_codec_decode'
/usr/bin/ld: /home/max/Desktop/mesa/vpl2/oneVPL-cpu/_extbuild/FFmpeg-n5.1.2/libavcodec/libaomdec.c:179: undefined reference to `aom_codec_get_frame'
/usr/bin/ld: /home/max/Desktop/mesa/vpl2/oneVPL-cpu/_extbuild/FFmpeg-n5.1.2/libavcodec/libaomdec.c:205: undefined reference to `aom_codec_control'
/usr/bin/ld: /home/max/Desktop/mesa/vpl2/oneVPL-cpu/_extbuild/FFmpeg-n5.1.2/libavcodec/libaomdec.c:169: undefined reference to `aom_codec_error'
/usr/bin/ld: /home/max/Desktop/mesa/vpl2/oneVPL-cpu/_extbuild/FFmpeg-n5.1.2/libavcodec/libaomdec.c:170: undefined reference to `aom_codec_error_detail'
/usr/bin/ld: ../../cpu/ext/ffmpeg-codecs/../../../_deps/lib/libavcodec.a(libaomdec.o): in function `aom_free':
/home/max/Desktop/mesa/vpl2/oneVPL-cpu/_extbuild/FFmpeg-n5.1.2/libavcodec/libaomdec.c:242: undefined reference to `aom_codec_destroy'
/usr/bin/ld: ../../cpu/ext/ffmpeg-codecs/../../../_deps/lib/libavcodec.a(libaomdec.o): in function `av1_init':
/home/max/Desktop/mesa/vpl2/oneVPL-cpu/_extbuild/FFmpeg-n5.1.2/libavcodec/libaomdec.c:248: undefined reference to `aom_codec_av1_dx'
/usr/bin/ld: ../../cpu/ext/ffmpeg-codecs/../../../_deps/lib/libavcodec.a(libaomdec.o): in function `aom_init':
/home/max/Desktop/mesa/vpl2/oneVPL-cpu/_extbuild/FFmpeg-n5.1.2/libavcodec/libaomdec.c:50: undefined reference to `aom_codec_version_str'
/usr/bin/ld: /home/max/Desktop/mesa/vpl2/oneVPL-cpu/_extbuild/FFmpeg-n5.1.2/libavcodec/libaomdec.c:51: undefined reference to `aom_codec_build_config'
/usr/bin/ld: /home/max/Desktop/mesa/vpl2/oneVPL-cpu/_extbuild/FFmpeg-n5.1.2/libavcodec/libaomdec.c:53: undefined reference to `aom_codec_dec_init_ver'
/usr/bin/ld: /home/max/Desktop/mesa/vpl2/oneVPL-cpu/_extbuild/FFmpeg-n5.1.2/libavcodec/libaomdec.c:54: undefined reference to `aom_codec_error'
collect2: error: ld returned 1 exit status
make[2]: *** [cpu/CMakeFiles/vplswref64.dir/build.make:345: libvplswref64.so.1] Error 1
make[2]: Leaving directory '/home/max/Desktop/mesa/vpl2/oneVPL-cpu/_build'
make[1]: *** [CMakeFiles/Makefile2:942: cpu/CMakeFiles/vplswref64.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[ 47%] Linking CXX static library ../../../../lib/libgtest.a
cd /home/max/Desktop/mesa/vpl2/oneVPL-cpu/_build/test/unit/googletest/googletest && /usr/bin/cmake -P CMakeFiles/gtest.dir/cmake_clean_target.cmake
cd /home/max/Desktop/mesa/vpl2/oneVPL-cpu/_build/test/unit/googletest/googletest && /usr/bin/cmake -E cmake_link_script CMakeFiles/gtest.dir/link.txt --verbose=1
/usr/bin/ar qc ../../../../lib/libgtest.a CMakeFiles/gtest.dir/src/gtest-all.cc.o
/usr/bin/ranlib ../../../../lib/libgtest.a
make[2]: Leaving directory '/home/max/Desktop/mesa/vpl2/oneVPL-cpu/_build'
[ 47%] Built target gtest
make[1]: Leaving directory '/home/max/Desktop/mesa/vpl2/oneVPL-cpu/_build'
make: *** [Makefile:166: all] Error 2

I'm adding the full output. onevpl build.txt

rupakroyintel commented 1 year ago

@Deathproof76 Thanks for reaching out to us. You can install oneVPL CPU implementation from oneVPL home page as a part of Intel® oneAPI Base Toolkit or standalone. You can also install oneVPL-CPU from source. See Installation from Sources for details. While the oneVPL GPU implementations are fully functional, the CPU implementation is currently for reference only and not intended to be competitive in terms of performance or features.