Conversation
|
Maybe we should choose some middle ground, for example only break ABI compatibility in minor releases, but preserve it in patch releases (including dnn and gapi). For me it seems that breaking changes are not that frequent, but by tying users to every patch version we can cause headaches to alternative distribution maintainers: rolling-release Linux distros and C++ package managers (conan, vcpkg, conda). |
|
Unfortunately almost every quarterly release we have some issues with ABI compatibility. 5.x series is planed to be released as 5.0.0, 5.1.0, 5.2.0, 5.3.0, 5.4.0, 5.5.0, 5.6.0, etc. Without any Alternative is to compress SOVERSION a bit:
|
|
One more alternative suggestion for OpenCV 5.x.
Please use 👍 👎 under this comment. |
|
I think that adding version to the name is not a good idea if we are not changing things dramatically. I think that the variant proposed in this PR is good enough without compression. |
Hm? You can use /usr/bin/abidiff from (lib)abigail-tools, which does not depend on any particular compiler support other than that debug info (-g) should be there (for accurate results). |
|
Discussed with @vpisarev @asmorkalov 4.x:
5.x:
|
- OpenCV 4.x doesn't guarantee or maintain ABI compatibility - We should increase SO version on each release
|
👍 |
|
readelf -d /bin/opencv_version 0x0000000000000001 (NEEDED) Shared library: [libopencv_core.so.4.5] abi_ver is already with 2 versions i.e is already 4.5 , I didn't understood this change ... |
|
|
yes and it doesn't "increase SO version on each release" just from release 4.5.x to release 4.6.0 , like it was done before, I mean abi_ver also just change from release 4.5.x to release 4.6.0 but 4.5 to 4.6 . |
|
Scheme is the following:
|
|
It might have been implied but not that explicit, does this mean that from 4.5.5, patch releases maintain ABI compatibility? |
all versions do not maintain the ABI , that is why on Fedora we have opencv-4.5.2 on F34, opencv-4.5.3 fc35 and 4.5.5 on rawhide , the ABI compatibility is not guaranteed |
|
thanks @sergiomb2 ! |
|
soname changed by opencv/opencv#21178
resolves #20878
Library symlinks:
Application information:
outdated initial proposal
Library symlinks:
Application information: