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

Libraries missing DT_SONAME #188

Closed
pfn opened this issue Apr 1, 2016 · 4 comments
Closed

Libraries missing DT_SONAME #188

pfn opened this issue Apr 1, 2016 · 4 comments

Comments

@pfn
Copy link

pfn commented Apr 1, 2016

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"
@saudet
Copy link
Member

saudet commented Apr 2, 2016

Sure, but do you know why we need to specify the soname manually?

@pfn
Copy link
Author

pfn commented 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
Copy link
Member

saudet commented 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
Copy link
Member

saudet commented May 19, 2016

Fix included in version 1.2. Thanks for reporting!

@saudet saudet closed this as completed May 19, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants