[mythtv] Problem with 32-bit android version
mark at digivation.com.au
Sat Oct 8 23:33:02 UTC 2022
On 9/10/2022 5:40 am, Peter Bennett wrote:
> 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:
>>> 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
>>> 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:
>>> -- ICONV_INCLUDE_DIR :
>>> -- ICONV_LIBRARIES :
>>> 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.
> 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
> https://dl.orangedox.com/pCBmBm in "Trial Versions"
I tested the above and it works fine. DB access works too (can save
bookmarks and last played pos).
This surprised me. I expected it to fail. firetv-max must be different
enough from the firetv4k.
It should build the same way as always for you so I dont understand what
is different now.
exiv2 is still the git version as before.
Try this one
Try adding this near the top of makelibs.sh after INSTALLROOT is defined
of course. say line 319 or around there.
That should eliminate any PKGCONFIG leakage from your env (I hope)
also check your /usr/lib/pkgconfig dir to see if iconv exists there. and
any other place pkgconfig might find things.
More information about the mythtv-dev