Opened 13 years ago

Closed 12 years ago

#31303 closed defect (duplicate)

libglade2 binary package links against libgtk-x11 even with gtk2 +quartz

Reported by: kliuless@… Owned by: macports-tickets@…
Priority: Normal Milestone:
Component: ports Version: 2.0.3
Keywords: Cc: drkp (Dan Ports), Greisby (Greisberger Christophe), ak.ml@…
Port: libglade2

Description

I have "+no_x11 +quartz" in my /opt/local/etc/macports/variants.conf file.

port install py27-gtk fails because it's looking for libgtk-x11-2.0.la . I tried the symlink workaround in ticket #22331 but now it complains about a missing libXinerama.la.

Using "grep libXinerama.la -r /opt/local/lib" I see /opt/local/lib/libglade-2.0.la which belongs to libglade2.

macports 2.0.3 installs libglade2 as a pre-built binary linked to x11 libs, as evidenced by "otool -L /opt/local/lib/libglade-2.0.0.0.7.dylib".

Is there a workaround for this? Is it possible to force a local build of libglade2, and would that even help? (I'm ultimately trying to install kate which depends on py27-gtk.)

Change History (6)

comment:1 Changed 13 years ago by mf2k (Frank Schima)

Keywords: py27-gtk libglade2 pre-built removed

comment:2 Changed 13 years ago by drkp (Dan Ports)

Cc: dports@… added
Port: libglade2 added; py27-gtk removed
Summary: Can't build py27-gtk with "+no_x11 +quartz" due to pre-built libglade2libglade2 binary package links against libgtk-x11 even with gtk2 +quartz

I was about to file a ticket about this myself. I've noticed this issue with libglade2 and libgnomecanvas. Probably there are other ports too, but I haven't run into them yet.

As a workaround, you can force a build from source with port -s install libglade2

One way to solve this might be to have a dummy +quartz variant that just serves to distinguish the binary packages. (Really, it should depend on the +quartz variant of gtk2, but we can't do variant dependencies.)

comment:3 Changed 13 years ago by drkp (Dan Ports)

Cc: greisberger@… ak.ml@… added

Has duplicate #31558

comment:4 Changed 13 years ago by drkp (Dan Ports)

I added a dummy +quartz variant to libgnomecanvas and libglade2 in r85431, which should solve the problem for now.

It's not a great fix, so I'll leave this bug open.

Other gtk2 dependents will probably have the same problem, so we should think about doing something like separate subports for the quartz versions of these ports, perhaps through a gtk portgroup. See also http://lists.macosforge.org/pipermail/macports-dev/2011-September/016287.html

comment:5 Changed 13 years ago by jmroot (Joshua Root)

Yeah, variants have always been an insufficient tool for making a change that causes dependents to build differently as well, binaries just make it clearer. Ports with no dependents (or only dependents that don't change in response to the dependency's +quartz variant) can still use a variant, but that variant will have to change the deps from e.g. gtk2-x11 to gtk2-quartz (and those would have to be subports).

comment:6 Changed 12 years ago by jmroot (Joshua Root)

Resolution: duplicate
Status: newclosed
Note: See TracTickets for help on using tickets.