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

Ming Liu liu.ming50 at gmail.com
Wed Oct 2 03:05:44 PDT 2019


Hi, Max:

Thanks for the review, I think you are absolutely correct, please ignore my
patch.

//Ming Liu

Max Krummenacher <max.oss.09 at gmail.com> 於 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 <liu.ming50 at gmail.com>:
>
>> 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
>>
>> --
>> _______________________________________________
>> meta-freescale mailing list
>> meta-freescale at yoctoproject.org
>> https://lists.yoctoproject.org/listinfo/meta-freescale
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.yoctoproject.org/pipermail/meta-freescale/attachments/20191002/45c25681/attachment.html>


More information about the meta-freescale mailing list