Docker build fails
Opened this issue · 3 comments
I was trying to build the docker image. But it failed:
Error at loading of ippIP library
Your application is dynamically linked with Intel(R) IPP libraries version 2021.9.0 (r0x4ff293fb)
No DLL from the list below is found on the system search path:
libippil9.so.10.8 (the most suitable for your CPU)
libippie9.so.10.8 (optional)
libippiy8.so.10.8 (optional)
libippin8.so.10.8 (optional)
libippim7.so.10.8 (optional)
Please provide a path to at least one of them
The command '/bin/sh -c ldd ${PREFIX}/bin/ffmpeg | cut -d ' ' -f 3 | xargs -i cp {} /usr/local/lib/ && cp /opt/intel/oneapi/ipp/latest/lib/intel64/libippik0.so.10.8 /usr/local/lib && cp /opt/intel/oneapi/ipp/latest/lib/intel64/libippsk0.so.10.8 /usr/local/lib && cp /opt/intel/oneapi/ipp/latest/lib/intel64/libippsn0.so.10.8 /usr/local/lib && cp /opt/intel/oneapi/ipp/latest/lib/intel64/libippsl9.so.10.8 /usr/local/lib && cp /opt/intel/oneapi/ipp/latest/lib/intel64/libippse9.so.10.8 /usr/local/lib && cp /opt/intel/oneapi/ipp/latest/lib/intel64/libippsy8.so.10.8 /usr/local/lib && cp /opt/intel/oneapi/ipp/latest/lib/intel64/libippsn8.so.10.8 /usr/local/lib && cp /opt/intel/oneapi/ipp/latest/lib/intel64/libippsm7.so.10.8 /usr/local/lib && cp -r ${PREFIX}/bin/* /usr/local/bin/ && cp -r ${PREFIX}/share/ffmpeg /usr/local/share/ && LD_LIBRARY_PATH=/usr/local/lib ffmpeg -buildconf && cp -r ${PREFIX}/include/libav* ${PREFIX}/include/libpostproc ${PREFIX}/include/libsw* /usr/local/include && mkdir -p /usr/local/lib/pkgconfig && for pc in ${PREFIX}/lib/pkgconfig/libav*.pc ${PREFIX}/lib/pkgconfig/libpostproc.pc ${PREFIX}/lib/pkgconfig/libsw*.pc; do sed "s:${PREFIX}:/usr/local:g" <"$pc" >/usr/local/lib/pkgconfig/"${pc##*/}"; done' returned a non-zero code: 1
If the ipp libraries are not being located, you might try poking through whichever dockerfile you are using ( e.g. Dockerfile.ubuntu22.04 ).
You could try modifying the ./configure param for building ffmpeg to include --extra-ldflags="-L/path-to-ipp's lib folder" or --extra-cflags="-I/path-to-ipp-headers
If you're still encountering issues, it could be helpful to share more about your system environment so that we can more easily reproduce. Things like what is your host OS, docker version, any arguments passed to docker_build.sh, anything else you can think to add.
@arianaa30 @cabirdme OpenVisualCloud namespace owners changed and I hope you are still interested in almost cost free video upscaling based on Xeon processors :-). First of all I would encourage you to check Intel® Tiber™ Broadcast Suite package that is updated at least weekly and it includes major functionalities including RAISR Video Super Resolution Library ffmpeg plugin - it should build the optimized image just by running build script:
Intel® Tiber™ Broadcast Suite package docker build script
Also there will be major update to this repository (RAISR), all the build scripts and Dockerfiles that fixes most of possible issues in build process and address missed best known methods for containers creation.
@arianaa30 To reference your issue, I will use Ubuntu 22.04 Docker as an example. The Dockerfile workflow only copy pre-assumed set of libraries from Intel IPP image in build stage to 'clean' Ubuntu 22.04 base stage, and for some processors this set is of dynamic libs is not enough (probably there is a chain of dependencies somewhere).
Add just libippil9.so.10.8
or each optional also to the copy block:
# current
RUN \
ldd ${PREFIX}/bin/ffmpeg | cut -d ' ' -f 3 | xargs -i cp {} /usr/local/lib/ && \
cp /opt/intel/oneapi/ipp/latest/lib/intel64/libippik0.so.10.8 /usr/local/lib && \
cp /opt/intel/oneapi/ipp/latest/lib/intel64/libippsk0.so.10.8 /usr/local/lib && \
# modified
RUN \
ldd ${PREFIX}/bin/ffmpeg | cut -d ' ' -f 3 | xargs -i cp {} /usr/local/lib/ && \
cp /opt/intel/oneapi/ipp/latest/lib/intel64/libippil9.so.10.8 /usr/local/lib && \
cp /opt/intel/oneapi/ipp/latest/lib/intel64/libippik0.so.10.8 /usr/local/lib && \
cp /opt/intel/oneapi/ipp/latest/lib/intel64/libippsk0.so.10.8 /usr/local/lib && \
and just build the Dockerfile then, It will no longer fail.
Just now I see that I have made the comments using my private account instead of using the corporate one - so in case you @arianaa30 or/and @cabirdme will need assistance please contact me using this one - I check the the above one very rarely