Opened 8 years ago
Closed 8 years ago
#53334 closed defect (fixed)
gdk-pixbuf2 @2.36.4: library version number regressed
Reported by: | ryandesign (Ryan Carsten Schmidt) | Owned by: | dbevans (David B. Evans) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | |
Keywords: | Cc: | ||
Port: | gdk-pixbuf2, gimp2 |
Description
GIMP fails to launch:
Dyld Error Message: Library not loaded: /opt/local/lib/libgdk_pixbuf-2.0.0.dylib Referenced from: /Applications/MacPorts/GIMP.app/Contents/Resources/GIMP Reason: Incompatible library version: GIMP requires version 3602.0.0 or later, but libgdk_pixbuf-2.0.0.dylib provides version 3601.0.0
I'm unclear why or how the version of libgdk_pixbuf in MacPorts regressed to an earlier version.
I guess gimp2 needs to declare a dependency on gdk-pixbuf2, and to be revbumped.
Change History (6)
comment:1 follow-up: 2 Changed 8 years ago by ryandesign (Ryan Carsten Schmidt)
comment:2 follow-up: 4 Changed 8 years ago by ryandesign (Ryan Carsten Schmidt)
Replying to ryandesign:
So, anything that links with libgdk_pixbuf and hasn't been revbumped since gdk-pixbuf2 was updated to 2.36.3 needs to be revbumped now. And upstream should be asked not to do that again.
Or you could patch gdk-pixbuf2 to change the library version to once again be larger than 3602, maybe even convince upstream that they should own this bug and fix it on their end.
comment:3 Changed 8 years ago by ryandesign (Ryan Carsten Schmidt)
Cc: | dbevans removed |
---|---|
Owner: | set to dbevans |
Port: | gdk-pixbuf2 added |
Status: | new → assigned |
Summary: | gimp2: links with newer version of libgdk_pixbuf than MacPorts provides → gdk-pixbuf2 @2.36.4: library version number regressed |
comment:4 Changed 8 years ago by dbevans (David B. Evans)
Replying to ryandesign:
Replying to ryandesign:
So, anything that links with libgdk_pixbuf and hasn't been revbumped since gdk-pixbuf2 was updated to 2.36.3 needs to be revbumped now. And upstream should be asked not to do that again.
Or you could patch gdk-pixbuf2 to change the library version to once again be larger than 3602, maybe even convince upstream that they should own this bug and fix it on their end.
The problem is not that the compatibility version has regressed but that it was accidentally advanced. All versions of 2.36 are actually ABI compatible (other than the compatibility version).
The problem was introduced in gdk-pixbuf2 2.36.1 and fixed as you say in 2.36.3+ so only ports that linked against 2.36.1 or 2.36.2 when last installed/updated are effected. So everything that links with gdk-pixbuf2 is overkill. And restoring the error seems to be counter productive.
I've already revbumped the problem ports that I've run across so far, particular those that have binary archives linked against 2.36.1 or 2.36.2 and will do so with others as they become apparent. Making a list now of any ports that may remain. That is, those that were updated after 2.36.1 was committed and before 2.36.3 and have been revbumped thereafter. I think hat should be sufficient.
Let me know if you have any further suggestions or candidates.
comment:6 Changed 8 years ago by dbevans (David B. Evans)
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
Replying to ryandesign:
Looking into this now...
In gdk-pixbuf2 @2.36.0, the configure script says
LT_VERSION_INFO="3600:0:3600"
In gdk-pixbuf2 @2.36.1, the configure script says
LT_VERSION_INFO="3601:0:3601"
In gdk-pixbuf2 @2.36.2, the configure script says
LT_VERSION_INFO="3602:0:3602"
In gdk-pixbuf2 @2.36.3, the configure script says
LT_VERSION_INFO="3600:3:3600"
(the major version regressed)In gdk-pixbuf2 @2.36.4, the configure script says
LT_VERSION_INFO="3600:4:3600"
So, anything that links with libgdk_pixbuf and hasn't been revbumped since gdk-pixbuf2 was updated to 2.36.3 needs to be revbumped now. And upstream should be asked not to do that again.
This change doesn't appear to be intentional; it's not mentioned in the NEWS file. I guess it is an unintended side effect of the way that
lt_current
,lt_revision
,lt_age
are defined in configure.ac and the way that, in 2.36.3,gdk_pixbuf_micro_version
andgdk_pixbuf_interface_age
were changed in 9e87fc089b90a52fd1c2a26769c94dcd843f6a29.