]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core-contrib.git/commit
package_do_shlibs: Look for provider in the path thats in shlib_provider dictionary
authorKhem Raj <raj.khem@gmail.com>
Thu, 9 Oct 2014 05:33:05 +0000 (22:33 -0700)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Fri, 10 Oct 2014 21:40:37 +0000 (22:40 +0100)
commitbf8472274ac1e9a35f8cbc82357da6c95b396759
treedbd4fc7743b5c7f8543c0c3ecb577a3bf065853f
parent5d0aac8d85d927667c4c26cab53132ff4fa465ff
package_do_shlibs: Look for provider in the path thats in shlib_provider dictionary

shlib2 code puts the information about path where a provider
will be found. e.g.

{'/usr/lib/llvm3.3': ('libllvm3.3-llvm-3.3', '3.3')}

This is obtained from new shlib2 pkgdata from

llvm3.3/3.3-r0/pkgdata/shlibs2/libllvm3.3-llvm-3.3.list

However when we search for NEEDED libraries we ignore the
key above which is the path where the provider library is installed
and instead just seach in libdir and base_libdir and hence
libraries which are not in above standard search paths gets
ignored even if they appear in DT_NEEDED sections

and a note is emitted

NOTE: Couldn't find shared library provider for libLLVM-3.3.so, used by
files: ....

IMO this note should actually become an error since if we do
not have all DT_NEEDED libraries in image the system is dysfunctional.

This patch extracts this libpath from key and add it to seach paths
when looing for a provider of a shared library

[YOCTO #6798]

Change-Id: Ie5f08632e37ba8d3439c8aaae33bc68b8996792f
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/classes/package.bbclass