[meta-freescale] [PATCH] imx-gpu-viv: fix libvulkan soname issue

liu.ming50 at gmail.com liu.ming50 at gmail.com
Tue Oct 1 13:29:08 PDT 2019


From: Ming Liu <liu.ming50 at gmail.com>

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 <liu.ming50 at gmail.com>
---
 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



More information about the meta-freescale mailing list