Hi, Max: Thanks for the review, I think you are absolutely correct, please ignore my patch.
//Ming Liu Max Krummenacher <[email protected]> 於 2019年10月2日 週三 上午9:51寫道: > Hi Ming > > While this fixes the conflict I believe (or hope) that > imx-gpu-viv/libvulkan_VSI provides the vulkan ICD (installable client > driver) for the Vivante GPU while libvulkan from vulkan_loader provides the > vulkan_loader. > > So we likely need both shared objects to use vulkan. > > I guess the proper fix is to change the soname to something different, > preferably in the upstream binary, until then by patching the shared > object. I sent a pull request on github. > > https://github.com/Freescale/meta-freescale/pull/178 > > Max > > Am Di., 1. Okt. 2019 um 22:30 Uhr schrieb <[email protected]>: > >> From: Ming Liu <[email protected]> >> >> Installing the vulkan driver in ${D}${libdir}/vulkan subdirectory is >> not a proper fix for the conflict with vulkan-loader. The root cause >> of this conflict is that both our libvulkan and vulkan-loader's >> libvulkan have a same soname libvulkan.so.1, we should set PRIVATE_LIBS >> in this case to fix the conflict. Or else, the soname would still be >> detected during package_do_shlibs, and hence will lead to other >> dependency problems for the recipes that depending on vulkan-loader. >> >> For instance, this patch fixes a following error: >> | ERROR: gstreamer1.0-plugins-bad-1.14.imx-r0 do_package_qa: >> | QA Issue: /usr/lib/gstreamer-1.0/libgstvulkan.so contained in package >> gstreamer1.0-plugins-bad-vulkan requires libvulkan.so.1()(64bit), >> | but no providers found in RDEPENDS_gstreamer1.0-plugins-bad-vulkan? >> [file-rdeps] >> | ERROR: gstreamer1.0-plugins-bad-1.14.imx-r0 do_package_qa: QA run found >> fatal errors. Please consider fixing them. >> >> Signed-off-by: Ming Liu <[email protected]> >> --- >> recipes-graphics/imx-gpu-viv/imx-gpu-viv-6.inc | 13 ++++--------- >> 1 file changed, 4 insertions(+), 9 deletions(-) >> >> diff --git a/recipes-graphics/imx-gpu-viv/imx-gpu-viv-6.inc >> b/recipes-graphics/imx-gpu-viv/imx-gpu-viv-6.inc >> index ef10c96..e75ada0 100644 >> --- a/recipes-graphics/imx-gpu-viv/imx-gpu-viv-6.inc >> +++ b/recipes-graphics/imx-gpu-viv/imx-gpu-viv-6.inc >> @@ -233,12 +233,7 @@ do_install () { >> ln -sf libGLESv2.so.2.0.0 ${D}${libdir}/libGLESv2.so >> >> if [ "${IS_MX8}" = "1" ]; then >> - # Install the vulkan driver in a sub-folder. When installed in >> the same >> - # folder as the vulkan loader layer library, an incorrect >> linkage is >> - # created from libvulkan.so.1 to our library instead of the >> loader >> - # layer library. >> - install -d ${D}${libdir}/vulkan >> - mv ${D}${libdir}/libvulkan-${backend}.so >> ${D}${libdir}/vulkan/libvulkan_VSI.so >> + mv ${D}${libdir}/libvulkan-${backend}.so >> ${D}${libdir}/libvulkan_VSI${SOLIBS} >> fi >> for header in ${GLES3_HEADER_REMOVALS}; do >> rm -f ${D}${includedir}/GLES3/${header} >> @@ -307,9 +302,9 @@ FILES_libgbm-imx_mx8 = >> "${libdir}/libgbm${SOLIBS} ${libdir}/gbm_viv${S >> FILES_libgbm-imx-dev_mx8 = "${libdir}/pkgconfig/gbm.pc >> ${includedir}/gbm.h ${libdir}/libgbm${SOLIBSDEV}" >> RDEPENDS_libgbm-imx_append_mx8 = " libdrm" >> >> -FILES_libvulkan-imx = "${libdir}/vulkan/libvulkan_VSI${SOLIBS} >> ${libdir}/libSPIRV_viv${SOLIBS}" >> -FILES_libvulkan-imx-dev = "${includedir}/vulkan >> ${libdir}/vulkan/libvulkan_VSI${SOLIBSDEV}" >> -INSANE_SKIP_libvulkan-imx += "dev-deps dev-so" >> +FILES_libvulkan-imx = "${libdir}/libvulkan_VSI${SOLIBS} >> ${libdir}/libSPIRV_viv${SOLIBS}" >> +FILES_libvulkan-imx-dev = "${includedir}/vulkan" >> +PRIVATE_LIBS_libvulkan-imx = "libvulkan.so.1" >> >> FILES_libopenvx-imx = "${libdir}/libOpenVX${SOLIBS} >> ${libdir}/libOpenVXC${SOLIBS} ${libdir}/libOpenVXU${SOLIBS}" >> FILES_libopenvx-imx-dev = "${includedir}/VX >> ${libdir}/libopenVX${SOLIBSDEV}" >> -- >> 2.7.4 >> >> -- >> _______________________________________________ >> meta-freescale mailing list >> [email protected] >> https://lists.yoctoproject.org/listinfo/meta-freescale >> >
-- _______________________________________________ meta-freescale mailing list [email protected] https://lists.yoctoproject.org/listinfo/meta-freescale
