gtk2 and gtk3 ports and +x11 vs +quartz variant worries

David Evans devans at macports.org
Mon Oct 10 23:06:06 CEST 2016


On 10/10/16 9:41 AM, Ken Cunningham wrote:
> Is there a wiki page I missed perhaps for how to sort out the conflicting requirements for +x11 and +quartz in the various gtk port implementations?
> 
> I understand the basic reasons for this, but  I quite frequently seem to find myself on the wrong side of the line with this.
> 
> Perhaps there is no answer to satisfy all requirements, and I get that. A 'cheat sheet' of what ports go with what variants (+x11 vs +quartz) would be nice, if anyone has that level of experience with it.
> 
> Best, Ken
> 
> 
> Here are this mornings issues (after 24 hours of compiling following yesterday's port selfupdate). I'm sure I'll eventually figure out how to straighten this out....
> 
> 
> port upgrade outdated led to -->
> 
> --->  Computing dependencies for gcr
> Error: org.macports.archivefetch for port gcr returned: gtk3 must be installed with +x11.
> 
> 
> $ sudo port install gtk3 +x11
> Error: org.macports.archivefetch for port gtk3 returned: gdk-pixbuf2 must be installed with +x11.
> 
> $ sudo port install gdk-pixbuf2 +x11
> sudo port install gdk-pixbuf2 +x11
> 
> --->  Found 42 broken file(s), matching files to ports   
> --->  Found 7 broken port(s), determining rebuild order
> --->  Rebuilding in order
>      gtk2 @2.24.31 +universal+x11
>      py27-pygtk @2.24.0 +quartz-x11
>      avahi @0.6.31 +gtk+gtk3+quartz
>      gtk-osx-application-gtk2 @2.0.8 +universal
>      libsexy @0.1.11 
>      hexchat @2.12.1 +quartz+ssl
>      webkit-gtk @2.4.11 +quartz+video
> 
> Error: org.macports.archivefetch for port py27-pygtk returned: gtk2 must be installed with +quartz.
> 

These are all legitimate and in my experience tend to come from trying to switch from building +x11 to building +quartz
without "cleaning the slate" as it were.  I always do this when switching like this (say with gimp2 that can build
either way).

sudo port install gimp2 (implied +x11 since it builds with x11 by default)
sudo port deactivate active
sudo port install gimp2 +quartz

This ensures that all the various sub-dependencies get built in the correct flavor.

Or install a separate MacPorts instance for building +quartz.  I've successfully done this as well.

I run into these issues alot with the GNOME ports because some GNOME ports can build +quartz but not all.  In
particular, ports that are part of the GNOME desktop infrastructure (e.g. gnome-desktop, gnome-settings-daemon) still
use X11 features directly and thus can't be built +quartz.  Others, like gcr, are just old implementations that use some
X11 hack instead of porting to a backend agnostic gtk3 implementation.

My general guidelines are this: if there is no +quartz variant, it builds with X11.  This includes ports with no variant
at all.  Only ports with +quartz variants should be assumed to build that way.

Dave




More information about the macports-users mailing list