Mariadb will provide zlib.* if it can't find zlib binaries and headers
from sysroots path. We have set it to use external zlib.* firstly with
these definitions/configs in inc file:
+ DEPENDS = "ncurses zlib"
+ --with-zlib-dir=${STAGING_EXECPREFIXDIR}
But native bb file overrides the dependencies with:
+ DEPENDS = "ncurses-native"
If mariadb-naitve was built before zlib-native, its own zlib will be
built and provide zlib.la which will brake other packages link to real
zlib with errors like:
* .../usr/lib/libz.a(gzclose.o): relocation R_X86_64_32 against \
`a local symbol' can not be used when making a shared object; \
recompile with -fPIC
* .../usr/lib/libz.a: could not read symbols: Bad value
By removing the DEPENDS = "ncurses-native" from the native bb file,
mariadb-native will still have the DEPENDS (ncurses zlib) from the
inc file, and since the recipe is mariadb-native, this is equivalent
to DEPENDS = "ncurses-native zlib-native" due to the map_dependencies()
inner fuction for native_virtclass_handler() in "oe-core/meta/classes/
native.bbclass".
(From meta-openembedded rev:
274147fc56e3f8900547841758930b6aff282069)
Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>