You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Reported in version: 2.0.4 Reported for operating system, platform: Android (All), x86
Comments on the original bug report:
On 2016-09-25 10:51:48 +0000, Nix wrote:
With the move to 2.0.4 the java-wrapper for android project changes the location of the code that loads the shared-objects. Originally in the static {} constructor of SDLActivity it was moved to onCreate - On x86 devices that run emulated ARM this will crash. Moving the loadLibrary back to the static constructor fixed this.
[I can't compile x86 due to library restrictions)
On 2016-09-25 10:53:20 +0000, Nix wrote:
The bug will come in the form of unsupported e_machine: 40 bug while loading the shared-object.
On 2017-08-11 20:54:45 +0000, Sam Lantinga wrote:
Sylvain, this is a blocking bug, can you take a look at it?
Thanks!
On 2017-08-12 08:21:53 +0000, Sylvain wrote:
Created attachment 2827
patch to load from static context
Can you add more precisions to try this ?
I have no x86 android device. Can I use an android x86 emulator on my pc, that would run emulated ARM ? How to set this up ?
Did you try various arm abis (arm vs arm-v7a), and lastest ndk (ndk-r13b, r15).
Maybe, in the mean-times, you would have tested a newer version of your emulator ? (is this libhoudini ?)
Indeed java code that loads the shared objects has changed, with ticket # 2759, to add a popup when shared libraries fail to load.
And also, it also allow users to customize the list of libraries to load from a subclass (https://hg.libsdl.org/SDL/rev/9a0ebeef4988).
We can revert the loading to make them from a static context, and still have a pop-up when they fail to load.
But we will lose the customisation of libraries. (Do we really need this ? shared libraries dependencies seems automatically pulled)
Nix, can you confirm that Sylvain's patch fixes the bug for you?
On 2017-08-15 08:52:46 +0000, Nix wrote:
Hi,
At the time I tested on NDK 10e. Did not test on emulator.
From what I can tell, the patch only moves the list of libraries to load to a member method rather than in-function variables. I don't see a reason this will fix the binary loading on x86 as its practically the same?
I have never tried running the emulator so I don't really know.. I figured its not that good with graphics/heavy real time
On 2017-09-06 11:16:42 +0000, Sylvain wrote:
I tried the x86 emulator, but I think it has no arm translation brige enabled.
When I run an ARM .apk, it does not find the shared libraries.
So it does not even try to translate and execute them.
When having support for 3rd party plugins that can embed architecture-specific binaries, like Unity has, attention should be given to be sure these plugins are compatible with all the supported platforms. Before Android 5.0, it was possible to still load ARM libs from an x86 folder. But this isn’t possible anymore and leads to errors such has “dlopen failed: ‘libMyLib.so’ has unexpected e_machine: 40”. So plugins have to be upgraded to also include x86 binaries and the engine/service has to enforce that, in order to allow a smooth transition.
maybe you were also loading your arm library from the x86 folder ?
On 2017-09-06 12:17:30 +0000, Nix wrote:
Nope, our project only has ARM binaries, located in app\src\main\jniLibs\armeabi-v7a
This bug report was migrated from our old Bugzilla tracker.
These attachments are available in the static archive:
Reported in version: 2.0.4
Reported for operating system, platform: Android (All), x86
Comments on the original bug report:
On 2016-09-25 10:51:48 +0000, Nix wrote:
On 2016-09-25 10:53:20 +0000, Nix wrote:
On 2017-08-11 20:54:45 +0000, Sam Lantinga wrote:
On 2017-08-12 08:21:53 +0000, Sylvain wrote:
On 2017-08-12 22:11:17 +0000, Sam Lantinga wrote:
On 2017-08-15 08:52:46 +0000, Nix wrote:
On 2017-08-23 13:37:02 +0000, Sylvain wrote:
On 2017-09-04 09:29:37 +0000, Nix wrote:
On 2017-09-05 11:04:40 +0000, Sylvain wrote:
On 2017-09-06 08:02:24 +0000, Nix wrote:
On 2017-09-06 08:06:07 +0000, Sam Lantinga wrote:
On 2017-09-06 08:08:17 +0000, Nix wrote:
On 2017-09-06 11:16:42 +0000, Sylvain wrote:
On 2017-09-06 11:41:06 +0000, Sylvain wrote:
On 2017-09-06 12:17:30 +0000, Nix wrote:
On 2018-12-30 13:28:36 +0000, Sylvain wrote:
The text was updated successfully, but these errors were encountered: