Closed GoogleCodeExporter closed 9 years ago
ServiceManager.java contains a static block of code which is used to load the
native library("libtinyWRAP.so"). According to your trace, loading the native
code fails with a SIGILL error (malformed binary code). Are you sure you are
using an ARM (v5te or later) emulator?
To fix the issue you have to rebuild "tinywrap" with debug symbols (-g option)
and send the log again.
Original comment by boss...@yahoo.fr
on 7 Jan 2011 at 3:38
Thank you for the tips... And yes I did see the static method loading
tinyWrap.so and the timing of that load operation and the trace displaying the
SIGILL error. I figured they were related but I wasn't sure what compiler
issues were causing the problem. Now that you explained it this way, makes
total sense (ARMv5 trying to ARMv7 wouldn't be too happy).
You solved my issue:
1. I had built Doubango w/ NEON optimizations (ARMv7).
2. But I was running an ARMv5 emulator (Win7 64-bit)
3. I rebuilt Doubango as you directed, ARMv5te target, with "-g -O0"
4. IMSDroid runs under emulation now!
Probably worth adding a line or two in the specs for folks that are rebuilding
Doubango as well as IMSDroid. Thanks for the guidance!
Original comment by rich.ho...@gmail.com
on 9 Jan 2011 at 11:21
The package manager should automatically detect your cpu before installing the
application. In your case (ARMv5te) the manager should choose
"imsdroid/libs/armeabi/libtinyWrap.so". Libraries build with NEON optimizations
MUST be copied to "imsdroid/libs/armeabi-v7a" instead of
"imsdroid/libs/armeabi".
Original comment by boss...@yahoo.fr
on 10 Jan 2011 at 5:47
OK, Just in testing mode I was deleting the pre-built stacks from SVN and
placing a Doubango version I built (ARMv5 or ARMv7) in the armeabi folder,
leaving armeabi-v7a empty, just trying to figure out what was going on...
Your packaging clarification makes it easier to support ARMv5 and ARMv7 without
resetting the libraries.
For me and my configuration, the critical part to get emulation working with a
home-built Doubango stack was ensuring I built Doubango with "-g -O0".
Original comment by rich.ho...@gmail.com
on 10 Jan 2011 at 5:55
You can leave the default (optimized) CFLAGS (-0s) unless you are debugging the
native code.
Original comment by boss...@yahoo.fr
on 11 Jan 2011 at 1:06
Original comment by boss...@yahoo.fr
on 13 Jan 2011 at 5:22
Original issue reported on code.google.com by
rich.ho...@gmail.com
on 6 Jan 2011 at 1:08