[mythtv] Android build
John P Poet
jppoet at gmail.com
Wed Apr 28 03:18:14 UTC 2021
On Tue, Apr 27, 2021 at 8:56 PM David Hampton via mythtv-dev <
mythtv-dev at mythtv.org> wrote:
> On Tue, 2021-04-27 at 21:10 -0500, David Engel wrote:
> > On Wed, Apr 28, 2021 at 11:18:16AM +1000, Mark Spieth wrote:
> > > On 28/04/2021 10:54 am, John P Poet wrote:
> > > >
> > > >
> > > > On Tue, Apr 27, 2021 at 5:40 PM Mark Spieth <
> > > > mark at digivation.com.au
> > > > <mailto:mark at digivation.com.au>> wrote:
> > > >
> > > > On 28/04/2021 6:52 am, John P Poet wrote:
> > > > > Are the instructions @
> > > > >
> > > > > https://github.com/MythTV/packaging/blob/master/android/Readme.md
> > > > > <
> > > > > https://github.com/MythTV/packaging/blob/master/android/Readme.md
> > > > > >
> > > > > up to date? I am trying to build latest master on a Fedora
> > > > > 34
> > > > > machine.
> > > > >
> > > > > First error I got was that
> > > > > Android/android-ndk/toolchains/llvm/prebuilt/linux-
> > > > > x86_64/bin/aarch64-linux-android-clang
> > > > > did not exist. To fix that I soft linked the version
> > > > > specific file:
> > > > > $ ln -s aarch64-linux-android29-clang aarch64-linux-
> > > > > android-clang
> > > > >
> > > > > Then `make SDK=29 MODE=arm64 libs` produces:
> > > >
> > > > I have not used the command line variables in a long time.
> > > > SDK=29
> > > > should not be necessary.
> > > >
> > > > In fact the SDK=XX mode may be broken. Not sure.
> > > >
> > > > Not sure about the override. shouldnt need to use the SDK=29
> > > > it
> > > > should be the default. see setenv.sh.
> > > >
> > > > The NDK is still on 28. The layout changed and caused
> > > > problems
> > > > when I tried it.
> > > >
> > > > I have recently been trying QT5.15.2 but had some problems
> > > > but
> > > > there are a couple of fixes to the setenv script for
> > > > detecting
> > > > tool paths which I will attach for you to test. This is still
> > > > on
> > > > QT 5.14.1 but is sort of ready to go for qt 5.15.2 when I
> > > > figure
> > > > out the issue (some API change I think).
> > > >
> > > > Then all I do is run 'make libs' and then 'make' or 'make
> > > > distclean everything'
> > > >
> > > > my buildrc will show you which NDK's Ive been trying. use
> > > > android
> > > > studio to install ndks with the correct version.
> > > >
> > > > Sorry Ive been lazy and havent commited some of these updates
> > > > yet.
> > > > Not happy yet with them and I dont want to break things.
> > > >
> > > > See how you go. But it does work for me.
> > > >
> > > > Mark
> > > >
> > > >
> > > > Hi Mark,
> > > >
> > > > That got me a lot further. Unfortunately it is now failing trying
> > > > to
> > > > build Qt 5.14.1 using build tools 29.0.3. Should I be using a
> > > > different
> > > > version?
> > > >
> > > > Preparing build tree...
> > > > Creating qmake...
> > > > .....................................In file included from
> > > > /home/john/src/Myth/Android/packaging/android/libs64/qt-
> > > > everywhere-src-5.14.1/qtbase/include/QtCore/qfloat16.h:1,
> > > > from
> > > > /home/john/src/Myth/Android/packaging/android/libs64/qt-
> > > > everywhere-src-
> > > > 5.14.1/qtbase/include/QtCore/../../src/corelib/global/qendian.h:4
> > > > 4,
> > > > from
> > > > /home/john/src/Myth/Android/packaging/android/libs64/qt-
> > > > everywhere-src-5.14.1/qtbase/include/QtCore/qendian.h:1,
> > > > from
> > > > /home/john/src/Myth/Android/packaging/android/libs64/qt-
> > > > everywhere-src-5.14.1/qtbase/src/corelib/codecs/qutfcodec.cpp:43:
> > > > /home/john/src/Myth/Android/packaging/android/libs64/qt-
> > > > everywhere-src-
> > > > 5.14.1/qtbase/include/QtCore/../../src/corelib/global/qfloat16.h:
> > > > 295:7:
> > > > error: ‘numeric_limits’ is not a class template
> > > > 295 | class numeric_limits<QT_PREPEND_NAMESPACE(qfloat16)> :
> > > > public
> > > > numeric_limits<float>
> > > > | ^~~~~~~~~~~~~~
> > > > /home/john/src/Myth/Android/packaging/android/libs64/qt-
> > > > everywhere-src-
> > > > 5.14.1/qtbase/include/QtCore/../../src/corelib/global/qfloat16.h:
> > > > 295:77:
> > > > error: expected template-name before ‘<’ token
> > > > 295 | class numeric_limits<QT_PREPEND_NAMESPACE(qfloat16)> :
> > > > public
> > > > numeric_limits<float>
> > > > | ^
> > > > /home/john/src/Myth/Android/packaging/android/libs64/qt-
> > > > everywhere-src-
> > > > 5.14.1/qtbase/include/QtCore/../../src/corelib/global/qfloat16.h:
> > > > 295:77:
> > > > error: expected ‘{’ before ‘<’ token
> > > > ...
> > > >
> > > > Thanks,
> > > >
> > > > John
> > >
> > > This sounds like an unsupported ndk version, compiler too new. I
> > > had trouble
> > > with ndk 22.1.7171670 with similar results. The c++ headers are a
> > > bit
> > > different I think but havent chased it down.
> > >
> > > install one of the 21 ones. ~/Android/Sdk/ndk is where they live
> > > and you can
> > > see what is installed.
> > >
> > > I have 21.0.6113669 and 21.4.7075529 installed. both work for me.
> >
> > I haven't rebuilt my libs in ages. In that past, that part has
> > tended
> > to be fragile and best left alone for Mark to fix! :) It looks like I
> > last did that a little over a year ago with ndk 21.0.6113669.
> >
> > David
>
> I'm compiling regularly with ndk 21.0.6113669.
>
> David H
>
On Fedora? It looks like I am having to add
include <limits>
to various Qt headers. I am still figuring out all the headers where that
is necessary.
Thanks,
John
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mythtv.org/pipermail/mythtv-dev/attachments/20210427/18694dd1/attachment.htm>
More information about the mythtv-dev
mailing list