Open wdobbe opened 3 years ago
IMHO the problem seems to be the following lines from https://github.com/meta-qt5/meta-qt5/blob/master/classes/qmake5_base.bbclass#L256
# Replace resolved lib path with the lib name
find ${D} -name "*.cmake" -exec \
sed -i -e 's@/[^;]*/lib\([^;]*\)\.\(so\|a\)@\1@g' {} \;
It replaces the lib references with wrong entries for the Qt5Multimedia_QSGVideoNodeFactory_EGL.cmake
and the Qt5Multimedia_QSGVivanteVideoNodeFactory.cmake
.
You can see that the package's build directory contains correct versions and the image dir contains boggled versions. So teh install step does something to the NodeFactory cmake files The following .bbappend entry works for me, but does not fix the underlying problem.
# The "Replace resolved lib path with the lib name" of qtmake5_base.bbclass
# mangles with some cmake files. The fix in the bbappend does not help with
# anything. Redo the copy from the build dir.
do_install_append () {
if [ -f "${B}/lib/cmake/Qt5Multimedia/Qt5Multimedia_QSGVideoNodeFactory_EGL.cmake" ]; then
install -m 644 ${B}/lib/cmake/Qt5Multimedia/Qt5Multimedia_QSGVideoNodeFactory_EGL.cmake ${D}${libdir}/cmake/Qt5Multimedia/Qt5Multimedia_QSGVideoNodeFactory_EGL.cmake
fi
if [ -f "${B}/lib/cmake/Qt5Multimedia/Qt5Multimedia_QSGVivanteVideoNodeFactory.cmake" ]; then
install -m 644 ${B}/lib/cmake/Qt5Multimedia/Qt5Multimedia_QSGVivanteVideoNodeFactory.cmake ${D}${libdir}/cmake/Qt5Multimedia/Qt5Multimedia_QSGVivanteVideoNodeFactory.cmake
fi
}
The NXP Yocto BSP is currently using the Zeus branches, but for meta-qt5 they recently switched to the master branch.
When I build and install the SDK for the Congatec QMX6 SoC, building an application that uses QtWebEngine via cmake fails with the output below. I tracked this down to a change in the QtQuick cmake config file:
Qt 5.13:
file(GLOB pluginTargets "${CMAKE_CURRENT_LIST_DIR}/Qt5Quick_*Plugin.cmake")
Qt 5.15
Because of that change the file/usr/lib/cmake/Qt5Quick/Qt5Quick_QSGVideoNodeFactory_EGL.cmake is now treated as a plugin.
I could fix it by reverting to the old (strict) plugin detection behaviour with a qtdeclarative_%.bbappend:
I am not sure if we should do that be default or only for NXP i.MX[678] machines.
CMake error output: