Opened 9 years ago

Closed 7 years ago

Last modified 7 years ago

#49331 closed defect (wontfix)

gtk2 silent build breakage with gdk-pixbuf2@2.32.1_0+bundle

Reported by: help@… Owned by: dbevans (David B. Evans)
Priority: Normal Milestone:
Component: ports Version: 2.3.4
Keywords: Cc:
Port: gdk-pixbuf2 gtk2

Description

gtk2 build process calls just compiled and not yet installed gtk-update-icon-cache which doesn't work when gdk-pixbuf2 is compiled with bundle variant enabled (see #46685). Build carries on, but resulting library is missing stock icons, which can be confirmed with gtk-demo application (Stock Item and Icon Browser example). 2 solutions are possible: 1). set GDK_PIXBUF_MODULE_FILE environment variable to correct loaders.cache file path; 2). or remove bundle variant from gdk-pixbuf2. First solution is basically a workaround and not a fix IMHO. I like second solution better, because I don't think bundle variant in gdk-pixbuf2 is useful - it has nothing to do with application bundling, where you will have to set GDK_PIXBUF_MODULE_FILE anyway (../lib will be incorrect, because binary is in MacOS directory, not Resources/bin), so the only scenario where it's useful is smth like "mv /opt/local /usr/local" which will break other gtk stuff anyway.

Change History (4)

comment:1 Changed 9 years ago by help@…

Just to clarify - bundle variant in gtk2 port is useful and in fact required for bundling, so don't touch it;) As far as I know it doesn't break compiling of other packages, only produces runtime errors when used outside of bundle.

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

Owner: changed from macports-tickets@… to dbevans
Status: newaccepted

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

Resolution: wontfix
Status: acceptedclosed

The problem described only applies if gdk-pixbuf2 +bundle is (mis-)used outside of application bundles. Since this variant is not the default this generally not a problem.

Only use +bundle when building application bundles please and even then setting the GDK_PIXBUF_MODULE_FILE environment variable within the bundle might be a better approach.

Leaving as is for now.

comment:4 Changed 7 years ago by parafin

How running "port install gtk2" command is a "misuse of gdk-pixbuf2"? I'm using +bundle variant of gtk2 correctly for bundles and installed gdk-pixbuf2 with the same variant accidentally (because I've put bundle in etc/macports/variants.conf). It eventually resulted in hard-to-debug silently broken gtk2 build. I've of course already fixed my error, but others may stumble onto this. If you're unwilling to remove useless and malign bundle variant of gdk-pixbuf2, then at least consider adding big fat warning (like it was done for gtk2 port).

Note: See TracTickets for help on using tickets.