Opened 7 years ago

Closed 7 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 in reply to:  description ; Changed 7 years ago by ryandesign (Ryan Carsten Schmidt)

Replying to ryandesign:

I'm unclear why or how the version of libgdk_pixbuf in MacPorts regressed to an earlier version.

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 and gdk_pixbuf_interface_age were changed in 9e87fc089b90a52fd1c2a26769c94dcd843f6a29.

comment:2 in reply to:  1 ; Changed 7 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 7 years ago by ryandesign (Ryan Carsten Schmidt)

Cc: dbevans removed
Owner: set to dbevans
Port: gdk-pixbuf2 added
Status: newassigned
Summary: gimp2: links with newer version of libgdk_pixbuf than MacPorts providesgdk-pixbuf2 @2.36.4: library version number regressed

comment:4 in reply to:  2 Changed 7 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 not been revbumped thereafter. I think hat should be sufficient.

Let me know if you have any further suggestions or candidates.

Last edited 7 years ago by dbevans (David B. Evans) (previous) (diff)

comment:5 Changed 7 years ago by dbevans (David B. Evans)

In caee6a7b/macports-ports:

gimp2, gimp2-devel, gimp3-devel: add gdk-pixbuf2 dependency and rebuild

See: #53334

comment:6 Changed 7 years ago by dbevans (David B. Evans)

Resolution: fixed
Status: assignedclosed

In 10cd1dbc/macports-ports:

possibly broken GNOME ports: add gdk-pixbuf2 dependency and rebuild

Closes: #53334

This fixes the remaining instances of this problem that I could identify.
If additional candidates are found, please open new tickets as required.

Note: See TracTickets for help on using tickets.