[mythtv] [mythtv-users] Android mythfrontend mysql driver problems

Mark Spieth mark at digivation.com.au
Tue Oct 4 22:54:10 UTC 2022

On 5/10/2022 8:28 am, David Engel wrote:
> On Mon, Oct 03, 2022 at 08:41:21PM -0500, David Engel wrote:
>> On Sun, Oct 02, 2022 at 08:12:03PM +1100, Mark Spieth wrote:
>>> On 29/09/2022 11:04 pm, Peter Bennett wrote:
>>>> On 9/29/22 01:05, David Hampton via mythtv-dev wrote:
>>>>> On Wed, 2022-09-28 at 17:34 -0400, Peter Bennett wrote:
>>>>>> On 9/28/22 17:15, David Engel wrote:
>>>>>>> What problem?  I've rebuilt recently with no, new problems.  There
>>>>>>> are some resume from sleep related problems but I've usually
>>>>>>> attributed them to Nvidia Shield updates and not MythTV.
>>>>>> The problems are:
>>>>>> 1. The build required API level 29 but the fire stick only has 25.
>>>>>> This would not affect the Shield. It was caused by the new QT which
>>>>>> disallowed specification of the minimum version in the manifest. I
>>>>>> fixed this locally by going back to api version 21 as we had used
>>>>>> before.
>>>>>> 2. Rebuilding the libs, I was unable to build the mariadb-connector
>>>>>> library due to an error in the cmake file ConnectorName.cmake . It
>>>>>> has an END() command where it should have had ENDIF(). The build
>>>>>> failed with error "CMake Error at cmake/ConnectorName.cmake:30
>>>>>> (ENDMACRO):   Flow control statements are not properly nested.".
>>>>>> Changing it to ENDIF let the build complete that but I don't know
>>>>>> what is really going on with this, whether the downloaded source has
>>>>>> an error or whether some patch was applied incorrectly or if I am
>>>>>> just misunderstanding the whole problem.
>>>>> The downloaded source has an error.
>>>>>> 3. After fixing those, I built and installed mythfrontend (32bit
>>>>>> version) on a fire stick 4K. Starting it up fails with the message
>>>>>> "mythdbcon.cpp:84:MSqlDatabase  FATAL: Unable to load the QT QMYSQL
>>>>>> driver, is it installed?". All I see is the splash screen for a few
>>>>>> seconds then back to the android home page.
>>>>>> It is possible that my fix for the mariadb connector was all wrong
>>>>>> and caused the DB problem. Or maybe we need a different mariadb
>>>>>> connector version. It is using version 2.3.7.
>>> I have pushed an update to the android libs and patches.
>>> There is now a config for various devices, nvshield and firetv-max
>>> No more managing SDK, NDK and arm versions and trying to remember what you
>>> last used. I left these much as before. firetv is at TARGETSDK 28 and build
>>> SDK must be at least 29 use to qt build requirements.
>>> to compile
>>>          make CONFIG=firetv-max distclean everything
>> This is a good step toward something I wanted to do long ago.  At
>> least two things are still missing.
>> * Use a Makefile to only build the libs that need to be rebuilt doing
>>    everything in makelibs.sh.
>> * Allow specifying the libs(install)?(64)?, build(64)? and
>>    mythinstall(64)?  direcotires in the config file.  That would allow
>>    for things like keeping a stable nvshield config while working on an
>>    nvshield-test build.
>> On the bad news front, my build goes into an infinite loop somehow.
>> I'll investigate more tomorrow.
> I'm still not sure why it went into an infinite loop but the core
> probelm is in soundtouch/bootstrap.  It is a /bin/sh script which uses
> "-a" in a if/elif test in two places.  The problem is that /bin/sh on
> Debian is dash and it doesn't support -a.  The fix is either to patch
> bootstrap to use /bin/bash or explicily execute bootstrap with bash in
> makelibs.sh.  Which fix do you prefer?
Fix the script so it uses compatible constructs to dash I think.

The other way is to use "test" instead of the built-in contitional 
functionality. I think "test" supports it all.

Doesnt really matter which way.

is [[ ]] construct treated differently in dash vs bash? That may be an 
issue too as its used in a few places.

Are there any -o operators too?

Ill have to remember that.

I also want to use sdkmanager to auto pull in any missing android build 
components. That should also make it easier to use. Maybe even make it 

Also, adding the customizable dir suffix should be easy. makelibs deps a 
bit harder. But it doesnt take that long.


More information about the mythtv-dev mailing list