Opened 9 years ago

Last modified 2 years ago

#718 assigned defect

Support x86, and possibly MIPS on Android

Reported by: sponge Owned by: Meeh
Priority: minor Milestone: eventually
Component: apps/android Version: 0.9.1
Keywords: Cc:
Parent Tickets: Sensitive: no


Note to self: :-)

WARNING: Resource name [] was not found
WARNING: Native CPUID library jcpuid not loaded - will not be able to read CPU information using CPUID
WARNING: jbigi loadLibrary() fail
java.lang.UnsatisfiedLinkError: Couldn't load jbigi: findLibrary returned null
        at java.lang.Runtime.loadLibrary(
        at java.lang.System.loadLibrary(
        at net.i2p.util.NativeBigInteger.loadGeneric(
        at net.i2p.util.NativeBigInteger.loadNative(
        at net.i2p.util.NativeBigInteger.<clinit>(
        at net.i2p.crypto.YKGenerator.<clinit>(
        at net.i2p.crypto.ElGamalEngine.<init>(
        at net.i2p.I2PAppContext.initializeElGamalEngine(
        at net.i2p.I2PAppContext.elGamalEngine(
        at net.i2p.router.Router.warmupCrypto(
        at net.i2p.router.Router.runRouter(
        at net.i2p.router.Router.main(
        at net.i2p.router.RouterLaunch.main(
WARNING: Native BigInteger library jbigi not loaded - using pure Java - poor performance may result - see http://www.i2p2.i2p/jbigi for help
Reseed start
Reseeding from
ERROR [Reseed      ] net.i2p.util.SSLEepGet        : All key store loads failed, will only load local certificates
checking for Android bug
Test failed for: exp=64, act=896
Android BitSet bug detected, workaround implemented!


Change History (8)

comment:1 Changed 8 years ago by str4d

Milestone: 0.9.3

comment:2 Changed 7 years ago by zzz

Component: package/otherapps/android
Milestone: 0.9.14

related/dup: #1203

Last edited 7 years ago by zzz (previous) (diff)

comment:3 Changed 7 years ago by zzz

Owner: changed from sponge to str4d
Status: newassigned

Reassigning to str4d as he is working on this

comment:4 Changed 7 years ago by str4d

Status: assignedtesting files for x86 and MIPS can be built as of a03b4a542c4c26d11441da6d8dbba735aab2127a. They now need to be tested.

comment:5 Changed 7 years ago by str4d


I have updated the build script for GMP 6.0.0 and rebuilt the armeabi, as well as building one for armeabi-v7a. Pushed in 702df64c3fbc493243d142b32449666b19d23e2d. The armeabi-v7a binary is particularly handy; newer devices will see a speedup as they will now use the newer CPU features. From tests on my local device:

armeabi:     native = 77% of pure java time
armeabi-v7a: native = 62% of pure java time

x86 and MIPS still require testing. The x86 binary causes the x86 emulator to hang (API 21), or crash (API 19) with exceeds size of memVRTable. This might be an emulator issue, but it is probably a compilation issue.

comment:6 Changed 6 years ago by str4d

Found a bug: jbigi.c was being compiled and linked with completely different flags to libgmp. Somehow this worked on ARM but blew up the x86 emulator. Fixed in aac87c1a3b9a643ae34e705195eace8645838533.

The emulator runs fine now at API 21, but still crashes on API 19. API 10 runs fine though, which is strange. x86 and MIPS libjbigi.sos have been checked in; if nothing else, it will be useful to see what crash reports are returned on Google Play.

comment:7 Changed 2 years ago by zzz

Status: testingneeds_work

reopening after 4 years in testing

comment:8 Changed 2 years ago by zzz

Owner: changed from str4d to Meeh
Status: needs_workassigned
Note: See TracTickets for help on using tickets.