Yocto - Files/directories were installed but not shipped in any package

I'm using Yocto to install clBLAS library () using the recipe

But I'm getting the below warning everytime & .so file is not present in the built image.

WARNING: QA Issue: clblas: Files/directories were installed but not shipped in any package: /usr/lib /usr/lib/libclBLAS.so.2.12.0 /usr/lib/libclBLAS.so.2 /usr/lib/libclBLAS.so /usr/lib/.debug /usr/lib/pkgconfig /usr/lib/cmake /usr/lib/.debug/libclBLAS.so.2.12.0 /usr/lib/pkgconfig/clBLAS.pc /usr/lib/cmake/clBLAS /usr/lib/cmake/clBLAS/clBLASTargets-debug.cmake /usr/lib/cmake/clBLAS/clBLASConfigVersion.cmake /usr/lib/cmake/clBLAS/clBLASTargets.cmake /usr/lib/cmake/clBLAS/clBLASConfig.cmake
Please set FILES such that these items are packaged. Alternatively if they are unneeded, avoid installing them or delete them within do_install.
clblas: 14 installed and not shipped files. [installed-vs-shipped]

How to overcome this warning & make the .so file present in the target's /usr/lib folder?

3 Answers

Add below lines to your clblas_git.bb

 FILES_${PN} += "${libdir}/*" FILES_${PN}-dev = "${libdir}/* ${includedir}"

For good explanation you will get it here

3

If you are using new version of yocto this will help:

FILES:${PN} ="name of the dirs is not shipping";

In old versions it is FILES_${PN}.

1

The problem is that multilib is not considered correctly during build, looking at cmake files in clBLAS, its using CMake variable for constructing multilib path SUFFIX_LIB and yocto recipe is setting it to be empty here however its not encoding the yocto logic for multilib paths. A potential fix would be in recipe as below

--- clblas_git.bb.org 2019-12-07 12:41:56.784649031 -0800
+++ clblas_git.bb 2019-12-07 12:42:25.317982206 -0800
@@ -16,7 +16,7 @@ S = "${WORKDIR}/git/src"
inherit cmake pythonnative
-EXTRA_OECMAKE += "-DSUFFIX_LIB= -DUSE_SYSTEM_GTEST=ON -DBUILD_TEST=OFF -DPREBUILT_CLT_PATH=${WORKDIR}/clt"
+EXTRA_OECMAKE += "-DSUFFIX_LIB=${@d.getVar('baselib', True).replace('lib', '')} -DUSE_SYSTEM_GTEST=ON -DBUILD_TEST=OFF -DPREBUILT_CLT_PATH=${WORKDIR}/clt"
DEPENDS += "virtual/opencl"

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

You Might Also Like