[mythtv] Android build Crashes after Updates to mythtv/external and required system libraries

David Engel david at istwok.net
Mon Aug 6 02:01:48 UTC 2018


On Sun, Aug 05, 2018 at 06:47:59PM -0400, Peter Bennett wrote:
> On 08/05/2018 06:28 PM, Mark Spieth wrote:
> > On 8/6/2018 4:50 AM, Peter Bennett wrote:
> > > 
> > > 
> > > On 08/05/2018 12:12 PM, David Hampton wrote:
> > > > On Sun, 2018-08-05 at 12:00 -0400, David Hampton wrote:
> > > > > On Sun, 2018-08-05 at 11:20 -0400, Peter Bennett wrote:
> > > > > > The android version will no longer compile. It is failing because
> > > > > > it
> > > > > > cannot find samplerate or libbluray. There may be others, I don't
> > > > > > know.
> > > > > > 
> > > > > > The thing with android is, the build cannot use Linux packages that
> > > > > > are
> > > > > > installed by ansible. All of the libraries needed are built in the
> > > > > > packaging code using makelibs.sh. If you have removed some
> > > > > > libraries
> > > > > > from the MythTV source, then we have to add code to makelibs.sh to
> > > > > > download the source and compile it for android. For libbluray maybe
> > > > > > we
> > > > > > can just disable it in the configure step, but samplerate seems to
> > > > > > be
> > > > > > required. I did not get past this point in the compile, there may
> > > > > > be
> > > > > > others that are required.
> > > > > Hi Peter,
> > > > > 
> > > > > I think I forgot to commit my packaging changes that build the
> > > > > additional libraries for android.  I know I had android compiling
> > > > > here
> > > > > before I committed my changes.  I'll get back to you shortly.
> > > > I just committed my changes to the packaging repository.
> > > > 
> > great! Saves me the trouble.
> > > > David
> > > > 
> > > > 
> > > 
> > > I can build libraries, build mythtv and install.
> > > 
> > > Running mythfrontend from android gives the error "Your application
> > > encountered a fatal error and cannot continue. There is no message
> > > in the log that tells me what the problem is.
> > > 
> > > Log: https://pastebin.com/fVUUVa3N
> > 08-05 14:25:29.250 20805 20805 W System.err: Caused by:
> > java.lang.UnsatisfiedLinkError: dlopen failed: library "libbluray.so"
> > not found
> > 
> > This is the last invokation. must be a naming error or check in the apk
> > (unzip -l xxx.apk) that it exists.
> > 
> > add the new so's to the mythfrontend pro file, otherwise they arent
> > installed. name has probably changed (no myth prefix probably).
> > 
> > Ill investigate this sometime during the day at work.
> > 
> > HTH
> > Mark
> > 
> I checked - libbluray, libsamplerate and liblzo are not in the apk.
> libbluray.so and liblzo.so are in the directory
> packaging/android/mythinstall64/lib/.
> libsamplerate.so never got created, but the compile worked so I suspect that
> it was statically linked.

Peter, you can use readelf like this to check which shared libraries
are needed.

~/android/android-ndk/my-android-toolchain64/bin/aarch64-linux-android-readelf --dynamic mythinstall64/lib/libmythfrontend.so

You can also use nm like this to confirm that libsamplerate was
included.

~/android/android-ndk/my-android-toolchain64/bin/aarch64-linux-android-nm mythinstall64/lib/libmythfrontend.so

David
-- 
David Engel
david at istwok.net


More information about the mythtv-dev mailing list