Closed
Description
Lack of DT_SONAME on native libraries leads to an annoying error popup on Android N-preview,
please add -Wl,-soname,libXXXXX.so
to the linker flags for at least the libraries below, thanks!
W (28643) linker : /data/app/com.hanhuy.android.vision-1/lib/arm/libjniopencv_core.so: is missing DT_SONAME will use basename as a replacement: "libjniopencv_core.so"
W (28643) linker : /data/app/com.hanhuy.android.vision-1/lib/arm/libjniopencv_imgproc.so: is missing DT_SONAME will use basename as a replacement: "libjniopencv_imgproc.so"
W (28643) linker : /data/app/com.hanhuy.android.vision-1/lib/arm/libjniopencv_imgcodecs.so: is missing DT_SONAME will use basename as a replacement: "libjniopencv_imgcodecs.so"
W (28643) linker : /data/app/com.hanhuy.android.vision-1/lib/arm/libjniopencv_videoio.so: is missing DT_SONAME will use basename as a replacement: "libjniopencv_videoio.so"
W (28643) linker : /data/app/com.hanhuy.android.vision-1/lib/arm/libjniopencv_highgui.so: is missing DT_SONAME will use basename as a replacement: "libjniopencv_highgui.so"
W (28643) linker : /data/app/com.hanhuy.android.vision-1/lib/arm/libjniopencv_ml.so: is missing DT_SONAME will use basename as a replacement: "libjniopencv_ml.so"
W (28643) linker : /data/app/com.hanhuy.android.vision-1/lib/arm/libjniopencv_objdetect.so: is missing DT_SONAME will use basename as a replacement: "libjniopencv_objdetect.so"
Activity
saudet commentedon Apr 2, 2016
Sure, but do you know why we need to specify the soname manually?
* Set the internal DT_SONAME field in libraries created for Android …
pfn commentedon Apr 2, 2016
I don't know why it's being flagged now, but soname is typically used for
library versioning. I don't know why the makefiles for these aren't already
setting them. It should be an automatic part of any library build...
saudet commentedon Apr 2, 2016
JavaCPP is its own little build system, and there's no versioning for DLLs on Windows, so it just doesn't do any of that for portability reasons.
It's kind of strange that Android now requires something used for versioning, while it doesn't even support versioning itself. Oh well, whatever.
saudet commentedon May 19, 2016
Fix included in version 1.2. Thanks for reporting!