Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

libjniopencv_core.so cannot locate symbol #65

Closed
cangelis opened this issue Dec 11, 2014 · 4 comments
Closed

libjniopencv_core.so cannot locate symbol #65

cangelis opened this issue Dec 11, 2014 · 4 comments
Labels

Comments

@cangelis
Copy link

FFMpegGrabber.start doesn't work because of the error. Here is the full stacktrace:

12-11 03:48:11.558: E/art(28044): dlopen("/data/app/co.foreight.app-2/lib/arm/libjniopencv_core.so", RTLD_LAZY) failed: dlopen failed: cannot locate symbol "_ZN2cv11seqPopMultiEP5CvSeqPvii" referenced by "libjniopencv_core.so"...
12-11 03:48:11.558: W/System.err(28044): java.lang.UnsatisfiedLinkError: dlopen failed: cannot locate symbol "_ZN2cv11seqPopMultiEP5CvSeqPvii" referenced by "libjniopencv_core.so"...
12-11 03:48:11.558: W/System.err(28044):    at java.lang.Runtime.loadLibrary(Runtime.java:371)
12-11 03:48:11.558: W/System.err(28044):    at java.lang.System.loadLibrary(System.java:989)
12-11 03:48:11.558: W/System.err(28044):    at org.bytedeco.javacpp.Loader.loadLibrary(Loader.java:535)
12-11 03:48:11.558: W/System.err(28044):    at org.bytedeco.javacpp.Loader.load(Loader.java:410)
12-11 03:48:11.558: W/System.err(28044):    at org.bytedeco.javacpp.Loader.load(Loader.java:353)
12-11 03:48:11.558: W/System.err(28044):    at org.bytedeco.javacpp.opencv_core.<clinit>(opencv_core.java:10)
12-11 03:48:11.558: W/System.err(28044):    at java.lang.Class.classForName(Native Method)
12-11 03:48:11.558: W/System.err(28044):    at java.lang.Class.forName(Class.java:308)
12-11 03:48:11.558: W/System.err(28044):    at org.bytedeco.javacpp.Loader.load(Loader.java:385)
12-11 03:48:11.559: W/System.err(28044):    at org.bytedeco.javacpp.Loader.load(Loader.java:353)
12-11 03:48:11.559: W/System.err(28044):    at org.bytedeco.javacpp.helper.opencv_core$AbstractArray.<clinit>(opencv_core.java:126)
12-11 03:48:11.559: W/System.err(28044):    at org.bytedeco.javacv.FFmpegFrameGrabber.startUnsafe(FFmpegFrameGrabber.java:463)
12-11 03:48:11.559: W/System.err(28044):    at org.bytedeco.javacv.FFmpegFrameGrabber.start(FFmpegFrameGrabber.java:340)
12-11 03:48:11.559: W/System.err(28044):    at co.foreight.plugin.VideoPlugin.handle(VideoPlugin.java:57)
12-11 03:48:11.559: W/System.err(28044):    at co.foreight.plugin.VideoPlugin.execute(VideoPlugin.java:30)
12-11 03:48:11.559: W/System.err(28044):    at org.apache.cordova.CordovaPlugin.execute(CordovaPlugin.java:84)
12-11 03:48:11.559: W/System.err(28044):    at org.apache.cordova.PluginManager.exec(PluginManager.java:147)
12-11 03:48:11.559: W/System.err(28044):    at org.apache.cordova.CordovaBridge.jsExec(CordovaBridge.java:59)
12-11 03:48:11.559: W/System.err(28044):    at org.apache.cordova.ExposedJsApi.exec(ExposedJsApi.java:40)
12-11 03:48:11.559: W/System.err(28044):    at com.android.org.chromium.base.SystemMessageHandler.nativeDoRunLoopOnce(Native Method)
12-11 03:48:11.559: W/System.err(28044):    at com.android.org.chromium.base.SystemMessageHandler.handleMessage(SystemMessageHandler.java:28)
12-11 03:48:11.559: W/System.err(28044):    at android.os.Handler.dispatchMessage(Handler.java:102)
12-11 03:48:11.559: W/System.err(28044):    at android.os.Looper.loop(Looper.java:135)
12-11 03:48:11.559: W/System.err(28044):    at android.os.HandlerThread.run(HandlerThread.java:61)
12-11 03:48:11.559: W/System.err(28044): Caused by: java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/co.foreight.app-2/base.apk"],nativeLibraryDirectories=[/data/app/co.foreight.app-2/lib/arm, /vendor/lib, /system/lib]]] couldn't find "libgnustl_static.so"
12-11 03:48:11.559: W/System.err(28044):    at java.lang.Runtime.loadLibrary(Runtime.java:366)
12-11 03:48:11.559: W/System.err(28044):    at java.lang.System.loadLibrary(System.java:989)
12-11 03:48:11.559: W/System.err(28044):    at org.bytedeco.javacpp.Loader.loadLibrary(Loader.java:535)
12-11 03:48:11.559: W/System.err(28044):    at org.bytedeco.javacpp.Loader.load(Loader.java:401)

Looks like it can not find libgnustl_static.so but I have no idea what to do.

Thanks

saudet added a commit to bytedeco/javacpp-presets that referenced this issue Dec 11, 2014
@saudet saudet added the bug label Dec 11, 2014
@saudet
Copy link
Member

saudet commented Dec 11, 2014

The "caused by" bit is just a guess and in this case that's not what causes the error. That symbol is in fact not defined by OpenCV, so we need to ignore it. I've pushed some modifications (link above) that fixes that. Thanks for reporting!

@cangelis
Copy link
Author

I compiled the opencv again and it works great. Thank you very much!

@jarvischung
Copy link

About this case:
If I import Sugar DB lib and init the db lib.
The JavaCV doesn't use, I just init db then get the crash log as below:
Caused by: java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/xxx.xxx.xxx-2/base.apk"],nativeLibraryDirectories=[/data/app/xxx.xxx.app-2/lib/arm, /vendor/lib, /system/lib]]] couldn't find "libgnustl_static.so"

Thanks.

@saudet
Copy link
Member

saudet commented May 9, 2015

@jarvischung This is probably caused by ProGuard. Details here: #79 (comment)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants