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
Unexpected soname change within 20210324 branch #950
Comments
Yes we do have stability within an LTS branch. Incrementing the |
@derekmauro Huh? So previous release got then next ? |
Some acceptable possibilities:
|
This was the choice that was made and our documentation was updated to not increment the soversion. Is that acceptable? |
Yes. By the way, what scheme of soversion is planned for future LTS branches? |
|
Usually soversion contains only one number. However GNU linker and ld.so (dynamic linker/loader) consider whole soname, treat it as string (not limited to sequence valid in UTF-8) and do not require that it actually contain any numbers:
Since you maybe want to use scheme with 3 numbers, if MacOS linker does not have more unexpected limitations, then maybe you can use |
Difference between abseil-cpp 20210324.0 and 20210324.1 includes:
CMake uses this
SOVERSION
property to specify arguments passed to linker which specify soname of created library.When creating some executable/library using some libraries, linker records sonames of used libraries in
NEEDED
entries in newly created executable/library.Soname of given library is expected to be changed only when there are incompatible changes in ABI of this library (e.g. deletions of public functions, classes etc.).
When soname of given library is changed, it is necessary to rebuild other packages which have executables/libraries linked against this library.
There were no incompatible changes in C++ API in this release (abseil-cpp 20210324.1) and it seems unexpected that there would be such incompatible changes in future releases within this LTS branch.
Does abseil-cpp guarantee stable API/ABI within given LTS branch?
If yes, then you should reconsider future values of
SOVERSION
property. One of ways of avoiding ambiguity of what value should be used forSOVERSION
property would be to use only major version of abseil-cpp, e.g.SOVERSION "20210324"
.The text was updated successfully, but these errors were encountered: