[mythtv] Problem with 32-bit android version

Mark Spieth mark at digivation.com.au
Wed Oct 12 07:43:46 UTC 2022


On 11/10/2022 12:51 am, Peter Bennett wrote:
>
> On 10/8/22 22:16, Mark Spieth wrote:
>> I had to uninstall too.:)
>>
>> Which ndk, sdk, tools did you use last time.
>> ?
>> Set up a config with all of those settings.
>>
>> Yes very strange
>> _______________________________________________
>
> I set up a new config file firetv-4k, as follows
>
> export ANDROID_BUILD_TOOLS_REVISION=29.0.2
> export ANDROID_NDK=$ANDROID_SDK_ROOT/ndk/21.0.6113669
> export ANDROID_NATIVE_API_LEVEL=21
> export ANDROID_NDK_ROOT=$ANDROID_NDK
> export TARGET_SDK_VERSION=$ANDROID_NATIVE_API_LEVEL
> export ANDROID_API_VERSION=android-$ANDROID_NATIVE_API_LEVEL
> export ANDROID_MIN_SDK_VERSION=21
> export ARM64=0
> export MODE=arm
>
> Doing a make distclean, make libs, make apk gave me an apk that works 
> on the firetv-4k :) !!!
>
> looking at the libs log, this time it did not find iconv built in. In 
> fact it failed to find iconv at all.
>
> Performing Test Iconv_IS_BUILT_IN
> Performing Test Iconv_IS_BUILT_IN - Failed
> Could NOT find Iconv (missing: Iconv_LIBRARY)
>
> It looks like it built exiv2 without iconv support. This is probably 
> not ideal.
>
> Other things report iconv is missing (e.g. flac)
>
> I don't understand what is going on with iconv.
>
> I suppose I should try again with  ndk 21.0.6113669 and api version 25 
> to isolate the problem to either ndk or api version.

Hi Peter

I just had a look at my build and the associated output is


-- Performing Test Iconv_IS_BUILT_IN
-- Performing Test Iconv_IS_BUILT_IN - Success
-- Found Iconv: 
/home/mark/android/Sdk/ndk/21.4.7075529/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/lib/a
rm-linux-androideabi/libc.a
-- ICONV_INCLUDE_DIR :
-- ICONV_LIBRARIES : 
/home/mark/android/Sdk/ndk/21.4.7075529/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/
lib/arm-linux-androideabi/libc.a

I still think its got something to do with pkgconfig.

Run this and see if libiconv is  present

(INSTALLROOT=`pwd`/mythinstall; export PKG_CONFIG_DIR=; export 
PKG_CONFIG_LIBDIR=$INSTALLROOT/lib/pkgconfig:$INSTALLROOT/share/pkgconfig:$QTBASE/lib/pkgconfig; 
export PKG_CONFIG_SYSROOT_DIR=$INSTALLROOT; export 
PKG_CONFIG_SYSROOT_DIR=; pkg-config --list-all; )

try this patch

diff --git a/android/makelibs.sh b/android/makelibs.sh
index f00d8bf67e..6da3421158 100755
--- a/android/makelibs.sh
+++ b/android/makelibs.sh
@@ -954,6 +954,10 @@ cmake -DCMAKE_TOOLCHAIN_FILE=$CMAKE_TOOLCHAIN_FILE \
        -DCMAKE_BUILD_TYPE=Release \
        -DCMAKE_MAKE_PROGRAM=make \
        -DCMAKE_PREFIX_PATH="$INSTALLROOT" \
+      -DCMAKE_INCLUDE_PATH="$INSTALLROOT/include" \
+      -DCMAKE_LIBRARY_PATH="$INSTALLROOT/lib" \
+      -DIconv_INCLUDE_DIR="$INSTALLROOT/include" \
+      -DIconv_LIBRARY="$INSTALLROOT/lib/libiconv.a" \
        -DBUILD_SHARED_LIBS=ON \
        -DEXIV2_ENABLE_XMP=OFF \
        -DEXIV2_BUILD_SAMPLES=OFF \

This will use the built version.

Mark






More information about the mythtv-dev mailing list