We try to use OpenCL on the board using MACE library. It seems OpenCL library is not accessible on the board, we're getting the following errors :
E/linker: library "/system/vendor/lib64/libOpenCL.so" ("/vendor/lib64/libOpenCL.so") needed or dlopened by "/data/app/com.mapbox.vision.teaser-Z24w2xgzilGUCXbduDriKg==/base.apk!/lib/arm64-v8a/libvision-sdk-wrapper.so" is not accessible for the namespace: [name="classloader-namespace", ld_library_paths="", default_library_paths="/data/app/com.mapbox.vision.teaser-Z24w2xgzilGUCXbduDriKg==/lib/arm64:/data/app/com.mapbox.vision.teaser-Z24w2xgzilGUCXbduDriKg==/base.apk!/lib/arm64-v8a", permitted_paths="/data:/mnt/expand:/data/data/com.mapbox.vision.teaser"]
Internet suggests to add libOpenCL.so to the /system/etc/public.libraries.txt (1, 2, 3), but that hadn't worked for us. Seems entries in the /system/etc/public.libraries.txt only list libraries at the /system/lib and not /system/vendor/lib64. So when we've added libOpenCL.so to this list device just wasn't able to boot after the reboot, complaining unable to load the libOpenCL.so.
We've tried to copy libOpenCL.so to /system/lib, which produced another error since libOpenCL depends on another library, that is also not in the /system/lib, that depend on another library and so on.
How could we correctly expose libOpenCL? Seems that there should be another public.libraries.txt listing exposed vendor libraries, but we were unable to locate one.