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
Cannot embed linux libraries ending with .so.1.0.0 #424
Comments
…ile names lookup (+ name treated as possible exact file name when it contains a dot ".", see issue #424)
Hi @rrva , Thanks for your report! Please let me know if it works in your case. Cheers |
My use case is I access a library on linux lets call it libUser.so It in turns depends on libSys.so. I cannot change/rebuild libSys.so, its from a third-party vendor. libSys.so depends on libcrypto.so.1.0.0 So, I need to embed libcrypto.so.1.0.0 for those systems missing it. For example Redhat 6.2 has it, but Redhat 5.3 not. Thanks for very prompt fixes and answers! I will try to test. |
Hi @rrva , Thanks for these details. @Library("User", dependencies = { "Sys" })
class UserLibrary {
static {
BridJ.addNativeLibraryDependencies("Sys", "crypto");
BridJ.setNativeLibraryActualName("crypto", "libcrypto.so.1.0.0");
BridJ.register();
}
...
} EDIT: now using There's non-negligible chances of this not working, in that case please let me know. Cheers |
It seems you cannot embed libraries which have a name containing .so.1.0.0
For example I have a transitive dependency on libcrypto.so.1.0.0, which I cannot embed for now.
Platform.getEmbeddedLibraryResource() assumes all libraries end with ".so"
An untested suggestion is:
I'll see if there are more bits which need fixing than this for a library name like "libcrypto.so.1.0.0"
The text was updated successfully, but these errors were encountered: