[mythtv] Building for Android, mariadb issue
David Engel
david at istwok.net
Sun Aug 5 22:44:01 UTC 2018
On Sun, Aug 05, 2018 at 02:49:41PM -0600, John P Poet wrote:
> > > > 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.
> >
>
> I downloaded and linked r13b. That seems to mess up the toolchain. Even
> after re-running maketoolchain.sh, I got:
> * /home/john/android/android-ndk/my-android-toolchain64/bin/aarch64-linux-android-gcc:
> Command not found*
I'll try to do a full install and build from scratch, but it won't be
until at least tomorrow.
> So, I deceded to start from with a brand new VM. Since the instructions
> say to use r15c, I took one more stab at it, this time replacing the ndk
> that android-studio downloads. android-studio installs ndk 17.1.482850 in
> ~/Android/Sdk/ndk-bundle. I moved that aside. and put android-ndk-r15c in
> its place:
The NDKs that we have been using are definitely the ones from zip
files that we downloaded and install manually. Specifically the
following.
771bb5121a78122620723af92fbfbb18 android-ndk-r13b-linux-x86_64.zip
9a52de7648f86468ea3ca0f6f08e6c57 android-ndk-r15c-linux-x86_64.zip
It is the SDK that is installed by Android Studio.
> *$ ls -al ~/Android/Sdk*
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
> *total 60drwxrwxr-x. 14 john john 4096 Aug 3 20:41 .drwxrwxr-x. 3 john
> john 4096 Aug 3 20:29 ..drwxr-xr-x. 15 john john 4096 Aug 3 20:44
> android-ndk-r15cdrwxrwxr-x. 3 john john 4096 Aug 3 20:33
> build-toolsdrwxrwxr-x. 3 john john 4096 Aug 3 20:35 cmakedrwxrwxr-x. 7
> john john 4096 Aug 3 20:32 emulatordrwxrwxr-x. 4 john john 4096 Aug 3
> 20:32 extras-rw-rw-r--. 1 john john 16 Aug 3 20:43
> .knownPackagesdrwxrwxr-x. 2 john john 4096 Aug 3 20:35
> licenseslrwxrwxrwx. 1 john john 16 Aug 3 20:41 ndk-bundle ->
> android-ndk-r15cdrwxrwxr-x. 13 john john 4096 Aug 3 20:38
> ndk-bundle-bakdrwxrwxr-x. 3 john john 4096 Aug 3 20:31
> patcherdrwxrwxr-x. 5 john john 4096 Aug 3 20:35 platformsdrwxrwxr-x. 5
> john john 4096 Aug 3 20:29 platform-toolsdrwxrwxr-x. 4 john john 4096
> Aug 3 20:35 sourcesdrwxrwxr-x. 6 john john 4096 Aug 3 20:31 tools*
>
> The instructions also expect the android-sdk to be in ~/android, so I setup
> a soft link from the default location of ~/Android/Sdk to
> ~/android/android-sdk-linux. I end up with:
I don't remember how my SDK got to ~/android/android-sdk-linux. I
think it might have been an option when it was first installed by
Android Studio. However it got there, we are not directly referencing
any ndk-bundle within it. As noted above, we are using the separately
downloaded and installed NDKs.
> *$ ls -al ~/android*
>
>
>
>
> *android-ndk -> android-sdk-linux/ndk-bundleandroid-sdk-linux ->
> ../Android/Sdkandroid-studiomaketoolchain.shsetenv.sh*
>
> When I go to build, I get lots of warnings:
> *BFD: libncurses.so.5: cannot open shared object file: No such file or
> directory*
> but that does not seem to affect the build.
I ran into this after apt decided I no longer needed the old, ncurses
libraries. Reinstalling the old libraries solved that for me.
David
> It still fails on mariadb, but this time the error is different:
> /home/john/workdir/packaging/android/libs64/mariadb-connector-c-2.1.0-src/libmariadb/my_charset.c:55:19:
> fatal error: iconv.h: No such file or directory
>
> So, I finally relented and replaced r15c with r13b. Like with r15c, I
> installed into ~/Android/Sdk and adjusted the softlinks. After running
> maketoolchain.sh I tried to build the libs, and once again got:
> */home/john/android/android-ndk/my-android-toolchain64/bin/aarch64-linux-android-gcc:
> Command not found*
>
> So, from scratch again...
>
> This time, I moved ~/Android/Sdk/ndk-bundle out of the way, and replaced it
> with android-ndk-r13b. Then I soft linked that to ~/android/android-ndk .
> Once again, I have ~/Android/Sdk soft linked to
> ~/android/android-sdk-linux. And... it still fails to build:
>
>
>
>
> *make[1]: Entering directory
> '/home/john/workdir/packaging/android/libs64/openssl-1.0.2l/crypto'/usr/bin/perl
> ../util/mkbuildinf.pl <http://mkbuildinf.pl>
> "/home/john/android/android-ndk/my-android-toolchain64/bin/aarch64-linux-android-gcc
> -I. -I.. -I../include -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN
> -DHAVE_DLFCN_H -D__ANDROID_API__=21 -mandroid -I/include -B/lib -O3
> -fomit-frame-pointer -Wall" "android"
> >buildinf.h/home/john/android/android-ndk/my-android-toolchain64/bin/aarch64-linux-android-gcc
> -I. -I.. -I../include -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN
> -DHAVE_DLFCN_H -D__ANDROID_API__=21 -mandroid -I/include -B/lib -O3
> -fomit-frame-pointer -Wall -c -o cryptlib.o cryptlib.cmake[1]:
> /home/john/android/android-ndk/my-android-toolchain64/bin/aarch64-linux-android-gcc:
> Command not found*
>
> With r13b, I seem to always end up with a path issue. It will build some
> of the libs, but eventually fails because it cannot
> findaarch64-linux-android-gcc. Honestly, it makes it further with r15c.
>
> I am obviously making bad guesses on what to do regarding difference with
> the latest package of android-studio, compared to what the instructions
> expect. After hacking on this for over four hours, I am fried.
>
> John
> _______________________________________________
> mythtv-dev mailing list
> mythtv-dev at mythtv.org
> http://lists.mythtv.org/mailman/listinfo/mythtv-dev
> http://wiki.mythtv.org/Mailing_List_etiquette
> MythTV Forums: https://forum.mythtv.org
--
David Engel
david at istwok.net
More information about the mythtv-dev
mailing list