Buildbot now fails to build wine dependencies

Ryan Schmidt ryandesign at
Tue Jun 27 09:31:42 UTC 2017

We used to be able to build wine on the buildbot, but we aren't anymore:

The error occurs when installing dependencies, specifically cairo:

> ----> Installing dependency (28 of 120) 'glib2' with variants '+universal+x11'
> ...
> --->  Deactivating glib2 @2.52.3_0+universal+x11
> ...

> ----> Installing dependency (55 of 120) 'cairo' with variants '+quartz+universal+x11'
> ...
> Error: glib2: Variant quartz conflicts with x11

The cairo port has for years had both x11 and quartz variants that are both enabled by default. The glib2 port recently got x11 and quartz variants added, and they conflict with one another, as they do in most ports that have them; the user must choose one or the other. The default is x11, as it is for other ports that have this choice.

I think the problem is that mpbb is explicitly specifying the variants when installing the dependencies, particularly since wine is 32-bit so it needs the dependencies installed with the universal variant, and when installing cairo with x11, quartz and universal, it is passing those variants down to cairo's dependencies, including glib2.

I don't know why mpbb is specifying all the variants when building dependencies. It seems like it would be enough to just specify universal, and let the port's default variants take care of the rest.

Many years ago, cairo used to require the user to select whether to use x11 or quartz, but then it became possible to use both at once, and the variants were kept in case there turned out to be some situations where having both backends available caused some problem. As far as I know, no such problem was found, so I could just remove the variants from the cairo port, which would fix the problem for cairo, but would not fix it for all the other ports that have conflicting x11 and quartz variants and depend on glib2, and there are a couple of those:

$ port echo variant:quartz and variant:x11 and depends:glib2

(Not all of these ports' x11 and quartz variants conflict.)

It's possible the problem only shows up when doing builds with non-default variants, which would only be universal at the moment.

More information about the macports-dev mailing list