cancel
Showing results for 
Search instead for 
Did you mean: 

OpenVX Libraries Missing in STM32MP25 OpenSTLinux Ext4 Image After do_image

jhkim
Associate II

 

I have observed that on the STM32MP25 series running OpenSTLinux, the GPU OpenVX packages are correctly built and the *.so files are present in the rootfs. However, after the do_image step, these libraries are removed and are missing in the resulting ext4 image. Consequently, if I flash the image, the OpenVX shared libraries are absent.

Here are the debugging details:

  1. The GCNANO_PACKAGECONFIG is correctly set to "egl gbm glesv1 glesv2 vg vx cl vulkan", and this has been verified.

  2. Other libraries are installed correctly. For example, in the rootfs:

 

 
root@stm32mp25:/vendor/lib# ls libCLC.so libGLESv2.so.2.0.0 libSPIRV_viv.so libvulkan_VSI.so.1.3.3 libEGL.so.1.5.0 libGLSLC.so libVSC.so libGAL.so libOpenCL_VSI.so.3.0.0 libgbm.so.1.0.0 libGLESv1_CM.so.1.1.0 libOpenVG.so.1.1.0 libgbm_viv.so
 
  1. During the build, the OpenVX libraries are correctly generated in the rootfs. For example, I confirmed that libArchModelSw.so exists at:

 

 
tmp-glibc/work/stm32mp25x-ostl-linux/st-image-weston/1.0/rootfs/vendor/lib/libArchModelSw.so
 

The installation section in the recipe responsible for OpenVX is as follows:

 

 
"vx") # Install libraries find ${gcnano_libdir}/* -type f -name libOpenVX*.so* -exec install -m 0555 '{}' ${gcnano_libdir_install}/ \; install -m 0555 ${gcnano_libdir}/libArchModelSw.so ${gcnano_libdir_install}/ install -m 0555 ${gcnano_libdir}/libNNArchPerf.so ${gcnano_libdir_install}/ install -m 0555 ${gcnano_libdir}/libovxlib.so ${gcnano_libdir_install}/ install -m 0555 ${gcnano_libdir}/libNNGPUBinary.so ${gcnano_libdir_install}/ install -m 0555 ${gcnano_libdir}/libNNVXCBinary.so ${gcnano_libdir_install}/ install -m 0555 ${gcnano_libdir}/libOvx12VXCBinary.so ${gcnano_libdir_install}/ install -m 0555 ${gcnano_libdir}/libOvxGPUVXCBinary.so ${gcnano_libdir_install}/ # Install includes install -m 0755 -d ${gcnano_incdir_install}/VX install -m 0644 ${gcnano_incdir}/VX/* ${gcnano_incdir_install}/VX # Request CLC needs_clc="true" # To allow building OpenVX kernel program from OpenCL kernel source code, # cl_viv_vx_ext.h must be installed at runtime install -m 0755 -d ${gcnano_incdir_install}/CL install -m 644 ${gcnano_incdir}/CL/cl_viv_vx_ext.h ${gcnano_incdir_install}/CL ;
 

The above confirms that the installation commands are correct and the libraries are present in the rootfs during the build, yet they disappear from the final image.


If you want, I can also draft a possible explanation and solution for why the *.so files disappear in the do_image step and how to ensure they persist in /vendor/lib and /usr/lib. Do you want me to do that?

0 REPLIES 0