-
Notifications
You must be signed in to change notification settings - Fork 158
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
Shared library without SO version suffix, wrong SONAME ELF field #698
Comments
Hello, sorry for the delay in response. I have a possible fix for aws-c-common, and I'll be trying to apply that to any other affected libraries. |
A quick update on this issue: we merged a fix for aws-c-common, and we should be able to cut a new release soon. We are still in the process of spreading that fix to our other libraries. |
OK, thanks! |
We just cut a new release for this library; the fix is in v0.4.59. |
Closing this issue as a fix was released in v0.4.59. If you have any further question or request feel free to contact the team through the submission of a new GitHub issue or discussion. Best regards, Yasmine |
In (#691), the SO version field was removed from the shared library meaning that the symbolic to the shared library file is unversioned which is - as far as I know - not allowed (see: https://tldp.org/HOWTO/Program-Library-HOWTO/shared-libraries.html).
The proper versioning scheme must include the SO version as a suffix which changes whenever the library's API is changed in an incompatible way.
And the suffix must match what it's in the SONAME ELF field.
Currently, libaws-c-common has:
0x000000000000000e (SONAME) Library soname: [libaws-c-common.so.1.0.0]
which incorrectly includes the version of the library.
Comparing with other libraries:
libaws-c-common:
Other shared libraries:
These libraries all have symbolic links corresponding to their SONAME, i.e.
libacl.so.1.1.2253
haslibacl.so.1
.The text was updated successfully, but these errors were encountered: