Below errors only occurs on Ubuntu 13.10:
$arch-linux-libtool: link: g++ ... -o .libs/mysqltest_embedded \
../../libmysqld/.libs/libmysqld.so -ldl
../../libmysqld/.libs/libmysqld.so: undefined reference to `dlopen'
../../libmysqld/.libs/libmysqld.so: undefined reference to `dlclose'
../../libmysqld/.libs/libmysqld.so: undefined reference to `dlerror'
../../libmysqld/.libs/libmysqld.so: undefined reference to `dlsym'
GCC/ld verion on the host:
gcc (Ubuntu/Linaro 4.8.1-10ubuntu8) 4.8.1
GNU ld (GNU Binutils for Ubuntu) 2.23.52.20130913
This is a strange behavior on Ub13.10, it fails even '-ldl' in the
link command line. This patch will append '-ldl' to dependency_libs
in libmysqld.la.
Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
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".
Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>