I have built OpenSSL for Android. This has generated a so with an extension in the format .so.1.0.0, and a symlink with the extension.so. This of course is a problem for Android, as it expects all shared libraries to have an extension in the format .so.
(Additionally, I have some other prebuilt libraries that require on a file with the name libssl.so.)
Therefore I need a library to end with .so, and all libraries that depend on it to link to a file with the extension .so. The OpenSSL instructions here: http://wiki.openssl.org/index.php/Android suggest renaming the file to libssl.so. Which I have done.
However, the library still has the soname "libssl.so.1.0.0" When I try and build my own libraries (which also need openSSL) using the ajb-tools (https://subversion.assembla.com/svn/ajb-tools/trunk/android/android-cross/android-cross), using -lopenssl
it generates shared objects which apparently require the library file in the format libssl.so.1.0.0, a file that didn't exist anymore at build time. At runtime, the Android app complains it can't find this file.
I have tried putting -l:libssl.so
in the makefile of my library, to no avail. readelf -d
still reports my libraries need libssl.so.1.0.0.
Is there any way to force a library to link to a specific file name. Or do I have to build OpenSSL in such a way that it generates a library that has its soname set to ".so"?