I am trying to test my android app which has OpenCL native code. I have Huawei P10 which has Android Nougat. It has Cortex A53 & Cortex A73 CPUs and Mali G71 bifrost GPU. I could not link libOpenCL.so at runtime as its always showing linker failure error ""/system/vendor/lib64/egl/libGLES_mali.so" ("/vendor/lib64/egl/libGLES_mali.so") needed or dlopened by libOpenCL.so" is not accessible for the namespace [name="classloader-namespace]". if either libOpenCL.so or libGLES_mali.so is a private library, Is there any other OpenCL library that can be used to run OpenCL on Mali G71. I'm using ARM Compute OpenCL library at compile time. During runtime, its searching in system path. As a result, I'm getting access issue. Has anyone encountered this issue?
I encountered a similar problem when porting an OpenCL app to Huawei honor 8.
https://community.arm.com/graphics/f/discussions/8698/dlopen-failure-when-running-opencl/29358#29358
Instead of linking libOpenCL.so, I linked directly against libGLES_mali.so and the error went away.
Hello chertio,I tried what you suggested. I'm facing this error. Have you encountered this before?ERROR: The DDK is not compatible with any of the Mali GPUs on the system. The DDK was built for 0x880 r2p0 status range [0..15], but none of the GPUs matched: E/mali: /dev/mali0 detected as 0x60a0 r0p0 status 2
Where did you get your Mali driver library from? That looks like you are trying to use a driver library from a device with a Mali-T880 GPU on a different device which has a Mali-G71 GPU.
You must use the driver libraries which shipped on the device you are running the application on.
Pete
I am having same problem on honor 8, with Xamarine. What do you mean you linked "directly" with libGLES_mali.so? Is it unroofed? You gave full path of /system/vendor/lib//eg/libGLES_mali.so? I see the file there on device but when doing dllimport it just throws a not found exception.
i am trying that with with exact same code that works fine on Galaxy Tab pro (except for runtime location).
Very disappointing. The Honor 8 was heavily advertised as having OpenCL, and it being actively used for graphics enhancements. But turns out it is locked down and usable. Waste of time.