GNOME Bugzilla – Bug 654767
shlib downgrade at update atk-1.32.0 to atk-2.0.1
Last modified: 2011-07-19 10:26:09 UTC
On NetBSD-5.1, atk-1.32.0: libatk-1.0.so.0.3209.1 atk-2.0.1: libatk-1.0.so.0.10.1 DOWNGDADED! It is because ATK_API_VERSION is still 1.0, but it is only calculated with atk_minor_version and atk_micro_version. If atk-2 is ABI compatible with 1.32, shlib minor should be something like 20010, instead of 10 so that it will be greater than 3209. atk_binary_age and lt_current should be pulsed "10000 * atk_major_version"? The other hand, in comment of atk_api_version definition, "Ths is expected to stay 1.0 until Atk 2. IT IS ATK-2. so atk_version is missing bumped at updated atk to 2.0?
Under Mac OS X this problem is not only cosmetic it actually breaks existing applications after you upgrade ATK to 2.0.1: > xchat dyld: Library not loaded: /usr/pkg/lib/libatk-1.0.0.dylib Referenced from: /usr/pkg/bin/xchat Reason: Incompatible library version: xchat requires version 3210.0.0 or later, but libatk-1.0.0.dylib provides version 11.0.0 zsh: trace trap xchat
(In reply to comment #0) > On NetBSD-5.1, > > atk-1.32.0: libatk-1.0.so.0.3209.1 > atk-2.0.1: libatk-1.0.so.0.10.1 > > DOWNGDADED! > > It is because ATK_API_VERSION is still 1.0, but it is only calculated with > atk_minor_version and atk_micro_version. I think that instead of ATK_API_VERSION, the solution would be use atk_major_version here. > If atk-2 is ABI compatible with 1.32, > shlib minor should be something like 20010, instead of 10 > so that it will be greater than 3209. > > atk_binary_age and lt_current should be pulsed "10000 * atk_major_version"? > > The other hand, in comment of atk_api_version definition, > "Ths is expected to stay 1.0 until Atk 2. > > IT IS ATK-2. > > so atk_version is missing bumped at updated atk to 2.0? atk-2.0.1 is still API and ABI compatible. So the API version is still 1.0, and it will be in this case until atk-3.0 Li required to update the library version number for any reason. I don't know why, so Li if you are reading this ...). The ideal solution would be bump all the stuff from 1.0 to 2.0, but that would mean that the apps using atk should require to link against a different library. Taking into account that libatk-2.0.1 is still fully API and ABI compatible with libatk-1.32.0 I think that the easiest solution is add the atk_major_version on the binary_age
Created attachment 192173 [details] [review] Using atk_major_version on the binary age
(In reply to comment #1) > Under Mac OS X this problem is not only cosmetic it actually breaks existing > applications after you upgrade ATK to 2.0.1: > > > > xchat > dyld: Library not loaded: /usr/pkg/lib/libatk-1.0.0.dylib > Referenced from: /usr/pkg/bin/xchat > Reason: Incompatible library version: xchat requires version 3210.0.0 or > later, but libatk-1.0.0.dylib provides version 11.0.0 > zsh: trace trap xchat Could you test the patch that I have just attached and check if solves the problem?
The provided patch fixes the problem under NetBSD/amd64 5.1_STABLE and Mac OS 10.6.8. Thanks a lot for the quick response.
(In reply to comment #5) > The provided patch fixes the problem under NetBSD/amd64 5.1_STABLE and Mac OS > 10.6.8. Thanks a lot for the quick response. Ok, thanks for your answer. Anyway, I will not apply this patch now. Before of that I would like a review from Li (atk maintainer), and in the same way asking about the 2.0 bump I hope to get the answer for all those questions before next release.
I am OK with the patch. The reason I release ATK 2.0 is simple, we want to keep the minor version in sync with GNOME's minor version, just like Orca or mousetweaks. We have a long way to go to archive next version of ATK (version 3), so I thought it doesn't hurt to release ATK 2.0.
(In reply to comment #7) > I am OK with the patch. The reason I release ATK 2.0 is simple, we want to keep > the minor version in sync with GNOME's minor version, just like Orca or > mousetweaks. > > We have a long way to go to archive next version of ATK (version 3), so I > thought it doesn't hurt to release ATK 2.0. Ok, thanks for the explanation. And it seems that you applied the patch but didn't close the bug. Doing now. Thanks.