Problems compiling opencv for android from source (Android 4.1.1)

221 views
Skip to first unread message

Dmitry

unread,
Aug 3, 2012, 12:18:38 AM8/3/12
to android...@googlegroups.com
Hi,

I am using Android OS 4.1.1, and I am unable to run opencv apps after the upgrading the OS from 4.0. I noticed that the Opencv Manager was recently updated, and since then the sample apps have started to work again. However, I would like to avoid using OpenCV manager because I don't want the multi-step installation process (I'll probably port the code to the new paradigm eventually). 

In any case, I assume that the problems have been fixed and so I cloned the git repository. Went into the opencv\android directory. Ran scritpts\cmake_android.cmd and it appeared to have built the interface correctly. In eclipse I deleted the reference to the old opencv binary package and imported the 'build' directory (armeabi-v7a - tried neon as well). Everything compiles fine (after updating project preferences), but when I try to run the project I get the following log entries:

08-02 22:58:07.254: D/AndroidRuntime(2318): >>>>>> AndroidRuntime START com.android.internal.os.RuntimeInit <<<<<<
08-02 22:58:07.254: D/AndroidRuntime(2318): CheckJNI is OFF
08-02 22:58:07.317: D/dalvikvm(2318): Trying to load lib libjavacore.so 0x0
08-02 22:58:07.325: D/dalvikvm(2318): Added shared lib libjavacore.so 0x0
08-02 22:58:07.340: D/dalvikvm(2318): Trying to load lib libnativehelper.so 0x0
08-02 22:58:07.340: D/dalvikvm(2318): Added shared lib libnativehelper.so 0x0
08-02 22:58:07.364: W/dalvikvm(2318): Exception Ljava/lang/NullPointerException; thrown while initializing Ljava/lang/System;
08-02 22:58:07.364: W/dalvikvm(2318): Exception Ljava/lang/ExceptionInInitializerError; thrown while initializing Ljava/lang/ClassLoader$SystemClassLoader;
08-02 22:58:07.364: W/dalvikvm(2318): WARNING: system class loader is NULL (setting main ctxt)
08-02 22:58:07.364: W/dalvikvm(2318): Warning: tracked references remain post-initialization
08-02 22:58:07.364: W/dalvikvm(2318): MAIN reference table (0x41379e68) dump:
08-02 22:58:07.364: W/dalvikvm(2318):   Last 1 entries (of 1):
08-02 22:58:07.364: E/dalvikvm(2318): Class lookup Ljava/lang/Daemons; attempted with exception pending
08-02 22:58:07.364: W/dalvikvm(2318): Pending exception is:
08-02 22:58:07.364: I/dalvikvm(2318): java.lang.ExceptionInInitializerError:
08-02 22:58:07.364: I/dalvikvm(2318): at java.lang.ClassLoader.getSystemClassLoader(ClassLoader.java:125)
08-02 22:58:07.364: I/dalvikvm(2318): at dalvik.system.NativeStart.main(Native Method)
08-02 22:58:07.364: I/dalvikvm(2318): Caused by:
08-02 22:58:07.364: I/dalvikvm(2318): java.lang.ExceptionInInitializerError:
08-02 22:58:07.364: I/dalvikvm(2318): at java.lang.ClassLoader.createSystemClassLoader(ClassLoader.java:100)
08-02 22:58:07.364: I/dalvikvm(2318): at java.lang.ClassLoader.access$000(ClassLoader.java:65)
08-02 22:58:07.364: I/dalvikvm(2318): at java.lang.ClassLoader$SystemClassLoader.<clinit>(ClassLoader.java:81)
08-02 22:58:07.364: I/dalvikvm(2318): at java.lang.ClassLoader.getSystemClassLoader(ClassLoader.java:125)
08-02 22:58:07.364: I/dalvikvm(2318): at dalvik.system.NativeStart.main(Native Method)
08-02 22:58:07.364: I/dalvikvm(2318): Caused by:
08-02 22:58:07.364: I/dalvikvm(2318): java.lang.NullPointerException:
08-02 22:58:07.372: I/dalvikvm(2318): at java.util.Hashtable.put(Hashtable.java:365)
08-02 22:58:07.372: I/dalvikvm(2318): at java.lang.System.initSystemProperties(System.java:286)
08-02 22:58:07.372: I/dalvikvm(2318): at java.lang.System.getProperties(System.java:260)
08-02 22:58:07.372: I/dalvikvm(2318): at java.lang.System.getProperty(System.java:425)
08-02 22:58:07.372: I/dalvikvm(2318): at java.lang.System.getProperty(System.java:406)
08-02 22:58:07.372: I/dalvikvm(2318): at java.lang.System.<clinit>(System.java:90)
08-02 22:58:07.372: I/dalvikvm(2318): at java.lang.ClassLoader.createSystemClassLoader(ClassLoader.java:100)
08-02 22:58:07.372: I/dalvikvm(2318): at java.lang.ClassLoader.access$000(ClassLoader.java:65)
08-02 22:58:07.372: I/dalvikvm(2318): at java.lang.ClassLoader$SystemClassLoader.<clinit>(ClassLoader.java:81)
08-02 22:58:07.372: I/dalvikvm(2318): at java.lang.ClassLoader.getSystemClassLoader(ClassLoader.java:125)
08-02 22:58:07.372: I/dalvikvm(2318): at dalvik.system.NativeStart.main(Native Method)
08-02 22:58:07.372: I/dalvikvm(2318): DALVIK THREADS:
08-02 22:58:07.372: I/dalvikvm(2318): (mutexes: tll=0 tsl=0 tscl=0 ghl=0)
08-02 22:58:07.372: I/dalvikvm(2318): "main" prio=5 tid=1 RUNNABLE
08-02 22:58:07.372: I/dalvikvm(2318):   | group="main" sCount=0 dsCount=0 obj=0x41389568 self=0x41379a18
08-02 22:58:07.372: I/dalvikvm(2318):   | sysTid=2318 nice=0 sched=0/0 cgrp=default handle=1074497072
08-02 22:58:07.372: I/dalvikvm(2318):   | schedstat=( 0 0 0 ) utm=14 stm=7 core=1
08-02 22:58:07.372: I/dalvikvm(2318):   at dalvik.system.NativeStart.main(Native Method)
08-02 22:58:07.372: E/dalvikvm(2318): VM aborting
08-02 22:58:07.372: A/libc(2318): Fatal signal 11 (SIGSEGV) at 0xdeadd00d (code=1), thread 2318 (app_process)
08-02 22:58:07.489: I/DEBUG(123): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
08-02 22:58:07.489: I/DEBUG(123): Build fingerprint: 'google/mysid/toro:4.1.1/JRO03H/336647:user/release-keys'
08-02 22:58:07.489: I/DEBUG(123): pid: 2318, tid: 2318, name: app_process  >>> app_process <<<
08-02 22:58:07.489: I/DEBUG(123): signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr deadd00d
08-02 22:58:07.559: I/DEBUG(123):     r0 00000000  r1 be969d90  r2 deadd00d  r3 00000000
08-02 22:58:07.559: I/DEBUG(123):     r4 407f81b8  r5 0000020c  r6 41379a18  r7 41374ec0
08-02 22:58:07.559: I/DEBUG(123):     r8 00000000  r9 407e0120  sl 00000000  fp ffffff8c
08-02 22:58:07.559: I/DEBUG(123):     ip 407f3d6c  sp be96a1d8  lr 400efa1d  pc 40793f74  cpsr 60070030
08-02 22:58:07.559: I/DEBUG(123):     d0  74726f6261204d56  d1  000000000000006e
08-02 22:58:07.559: I/DEBUG(123):     d2  7953247265646175  d3  73616c436d65746c
08-02 22:58:07.559: I/DEBUG(123):     d4  56d5278856d52750  d5  56d527f856d527c0
08-02 22:58:07.559: I/DEBUG(123):     d6  56d5286856d52830  d7  56d528d856d528a0
08-02 22:58:07.559: I/DEBUG(123):     d8  0000000000000000  d9  0000000000000000
08-02 22:58:07.559: I/DEBUG(123):     d10 0000000000000000  d11 0000000000000000
08-02 22:58:07.559: I/DEBUG(123):     d12 0000000000000000  d13 0000000000000000
08-02 22:58:07.559: I/DEBUG(123):     d14 0000000000000000  d15 0000000000000000
08-02 22:58:07.559: I/DEBUG(123):     d16 0000000000001b0a  d17 0000000000001b0a
08-02 22:58:07.559: I/DEBUG(123):     d18 0000000000000000  d19 0000000000000000
08-02 22:58:07.559: I/DEBUG(123):     d20 0000000000000000  d21 0000000000000000
08-02 22:58:07.559: I/DEBUG(123):     d22 0000000000000000  d23 0000000000000000
08-02 22:58:07.559: I/DEBUG(123):     d24 0000000000000000  d25 0000000000000000
08-02 22:58:07.559: I/DEBUG(123):     d26 0000000000000000  d27 0000000000000000
08-02 22:58:07.559: I/DEBUG(123):     d28 0000000000000000  d29 0000000000000000
08-02 22:58:07.559: I/DEBUG(123):     d30 0000000000000000  d31 0000000000000000
08-02 22:58:07.559: I/DEBUG(123):     scr 60000010
08-02 22:58:07.559: I/DEBUG(123): backtrace:
08-02 22:58:07.559: I/DEBUG(123):     #00  pc 00045f74  /system/lib/libdvm.so (dvmAbort+75)
08-02 22:58:07.559: I/DEBUG(123):     #01  pc 00069b1f  /system/lib/libdvm.so
08-02 22:58:07.559: I/DEBUG(123):     #02  pc 0006a90d  /system/lib/libdvm.so (dvmFindSystemClass(char const*)+2)
08-02 22:58:07.559: I/DEBUG(123):     #03  pc 00054adb  /system/lib/libdvm.so (dvmGcStartupClasses()+6)
08-02 22:58:07.559: I/DEBUG(123):     #04  pc 000478f3  /system/lib/libdvm.so (dvmStartup(int, char const* const*, bool, _JNIEnv*)+6010)
08-02 22:58:07.559: I/DEBUG(123):     #05  pc 0004d9c1  /system/lib/libdvm.so (JNI_CreateJavaVM+544)
08-02 22:58:07.559: I/DEBUG(123):     #06  pc 00047c79  /system/lib/libandroid_runtime.so (android::AndroidRuntime::startVm(_JavaVM**, _JNIEnv**)+1216)
08-02 22:58:07.559: I/DEBUG(123):     #07  pc 000480c9  /system/lib/libandroid_runtime.so (android::AndroidRuntime::start(char const*, char const*)+176)
08-02 22:58:07.559: I/DEBUG(123):     #08  pc 00000dcf  /system/bin/app_process
08-02 22:58:07.559: I/DEBUG(123): stack:
08-02 22:58:07.559: I/DEBUG(123):          be96a198  0003dfff  
08-02 22:58:07.559: I/DEBUG(123):          be96a19c  0003e025  
08-02 22:58:07.559: I/DEBUG(123):          be96a1a0  401196f8  /system/lib/libc.so
08-02 22:58:07.567: I/DEBUG(123):          be96a1a4  401196f8  /system/lib/libc.so
08-02 22:58:07.567: I/DEBUG(123):          be96a1a8  4011f63c  
08-02 22:58:07.567: I/DEBUG(123):          be96a1ac  400efa1d  /system/lib/libc.so (__sflush_locked+24)
08-02 22:58:07.567: I/DEBUG(123):          be96a1b0  40119798  /system/lib/libc.so
08-02 22:58:07.567: I/DEBUG(123):          be96a1b4  401196f8  /system/lib/libc.so
08-02 22:58:07.567: I/DEBUG(123):          be96a1b8  00000000  
08-02 22:58:07.567: I/DEBUG(123):          be96a1bc  400f09f9  /system/lib/libc.so (_fwalk+32)
08-02 22:58:07.567: I/DEBUG(123):          be96a1c0  407f81b8  /system/lib/libdvm.so
08-02 22:58:07.567: I/DEBUG(123):          be96a1c4  0000020c  
08-02 22:58:07.567: I/DEBUG(123):          be96a1c8  41379a18  [heap]
08-02 22:58:07.567: I/DEBUG(123):          be96a1cc  41374ec0  [heap]
08-02 22:58:07.567: I/DEBUG(123):          be96a1d0  df0027ad  
08-02 22:58:07.567: I/DEBUG(123):          be96a1d4  00000000  
08-02 22:58:07.567: I/DEBUG(123):     #00  be96a1d8  742f3831  
08-02 22:58:07.567: I/DEBUG(123):          be96a1dc  6c756e28  
08-02 22:58:07.567: I/DEBUG(123):          be96a1e0  0000296c  
08-02 22:58:07.567: I/DEBUG(123):          be96a1e4  00000000  
08-02 22:58:07.567: I/DEBUG(123):          be96a1e8  00000000  
08-02 22:58:07.567: I/DEBUG(123):          be96a1ec  00000000  
08-02 22:58:07.567: I/DEBUG(123):          be96a1f0  00000000  
08-02 22:58:07.567: I/DEBUG(123):          be96a1f4  00000000  
08-02 22:58:07.567: I/DEBUG(123):          be96a1f8  00000000  
08-02 22:58:07.567: I/DEBUG(123):          be96a1fc  00000000  
08-02 22:58:07.567: I/DEBUG(123):          be96a200  00000000  
08-02 22:58:07.567: I/DEBUG(123):          be96a204  00000000  
08-02 22:58:07.567: I/DEBUG(123):          be96a208  00000000  
08-02 22:58:07.567: I/DEBUG(123):          be96a20c  00000000  
08-02 22:58:07.567: I/DEBUG(123):          be96a210  00000000  
08-02 22:58:07.567: I/DEBUG(123):          be96a214  00000000  
08-02 22:58:07.567: I/DEBUG(123):          ........  ........
08-02 22:58:07.567: I/DEBUG(123):     #01  be96a3f0  ffffff8c  
08-02 22:58:07.567: I/DEBUG(123):          be96a3f4  4079f175  /system/lib/libdvm.so (dvmDumpReferenceTableContents(Object* const*, unsigned int, char const*)+580)
08-02 22:58:07.567: I/DEBUG(123):          be96a3f8  00000001  
08-02 22:58:07.567: I/DEBUG(123):          be96a3fc  be96a440  [stack]
08-02 22:58:07.567: I/DEBUG(123):          be96a400  00003000  
08-02 22:58:07.567: I/DEBUG(123):          be96a404  00000022  
08-02 22:58:07.567: I/DEBUG(123):          be96a408  00003000  
08-02 22:58:07.567: I/DEBUG(123):          be96a40c  400ee6fb  /system/lib/libc.so (mmap+60)
08-02 22:58:07.567: I/DEBUG(123):          be96a410  ffffffff  
08-02 22:58:07.567: I/DEBUG(123):          be96a414  00000000  
08-02 22:58:07.567: I/DEBUG(123):          be96a418  00002008  
08-02 22:58:07.567: I/DEBUG(123):          be96a41c  00000007  
08-02 22:58:07.567: I/DEBUG(123):          be96a420  0000200b  
08-02 22:58:07.567: I/DEBUG(123):          be96a424  400ea2cf  /system/lib/libc.so (dlmalloc+5326)
08-02 22:58:07.567: I/DEBUG(123):          be96a428  ffffffff  
08-02 22:58:07.567: I/DEBUG(123):          be96a42c  00000000  
08-02 22:58:07.567: I/DEBUG(123):          ........  ........
08-02 22:58:07.567: I/DEBUG(123):     #02  be96a478  41379a18  [heap]
08-02 22:58:07.567: I/DEBUG(123):          be96a47c  407a2adf  /system/lib/libdvm.so (dvmGcStartupClasses()+10)
08-02 22:58:07.575: I/DEBUG(123): memory near r1:
08-02 22:58:07.575: I/DEBUG(123):     be969d70 400bb0bd 407d928e be969dbc 00000000  ...@..}@........
08-02 22:58:07.575: I/DEBUG(123):     be969d80 41374ec0 400bb277 00000000 00000006  .N7Aw..@........
08-02 22:58:07.575: I/DEBUG(123):     be969d90 be969d8c 00000001 407d928e 00000009  ..........}@....
08-02 22:58:07.575: I/DEBUG(123):     be969da0 be969dbc 0000000c 4011eae4 407d928e  ...........@..}@
08-02 22:58:07.575: I/DEBUG(123):     be969db0 00000006 400bb4bf be96a1d4 61204d56  .......@....VM a
08-02 22:58:07.575: I/DEBUG(123): memory near r4:
08-02 22:58:07.575: I/DEBUG(123):     407f8198 00000000 00000000 00000000 00000000  ................
08-02 22:58:07.575: I/DEBUG(123):     407f81a8 00000000 00000000 00000000 00000000  ................
08-02 22:58:07.575: I/DEBUG(123):     407f81b8 413796f0 413796d0 00800000 10000000  ..7A..7A........
08-02 22:58:07.575: I/DEBUG(123):     407f81c8 04000000 00004000 00006000 00000001  .....@...`......
08-02 22:58:07.575: I/DEBUG(123):     407f81d8 00000101 00000002 00000001 00000000  ................
08-02 22:58:07.575: I/DEBUG(123): memory near r6:
08-02 22:58:07.575: I/DEBUG(123):     413799f8 00000000 00000000 00000000 00000013  ................
08-02 22:58:07.575: I/DEBUG(123):     41379a08 00000000 00000800 4109d008 00000453  ...........AS...
08-02 22:58:07.575: I/DEBUG(123):     41379a18 00000000 410fdfe8 00000000 00000000  .......A........
08-02 22:58:07.575: I/DEBUG(123):     41379a28 00000000 00000000 00000000 00000000  ................
08-02 22:58:07.575: I/DEBUG(123):     41379a38 00000000 00000001 00000000 4076c180  ..............v@
08-02 22:58:07.575: I/DEBUG(123): memory near r7:
08-02 22:58:07.575: I/DEBUG(123):     41374ea0 41374cf0 00000000 72657375 6765722e  .L7A....user.reg
08-02 22:58:07.575: I/DEBUG(123):     41374eb0 3d6e6f69 00005355 41374eb6 41374ea8  ion=US...N7A.N7A
08-02 22:58:07.575: I/DEBUG(123):     41374ec0 41374ef0 00000000 00000000 00000000  .N7A............
08-02 22:58:07.575: I/DEBUG(123):     41374ed0 00000000 00000000 00000000 00000000  ................
08-02 22:58:07.575: I/DEBUG(123):     41374ee0 00000000 00000000 00000000 00000000  ................
08-02 22:58:07.575: I/DEBUG(123): memory near r9:
08-02 22:58:07.575: I/DEBUG(123):     407e0100 20646c75 20746f6e 74696e69 696c6169  uld not initiali
08-02 22:58:07.575: I/DEBUG(123):     407e0110 6320657a 7373616c 72745320 00676e69  ze class String.
08-02 22:58:07.575: I/DEBUG(123):     407e0120 76616a4c 616c2f61 442f676e 6f6d6561  Ljava/lang/Daemo
08-02 22:58:07.575: I/DEBUG(123):     407e0130 003b736e 65726874 64696461 3a64253d  ns;.threadid=%d:
08-02 22:58:07.575: I/DEBUG(123):     407e0140 616e7520 20656c62 61206f74 25206464   unable to add %
08-02 22:58:07.575: I/DEBUG(123): memory near ip:
08-02 22:58:07.575: I/DEBUG(123):     407f3d4c 40015907 400ebf99 400e37e1 400f7869  .Y.@...@.7.@ix.@
08-02 22:58:07.575: I/DEBUG(123):     407f3d5c 400e2330 400e72fc 400ef741 400e7d20  0#.@.r.@A..@ }.@
08-02 22:58:07.575: I/DEBUG(123):     407f3d6c 400efa31 400f762f 400e7894 400521f8  1..@/v.@.x.@.!.@
08-02 22:58:07.575: I/DEBUG(123):     407f3d7c 400e3568 400ee6bf 400e878d 400f7889  h5.@...@...@.x.@
08-02 22:58:07.575: I/DEBUG(123):     407f3d8c 400c0de8 400e2d40 400f7afd 400f75e5  ...@@-.@.z.@.u.@
08-02 22:58:07.575: I/DEBUG(123): memory near sp:
08-02 22:58:07.575: I/DEBUG(123):     be96a1b8 00000000 400f09f9 407f81b8 0000020c  .......@...@....
08-02 22:58:07.575: I/DEBUG(123):     be96a1c8 41379a18 41374ec0 df0027ad 00000000  ..7A.N7A.'......
08-02 22:58:07.575: I/DEBUG(123):     be96a1d8 742f3831 6c756e28 0000296c 00000000  18/t(null)......
08-02 22:58:07.575: I/DEBUG(123):     be96a1e8 00000000 00000000 00000000 00000000  ................
08-02 22:58:07.575: I/DEBUG(123):     be96a1f8 00000000 00000000 00000000 00000000  ................
08-02 22:58:07.575: I/DEBUG(123): code around pc:
08-02 22:58:07.575: I/DEBUG(123):     40793f54 34bcf8d3 ecacf7d7 461d2300 b1525d1a  ...4.....#.F.]R.
08-02 22:58:07.575: I/DEBUG(123):     40793f64 18ad3301 7f00f5b3 e004d1f8 4a0a4798  .3...........G.J
08-02 22:58:07.575: I/DEBUG(123):     40793f74 f7d77015 490ceca4 4a0c2006 44794c0c  .p.....I. .J.LyD
08-02 22:58:07.575: I/DEBUG(123):     40793f84 447c447a eb56f7d7 f7d72000 6ca3ebfc  zD|D..V.. .....l
08-02 22:58:07.575: I/DEBUG(123):     40793f94 d1eb2b00 bf00e7eb deadd00d 0005fbcc  .+..............
08-02 22:58:07.575: I/DEBUG(123): code around lr:
08-02 22:58:07.575: I/DEBUG(123):     400ef9fc bd702000 bd704628 4604b570 447e4e08  . p.(Fp.p..F.N~D
08-02 22:58:07.575: I/DEBUG(123):     400efa0c 68336836 f000b10b 4620fa4c ffcaf7ff  6h3h....L. F....
08-02 22:58:07.575: I/DEBUG(123):     400efa1c 68304605 4620b110 fa50f000 bd704628  .F0h.. F..P.(Fp.
08-02 22:58:07.575: I/DEBUG(123):     400efa2c 00029a7a 4604b570 4811b928 e8bd4478  z...p..F(..HxD..
08-02 22:58:07.575: I/DEBUG(123):     400efa3c f0004070 4e0fbfcb 6836447e b10b6833  p@.....N~D6h3h..
08-02 22:58:07.575: I/DEBUG(123): memory map around fault addr deadd00d:
08-02 22:58:07.575: I/DEBUG(123):     be94a000-be96b000 [stack]
08-02 22:58:07.575: I/DEBUG(123):     (no map for address)
08-02 22:58:07.575: I/DEBUG(123):     ffff0000-ffff1000 [vectors]
08-02 22:58:07.614: I/BootReceiver(290): Copying /data/tombstones/tombstone_04 to DropBox (SYSTEM_TOMBSTONE)

Any ideas what might be causing this?

Thanks,
Dmitry

Alexander Smorkalov

unread,
Aug 3, 2012, 2:27:32 AM8/3/12
to android...@googlegroups.com
Hello, Dmitry,

Do you try to execute any example from build catalog? Try to reproduce the problem with one of OpenCV example application.
BTW, We work on improvement of OpenCV Manager based initialization. I believe that installation process will be simpler in the future OpenCV releases.

Regards, Alexander

Andrey Pavlenko

unread,
Aug 3, 2012, 8:31:48 AM8/3/12
to android...@googlegroups.com
After successful build of OpenCV for Android run the 'make install' in the build folder to get a kind of SDK in 'install' folder similar to the one from SourceForge.
But I'd recommend you use OpenCV Manager approach to benefit from numerous advantages of this new approach.
BTW, the multi step installation happens only on the 1st app using OpenCV Manager!

Dmitry

unread,
Aug 4, 2012, 2:30:23 PM8/4/12
to android...@googlegroups.com
In the end it turned out to be a problem with "ADB install" command. I can no longer use adb to install my app... If anyone know why that might be please let me know.
Reply all
Reply to author
Forward
0 new messages