[mythtv] Building for Android, mariadb issue

David Engel david at istwok.net
Fri Aug 3 14:53:35 UTC 2018


On Fri, Aug 03, 2018 at 09:44:41AM -0500, David Engel wrote:
> On Fri, Aug 03, 2018 at 12:21:01PM +1000, Mark Spieth wrote:
> > 
> > On 03/08/18 10:43, John P Poet wrote:
> > > Following:
> > > 
> > > *https://github.com/MythTV/packaging/tree/master/android*
> > > 
> > > It says:
> > > 
> > > The script downloads source to build, but fails on mariadb. To avoid
> > > this problem create directory workdir/packaging/android/tarballs and
> > > dowload mariadb-connector-c-2.1.0-src.tar.gz from
> > > https://downloads.mariadb.org/connector-c/2.1.0/ into that directory.
> > > 
> > > I have done that, but mariadb still fails to build for me:
> > > 
> > > /home/john/android/android-ndk/toolchains/aarch64-linux-android-4.9/prebuilt/linux-x86_64/bin/aarch64-linux-android-gcc
> > > -fPIC -fexceptions -Wno-psabi
> > > --sysroot=/home/john/android/android-ndk/platforms/android-21/arch-arm64
> > > -funwind-tables -fsigned-char -no-canonical-prefixes -fdata-sections
> > > -ffunction-sections -Wa,--noexecstack -Dushort=uint16_t -Wunused
> > > -Wno-uninitialized -fomit-frame-pointer -fstrict-aliasing
> > > -funswitch-loops -finline-limit=300 -O3 -DNDEBUG -DDBUG_OFF 
> > > -Wl,--no-undefined -Wl,-allow-shlib-undefined -Wl,--gc-sections
> > > -Wl,-z,noexecstack -Wl,-z,relro -Wl,-z,now  -shared
> > > -Wl,-soname,libmariadb.so -o libmariadb.so
> > > CMakeFiles/mariadb_obj.dir/array.c.o
> > > CMakeFiles/mariadb_obj.dir/ma_dyncol.c.o
> > > CMakeFiles/mariadb_obj.dir/bchange.c.o
> > > CMakeFiles/mariadb_obj.dir/bmove.c.o
> > > CMakeFiles/mariadb_obj.dir/bmove_upp.c.o
> > > CMakeFiles/mariadb_obj.dir/my_charset.c.o
> > > CMakeFiles/mariadb_obj.dir/hash.c.o
> > > CMakeFiles/mariadb_obj.dir/violite.c.o
> > > CMakeFiles/mariadb_obj.dir/net.c.o
> > > CMakeFiles/mariadb_obj.dir/charset.c.o
> > > CMakeFiles/mariadb_obj.dir/ma_time.c.o
> > > CMakeFiles/mariadb_obj.dir/dbug.c.o
> > > CMakeFiles/mariadb_obj.dir/default.c.o
> > > CMakeFiles/mariadb_obj.dir/errmsg.c.o
> > > CMakeFiles/mariadb_obj.dir/my_vsnprintf.c.o
> > > CMakeFiles/mariadb_obj.dir/errors.c.o
> > > CMakeFiles/mariadb_obj.dir/getopt1.c.o
> > > CMakeFiles/mariadb_obj.dir/getopt.c.o
> > > CMakeFiles/mariadb_obj.dir/int2str.c.o
> > > CMakeFiles/mariadb_obj.dir/is_prefix.c.o
> > > CMakeFiles/mariadb_obj.dir/libmariadb.c.o
> > > CMakeFiles/mariadb_obj.dir/list.c.o CMakeFiles/mariadb_obj.dir/llstr.c.o
> > > CMakeFiles/mariadb_obj.dir/longlong2str.c.o
> > > CMakeFiles/mariadb_obj.dir/mf_dirname.c.o
> > > CMakeFiles/mariadb_obj.dir/mf_fn_ext.c.o
> > > CMakeFiles/mariadb_obj.dir/mf_format.c.o
> > > CMakeFiles/mariadb_obj.dir/mf_loadpath.c.o
> > > CMakeFiles/mariadb_obj.dir/mf_pack.c.o
> > > CMakeFiles/mariadb_obj.dir/mf_path.c.o
> > > CMakeFiles/mariadb_obj.dir/mf_unixpath.c.o
> > > CMakeFiles/mariadb_obj.dir/mf_wcomp.c.o
> > > CMakeFiles/mariadb_obj.dir/mulalloc.c.o
> > > CMakeFiles/mariadb_obj.dir/my_alloc.c.o
> > > CMakeFiles/mariadb_obj.dir/my_compress.c.o
> > > CMakeFiles/mariadb_obj.dir/my_context.c.o
> > > CMakeFiles/mariadb_obj.dir/my_div.c.o
> > > CMakeFiles/mariadb_obj.dir/my_error.c.o
> > > CMakeFiles/mariadb_obj.dir/my_fopen.c.o
> > > CMakeFiles/mariadb_obj.dir/my_fstream.c.o
> > > CMakeFiles/mariadb_obj.dir/my_getwd.c.o
> > > CMakeFiles/mariadb_obj.dir/my_init.c.o
> > > CMakeFiles/mariadb_obj.dir/my_lib.c.o
> > > CMakeFiles/mariadb_obj.dir/my_malloc.c.o
> > > CMakeFiles/mariadb_obj.dir/my_messnc.c.o
> > > CMakeFiles/mariadb_obj.dir/my_net.c.o
> > > CMakeFiles/mariadb_obj.dir/my_once.c.o
> > > CMakeFiles/mariadb_obj.dir/my_open.c.o
> > > CMakeFiles/mariadb_obj.dir/my_port.c.o
> > > CMakeFiles/mariadb_obj.dir/my_pthread.c.o
> > > CMakeFiles/mariadb_obj.dir/my_read.c.o
> > > CMakeFiles/mariadb_obj.dir/my_realloc.c.o
> > > CMakeFiles/mariadb_obj.dir/my_seek.c.o
> > > CMakeFiles/mariadb_obj.dir/my_static.c.o
> > > CMakeFiles/mariadb_obj.dir/my_symlink.c.o
> > > CMakeFiles/mariadb_obj.dir/my_thr_init.c.o
> > > CMakeFiles/mariadb_obj.dir/my_write.c.o
> > > CMakeFiles/mariadb_obj.dir/mysql_async.c.o
> > > CMakeFiles/mariadb_obj.dir/password.c.o
> > > CMakeFiles/mariadb_obj.dir/str2int.c.o
> > > CMakeFiles/mariadb_obj.dir/strcend.c.o
> > > CMakeFiles/mariadb_obj.dir/strcont.c.o
> > > CMakeFiles/mariadb_obj.dir/strend.c.o
> > > CMakeFiles/mariadb_obj.dir/strfill.c.o
> > > CMakeFiles/mariadb_obj.dir/string.c.o
> > > CMakeFiles/mariadb_obj.dir/strinstr.c.o
> > > CMakeFiles/mariadb_obj.dir/strmake.c.o
> > > CMakeFiles/mariadb_obj.dir/strmov.c.o
> > > CMakeFiles/mariadb_obj.dir/strnmov.c.o
> > > CMakeFiles/mariadb_obj.dir/strtoll.c.o
> > > CMakeFiles/mariadb_obj.dir/strtoull.c.o
> > > CMakeFiles/mariadb_obj.dir/strxmov.c.o
> > > CMakeFiles/mariadb_obj.dir/strxnmov.c.o
> > > CMakeFiles/mariadb_obj.dir/thr_mutex.c.o
> > > CMakeFiles/mariadb_obj.dir/typelib.c.o
> > > CMakeFiles/mariadb_obj.dir/sha1.c.o
> > > CMakeFiles/mariadb_obj.dir/my_stmt.c.o
> > > CMakeFiles/mariadb_obj.dir/my_loaddata.c.o
> > > CMakeFiles/mariadb_obj.dir/my_stmt_codec.c.o
> > > CMakeFiles/mariadb_obj.dir/client_plugin.c.o
> > > CMakeFiles/mariadb_obj.dir/my_auth.c.o
> > > CMakeFiles/mariadb_obj.dir/ma_secure.c.o
> > > -L/home/john/workdir/packaging/android/mythinstall64/libs/arm64-v8a -lz
> > > /home/john/workdir/packaging/android/mythinstall64/lib/libiconv.a -ldl
> > > -lm "/home/john/android/android-ndk/sources/cxx-stl/gnu-libstdc++/4.9/libs/arm64-v8a/libsupc++.a"
> > > /home/john/workdir/packaging/android/mythinstall64/lib/libiconv.a(localcharset.o):
> > > In function `locale_charset':
> > > localcharset.c:(.text+0x3e0): undefined reference to `nl_langinfo'
> > > collect2: error: ld returned 1 exit status
> > > make[2]: *** [libmariadb/CMakeFiles/libmariadb.dir/build.make:235:
> > > libmariadb/libmariadb.so] Error 1
> > > make[2]: Leaving directory '/home/john/workdir/packaging/android/libs64/mariadb-connector-c-2.1.0-src/build'
> > > make[1]: *** [CMakeFiles/Makefile2:243:
> > > libmariadb/CMakeFiles/libmariadb.dir/all] Error 2
> > > make[1]: Leaving directory '/home/john/workdir/packaging/android/libs64/mariadb-connector-c-2.1.0-src/build'
> > > 
> > > 
> > > am I missing a step?
> > > 
> > > 
> > which ndk?
> > I have validated 13b
> > 14 onwards has missing headers.
> > The other thing to check is your default environment. printenv.
> > Not sure otherwise.
> 
> I vaguely remember some nl_langinfo problem, but not the solution.
> I'm searching my old emails.  I'll reply if find something.

My search didn't yield anything.  As Mark said, make sure you're using
the currently, preferred NDK.  Also, make sure you run "./makelibs.sh
all" instead of simply "./makelibs.sh".  I know that tripped me up at
first.

David
-- 
David Engel
david at istwok.net


More information about the mythtv-dev mailing list