Running Subsurface on Lollipop
Dirk Hohndel
dirk at hohndel.org
Fri Sep 27 07:39:28 PDT 2019
> On Sep 27, 2019, at 6:08 AM, Anton Lundin <glance at acc.umu.se> wrote:
>>>
>>> So I didn't find an Android 5.0 devices (and I have so many devices, it's
>>> ridiculous), but I found a Nexus 10 with Android 5.1 and that happily syncs
>>> with the cloud... So yes, I'd love to see an actual log that shows us what's
>>> going wrong.
>>
>> You could always fire up a Android 5.0 in the emulator and test it
>> there. I'm currently flogging my laptop with testing ci-sytem changes
>> for work, but when i get some spare cycles I might test to spin up a
>> emulator and try it in that.
I haven't used the emulators in I don't know how long so I didn't even think about this option. Oops.
> After quite a bit of 4kery i managed to build a
> subsurface-android-x86_64.apk and test it in a android 5.0 (api 21)
> emulator and here's where it crashed:
> E/AndroidRuntime( 3525): FATAL EXCEPTION: qtMainLoopThread
> E/AndroidRuntime( 3525): Process: org.subsurfacedivelog.mobile, PID: 3525
> E/AndroidRuntime( 3525): java.lang.UnsatisfiedLinkError: dlopen failed: cannot locate symbol "BIO_get_data" referenced by "/data/app/org.subsurfacedivelog.mobile-1/lib/x86_64/libssl.so"...
That's so strange. The way we build the libraries is designed to run on API 21 on newer. I need to check the build log one more time (there is some black magic in there), but I was pretty sure that this hasn't been changed.
> E/AndroidRuntime( 3525): at java.lang.Runtime.load(Runtime.java:331)
> E/AndroidRuntime( 3525): at java.lang.System.load(System.java:982)
> E/AndroidRuntime( 3525): at org.qtproject.qt5.android.QtNative$3.run(QtNative.java:239)
> E/AndroidRuntime( 3525): at org.qtproject.qt5.android.QtThread$2.run(QtThread.java:87)
> E/AndroidRuntime( 3525): at org.qtproject.qt5.android.QtThread$1.run(QtThread.java:61)
> E/AndroidRuntime( 3525): at java.lang.Thread.run(Thread.java:818)
> W/ActivityManager( 1487): Force finishing activity org.subsurfacedivelog.mobile/.SubsurfaceMobileActivity
> I/WindowManager( 1487): Screenshot max retries 4 of Token{16028d3 ActivityRecord{375c72c2 u0 org.subsurfacedivelog.mobile/.SubsurfaceMobileActivity t5 f}} appWin=Window{1939df4b u0 Starting org.subsurfacedivelog.mobile} drawState=4
>
>
>
> On android-28, it expoded a bit differently:
> 09-27 15:02:59.288 4776 4776 W edivelog.mobil: Accessing hidden field Landroid/graphics/NinePatch;->mNativeChunk:J (light greylist, reflection)
> 09-27 15:02:59.288 4776 4776 E edivelog.mobil: No implementation found for int[] org.qtproject.qt5.android.ExtractStyle.extractNativeChunkInfo20(long) (tried Java_org_qt
> project_qt5_android_ExtractStyle_extractNativeChunkInfo20 and Java_org_qtproject_qt5_android_ExtractStyle_extractNativeChunkInfo20__J)
That's odd - I've never seen anything like this.
> Whats the take away? Don't know. Either I can't build subsurface-mobile
> for x86_64 or somethings broken.
I haven't tried an Android-x86_64 build - I think ever. I used to build x86 a long time ago but stopped that as well.
I'll try the ARM7 Android 5.0 simulator to see if I can reproduce John's problem - I realize that almost all my testing is on ARM64 these days - but my Android 5.1 tablet is ARM7 as well, just as the device he produced the log from.
Thanks for your help tracking this down, Anton!
/D
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.subsurface-divelog.org/pipermail/subsurface/attachments/20190927/fedc8be5/attachment-0001.html>
More information about the subsurface
mailing list