Bug 11862

Summary: Package QA fails if library is installed in a non-standard location (tries to read the .so link to check if it's an ELF)
Product: [Build System, Metadata & Runtime] OE-Core Reporter: btgoodwin
Component: deploymentAssignee: Yi Zhao <yi.zhao>
Status: RESOLVED OBSOLETE QA Contact:
Severity: normal    
Priority: Medium CC: randy.macleod, yi.zhao
Version: 2.3.2   
Target Milestone: 3.4   
Hardware: x86   
OS: Multiple   
Whiteboard:
OS type for building Yocto: --- Type of Regression: ---
Verified: Documentation change: No (bug/feature does not impact docs)
Attachments:
Description Flags
Error print-out from bitbake none

Description btgoodwin 2017-07-28 18:47:27 UTC
Created attachment 3902 [details]
Error print-out from bitbake

Preconditions/Environment
-------------------------
Configured a Pyro -based environment (poky, etc.) that included a layer with a package that installs all of its libraries, includes, etc. into a non-standard location (a sub-directory of /usr).

Triggering Action/Cause
-----------------------
Build a recipe with libraries installed in a non-standard location.  For example, /usr/some_package/lib.  

Expectation
-----------
The QA check should check if the name is a link before trying to open it since it's possible for it to be a link, simply in a non-standard libdir.

Actual Result
-------------
QA will fail on the package_qa task because it will try to check the link in the packages-split/some_package-dev/usr/some_package/lib.  The exception it throws is because it tries to open the invalid link, and the file system exception isn't caught.

https://pastebin.com/rgf6tRaR

Reproducibility
---------------
Always.

Using INSANE_SKIP_${PN}-dev = "libdir" does bypass the issue for Pyro, however this was unnecessary in Morty and Krogth (likely other earlier versions as well).
Comment 1 Yi Zhao 2018-04-10 23:17:19 UTC
Sent to oe-core: https://patchwork.openembedded.org/patch/148944/
Comment 2 Randy MacLeod 2020-04-16 08:25:27 UTC
Yi, Can you resubmit with a test perhaps.