[mythtv] Problem with 32-bit android version

Peter Bennett pb.mythtv at gmail.com
Sat Oct 8 18:40:42 UTC 2022


On 10/8/22 13:58, Mark Spieth wrote:
>
> On 9 October 2022 2:36:49 am AEDT, Peter Bennett <pb.mythtv at gmail.com> wrote:
>> Hi Mark
>>
>> Using your new android packaging changes, I renamed the packaging directory and cloned it fresh from github to make sure nothing was left over. I also installed the 21.4.7075529 NDK, which the config files call for. I built libs and apk using the profile you set up for firetv-max
>>
>> Installing on a firetv-4k works, but running mythfrontend crashes after the splash screen shows.
>>
> I tested on my firetv max and it worked fine. Which is why I pushed.
> I also installed 64bit on my s20 which I used via Windows connect and cast and tgat worked but could not update the database which I assumed was a backend schema mismatch but not sure. Or its qt 5.15.6
>
>> This is from logcat
>>
>> 10-08 11:11:29.909 18168 18193 I Qt      : qt started
>> 10-08 11:11:29.924 18168 18193 E AndroidRuntime: FATAL EXCEPTION: qtMainLoopThread
>> 10-08 11:11:29.924 18168 18193 E AndroidRuntime: Process: org.mythtv.mythfrontend, PID: 18168
>> 10-08 11:11:29.924 18168 18193 E AndroidRuntime: java.lang.UnsatisfiedLinkError: dlopen failed: cannot locate symbol "iconv_open" referenced by "/data/app/org.mythtv.mythfrontend-1/lib/arm/libexiv2.14.so"...
>>
>> The exact same build using the shield profile runs fine on the shield.
>>
>> Looking at the libs build for libexiv shows this (for both the firetv-max and shield libs):
>>
>> -- Performing Test Iconv_IS_BUILT_IN
>> -- Performing Test Iconv_IS_BUILT_IN - Success
>> -- Found Iconv: /home/peter/Android/Sdk/ndk/21.4.7075529/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/lib/arm-linux-androideabi/libc.a
>> -- ICONV_INCLUDE_DIR :
>> -- ICONV_LIBRARIES : /home/peter/Android/Sdk/ndk/21.4.7075529/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/lib/arm-linux-androideabi/libc.a
>>
>> If iconv is built into libc, then why is it trying to use dlopen to open a library for it?
>>
>> The apk file does include /lib/armeabi-v7a/libiconv.so (And the shield apk also contains it).
>>
>> Even if it does not want to use the built-in iconv, it should still find the libiconv.so.
>>
>> On my linux system the only iconv.so in lib are in /php/20210902 and in perl where it is capitalized as Iconv.so. This indicates that maybe it is built-in these days and we can dispense with building iconv in the libs. Would this solve the problem?
>>
>> Also there is in the exiv2 source a cmake file called FindIconv.cmake. That is what comes up with the message Iconv_IS_BUILT_IN. Perhaps some change is needed.
>>
>> Do you have any ideas?
> There may be some leak of the host env into the isolated build env. Perhaps in pkgconfig. May need a pkconfig path erase but I think that is already done.
>
> I think I should add config dump to the console on loading so you can tell in the log file though to make life easier. Config overrides anything in buildrc and setenv anyway.
>
> My 32 bit build log does not show any BUILTIN lines for either libs or myth parts.
>
> Ill have to think about this a bit more.
>
> Mark
>
Hi Mark

Thanks. I have uploaded my firetv-max build so you can try it on your 
fire stick, to determine if the problem lies in my build or in my fire 
stick.

https://dl.orangedox.com/pCBmBm   in "Trial Versions"

Peter




More information about the mythtv-dev mailing list