I am porting an opencl application onto a Huawei honor8 phone, which comes with opencl. Also it is not rooted
When I ran my app, I got the error:
/system/vendor/lib64/egl/libGLES_mali.so" ("/vendor/lib64/egl/libGLES_mali.so") needed or dlopened by "/data/app/com.numericcal.ocl_peak-1/lib/arm64/libOpenCL.so" is not accessible for the namespace: [name="classloader-namespace", ld_library_paths="", default_library_paths="/data/app/com.numericcal.ocl_peak-1/lib/arm64:/data/app/com.numericcal.ocl_peak-1/base.apk!/lib/arm64-v8a:/.....
and the app crashes.
I actually have libGLES_mali.so placed under src/main/jniLibs/arm64-v8a along side whole bunch of other shared libs that libOpenCL.so depends on, I don't understand why this error pops up. (all the shared libs are pulled from the phone -- either from /vendor or /system directory)
Anyone have seen this before? Any good guess what I can do to fix it?
Thank you!
S Cheng
after some analysis it seems I need to link directly against libGLES_mali.so instead of libOpenCL.so, not sure if this is a vendor specific thing....
Ah, that might be due to libGLES_mali.so being linked to mali.so, which contains all the symbols for all the API supported by the chip's maker DDK.
Anyway, glad you solved this issue.